JP2007179483A - 情報処理装置、情報処理方法 - Google Patents
情報処理装置、情報処理方法 Download PDFInfo
- Publication number
- JP2007179483A JP2007179483A JP2005380161A JP2005380161A JP2007179483A JP 2007179483 A JP2007179483 A JP 2007179483A JP 2005380161 A JP2005380161 A JP 2005380161A JP 2005380161 A JP2005380161 A JP 2005380161A JP 2007179483 A JP2007179483 A JP 2007179483A
- Authority
- JP
- Japan
- Prior art keywords
- virtual object
- interference
- virtual
- information processing
- setting
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】 仮想現実空間もしくは複合現実空間中において、一定の範囲で自由に変形可能な素材を含む仮想物体の干渉状態を簡便にユーザに提示する為の技術を提供すること。
【解決手段】 包含物体モデル404、仮想物体に関連付けられた第1領域を仮想空間中に配置すると共に、第n領域に包含される第(n+1)領域を設定する処理を、n=1〜(N−1)(N≧2)について行う(S1010)。そして、第1乃至Nの領域のそれぞれと、箱モデル402との干渉の有無を判定し(S1070)、干渉してると判定した場合には、干渉している旨を報知する(S1090)。
【選択図】 図8
【解決手段】 包含物体モデル404、仮想物体に関連付けられた第1領域を仮想空間中に配置すると共に、第n領域に包含される第(n+1)領域を設定する処理を、n=1〜(N−1)(N≧2)について行う(S1010)。そして、第1乃至Nの領域のそれぞれと、箱モデル402との干渉の有無を判定し(S1070)、干渉してると判定した場合には、干渉している旨を報知する(S1090)。
【選択図】 図8
Description
本発明は、仮想空間中に配置した仮想物体を取り扱うための技術に関するものである。
仮想空間中に配置された仮想物体を操作することで様々なシミュレーションを行う仮想現実感システムが、バーチャル・リアリティの分野において盛んに提案されている。例えば非特許文献1では、ユーザ(使用者)が、仮想のシステムキッチン内に存在する扉の開閉や、蛇口の操作を体験することができると開示している。このような仮想現実感システムでは、ユーザの頭部の動きに合わせてコンピュータグラフィックス(CG:Computer Graphics)で描画した仮想空間の映像を生成し、ヘッドマウントディスプレイ(HMD:Head−Mounted Display)などの表示装置に表示する、これにより、仮想現実感映像をシステムのユーザ(使用者)に提示する。
また、現実空間と仮想空間とを違和感なく自然に合成する複合現実感(MR:Mixed Reality)の技術を応用したシステムも盛んに提案されている。このような複合現実感システムでは、カメラなどの撮像装置によって撮影した現実空間の映像に対し、ユーザの頭部の動きに合わせてCGで描画した仮想空間の映像を合成し、HMD等の表示装置に表示する。これにより、複合現実感映像をシステムのユーザ(使用者)に提示する。
一方、仮想物体同士の干渉状態(お互いの仮想物体同士がどのような位置関係で干渉している/干渉していないか)をシミュレーションする技術についても提案がなされている。例えば、非特許文献2では、仮想物体を取り囲むバウンディングボックスと呼ばれる仮想の立体を生成し、バウンディングボックス同士が干渉(Intersection)しているか否かを判定する。そして、干渉している場合はさらに詳細に判定を行うことで、仮想物体の干渉状態を効率的に判定する技術が開示されている。
近年、製品の試作工程の確認作業を、現実のモックアップを製造することなく、仮想現実感技術、若しくは複合現実感技術を利用したシミュレーションによって簡便に実現する試作レスシステムが注目されている。この試作レスシステムの例としては、設計段階のカメラや複写機のCADデータをもとに、それらの仮想物体をHMDに表示することで、頭部位置に追従させて実際の大きさを確認するものが挙げられる。また他の例として、複写機のカートリッジを工場間で搬送するための箱(通い箱)の大きさをシミュレーションするものが挙げられる。
この通い箱の例では、複写機のカートリッジを梱包材で包み、箱に詰める作業をシミュレーションする必要がある。このとき、梱包材の部分は、梱包材の素材によっては箱との干渉時に一定の範囲で伸縮する。しかし、従来技術として述べたバウンディングボックスを利用した方法では、固体の物体(Solid Object)同士の干渉状態しかユーザに提示することはできない。このように少なくとも一方が一定の範囲で自由に伸縮可能な仮想物体の干渉状態を、ユーザに提示することができず、改善が求められていた。
また、特許文献1では、2つの仮想物体が干渉したときに、仮想物体の面、稜線、頂点の座標を、その仮想物体が膨張または縮小する方向へ移動させる技術が開示されている。
「今村,野村,大畑:仮想空間意思決定支援システムVSDSSとそのショウルームへの応用,ヒューマンインタフェースシンポジウム(1991.10),pp.203−208」 「Real−Time Rendering Second Edition(Tomas Akenine−Moller,Eric Haines著.A K Peters, Ltd.),Chapter.13−14」 特開平1−292474号公報
「今村,野村,大畑:仮想空間意思決定支援システムVSDSSとそのショウルームへの応用,ヒューマンインタフェースシンポジウム(1991.10),pp.203−208」 「Real−Time Rendering Second Edition(Tomas Akenine−Moller,Eric Haines著.A K Peters, Ltd.),Chapter.13−14」
しかし、上記特許文献1に開示されている技術を用いても、上記で述べたような一定の範囲で自由に伸縮する仮想物体の干渉状態をユーザに提示することはできなかったため、改善が求められていた。
本発明は以上の問題に鑑みてなされたものであり、仮想現実空間もしくは複合現実空間中において、一定の範囲で自由に変形可能な素材を含む仮想物体の干渉状態を簡便にユーザに提示する為の技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、第1の仮想物体と第2の仮想物体との干渉の状況を判断するための情報処理方法であって、
前記第1の仮想物体に関連付けて複数の領域を設定する設定工程と、
前記複数の領域と第2の仮想物体との干渉を判定する判定工程と、
前記判定工程で干渉してると判定された領域から、前記第1の仮想物体と第2の仮想物体との干渉の状況を判断する判断工程と
を備えることを特徴とする。
前記第1の仮想物体に関連付けて複数の領域を設定する設定工程と、
前記複数の領域と第2の仮想物体との干渉を判定する判定工程と、
前記判定工程で干渉してると判定された領域から、前記第1の仮想物体と第2の仮想物体との干渉の状況を判断する判断工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。
即ち、視点に応じた仮想画像を生成する情報処理方法であって、
第1の仮想物体を仮想空間中に配置する工程と、
前記第1の仮想物体に関連付けて複数の領域を設定する第1の設定工程と、
第2の仮想物体を前記仮想空間中に配置する工程と、
前記第2の仮想物体に関連付けて複数の領域を設定する第2の設定工程と、
前記第1の設定工程で設定したそれぞれの領域と、前記第2の設定工程で設定したそれぞれの領域との干渉の有無を判定する判定工程と、
前記判定工程で干渉していると判定した場合には、干渉している旨を報知する報知工程と
を備えることを特徴とする。
第1の仮想物体を仮想空間中に配置する工程と、
前記第1の仮想物体に関連付けて複数の領域を設定する第1の設定工程と、
第2の仮想物体を前記仮想空間中に配置する工程と、
前記第2の仮想物体に関連付けて複数の領域を設定する第2の設定工程と、
前記第1の設定工程で設定したそれぞれの領域と、前記第2の設定工程で設定したそれぞれの領域との干渉の有無を判定する判定工程と、
前記判定工程で干渉していると判定した場合には、干渉している旨を報知する報知工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、第1の仮想物体と第2の仮想物体との干渉の状況を判断するための情報処理装置であって、
前記第1の仮想物体に関連付けて複数の領域を設定する設定手段と、
前記複数の領域と第2の仮想物体との干渉を判定する判定手段と、
前記判定手段が干渉してると判定された領域から、前記第1の仮想物体と第2の仮想物体との干渉の状況を判断する判断手段と
を備えることを特徴とする。
前記第1の仮想物体に関連付けて複数の領域を設定する設定手段と、
前記複数の領域と第2の仮想物体との干渉を判定する判定手段と、
前記判定手段が干渉してると判定された領域から、前記第1の仮想物体と第2の仮想物体との干渉の状況を判断する判断手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。
即ち、視点に応じた仮想画像を生成する情報処理装置であって、
第1の仮想物体を仮想空間中に配置する手段と、
前記第1の仮想物体に関連付けて複数の領域を設定する第1の設定手段と、
第2の仮想物体を前記仮想空間中に配置する手段と、
前記第2の仮想物体に関連付けて複数の領域を設定する第2の設定手段と、
前記第1の設定手段によって設定したそれぞれの領域と、前記第2の設定手段によって設定したそれぞれの領域との干渉の有無を判定する判定手段と、
前記判定手段が干渉していると判定した場合には、干渉している旨を報知する報知手段と
を備えることを特徴とする。
第1の仮想物体を仮想空間中に配置する手段と、
前記第1の仮想物体に関連付けて複数の領域を設定する第1の設定手段と、
第2の仮想物体を前記仮想空間中に配置する手段と、
前記第2の仮想物体に関連付けて複数の領域を設定する第2の設定手段と、
前記第1の設定手段によって設定したそれぞれの領域と、前記第2の設定手段によって設定したそれぞれの領域との干渉の有無を判定する判定手段と、
前記判定手段が干渉していると判定した場合には、干渉している旨を報知する報知手段と
を備えることを特徴とする。
本発明の構成により、仮想現実空間もしくは複合現実空間中において、一定の範囲で自由に変形可能な素材を含む仮想物体の干渉状態を簡便にユーザに提示することができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、コンピュータ100、頭部装着部200、スタイラス302、センサ制御装置303により構成されている。
図1は、本実施形態に係るシステムのハードウェア構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムは、コンピュータ100、頭部装着部200、スタイラス302、センサ制御装置303により構成されている。
先ず、コンピュータ100について説明する。コンピュータ100は、同図に示す如く、CPU101、RAM102、画像出力装置103、ディスク装置105、入力装置106、画像入力装置107、システムバス104により構成されている。
CPU101は、RAM102に保持されているプログラムやデータを用いてコンピュータ100全体の制御を行うと共に、コンピュータ100が行う後述の各処理を実行する。更に、CPU101はシステムバス104に接続されており、RAM102、画像出力装置103、ディスク装置105、入力装置106、画像入力装置107と相互に通信することができる。
RAM102は、ディスク装置105からロードされたプログラムやデータ、入力装置106を介してセンサ制御装置303から受信した位置姿勢情報、ボタン操作情報を一時的に記憶するためのエリアを提供する。更に、CPU101が各処理を実行する際に用いるワークエリアも適宜提供する。なお、本実施形態では、RAM102内には、画像データを一時的に記憶するためのビデオバッファーを設けており、画像の描画は、このビデオバッファに対して行われるものとする。なお、ビデオバッファーはディスク装置105内に設けるようにしても良いし、設ける箇所は特に限定するものではない。
画像出力装置103は、グラフィックスカードなどの機器によって実現される。また一般的に、グラフィックスカードにはグラフィックスメモリが備わっている。CPU101による後述の各処理でもって生成した画像情報は、システムバス104を介してこのグラフィックスメモリ内に転送される。画像出力装置103は、このグラフィックスメモリ内に転送された画像情報を適切な画像信号に変換し、頭部装着部200が有する表示装置201に対して出力する。なお、グラフィックスメモリは必ずしも画像出力装置103が有することに限定するものではなく、例えば、RAM102内に設けるようにしても良い。
ディスク装置105は、OS(オペレーティングシステム)や、コンピュータ100が行う後述の各処理をCPU101に実行させるためのプログラムやデータを保存するものである。これらはCPU101による制御に従って適宜RAM102にロードされ、CPU101による処理対象となる。なお、ディスク装置105が保持するデータには、後述の説明において「既知のデータ」として扱っているものも含む。
入力装置106は、センサ制御装置303から送出された位置姿勢情報、ボタン操作情報を受けるためのインターフェースとして機能するものである。受けたこれらの情報はCPU101による制御に従ってRAM102、若しくはディスク装置105に送出される。
画像入力装置107は、キャプチャカードなどの機器によって構成されるものであり、頭部装着部200が有する撮像装置202から送出された各フレームの画像(現実空間の撮像画像)を受けるためのインターフェースとして機能するものである。受けた各フレームの画像のデータはCPU101による制御に従って順次、RAM102、若しくはハードディスク1204に送出される。
なお、頭部装着部200が有する表示装置201に光学シースルー型の表示装置を用いる場合や、頭部装着部200として現実映像を必要としない没入型の装置を用いる場合には、画像入力装置107は具備しなくてもよい。
システムバス104は、上述の各部を繋ぐものである。
次に、頭部装着部200について説明する。頭部装着部200は同図に示す如く、表示装置201、撮像装置202、センサ301により構成されている。表示装置201は、頭部装着部200を頭部に装着したユーザの眼前に位置するように頭部装着部200に取り付けられている。上述の通り、この表示装置201には、コンピュータ100から画像が送出されるので、表示装置201はこの画像を表示することになる。これにより、このユーザは眼前にこの画像を観察することができる。
撮像装置202は、CCDカメラ等の撮像デバイスを1以上備えるものであり、現実空間の動画像を撮像するものである。撮像した各フレームの画像(現実空間の撮像画像)は順次上記画像入力装置107に送出される。撮像した各フレームの画像は、例えば、アナログ信号、若しくはIEEE1394規格のデジタル信号等である。
なお、この撮像装置202は、現実空間を観察する視点として用いるので、頭部装着部200を頭部に装着するユーザの目の位置に近い箇所に取り付けることが好ましい。しかし、ユーザの目から見た現実空間の画像を取得することができるのであれば、その目的を達成するための手段については特に限定するものではない。例えば、ハーフミラーやプリズムなどを用いて撮像装置202の光軸と、表示装置201の中心軸とを一致させるようにしても良い。
また、表示装置201に光学シースルー型の表示装置を用いる場合、ユーザは表示装置201を通して現実空間を観察することになるため、撮像装置202は具備しなくてよい。また、頭部装着部200に現実映像を必要としない没入型の装置を用いる場合にも、撮像装置202は具備しなくてよい。
また、表示装置201は必ずしもユーザが装着する必要はない。即ち、ユーザが画像を観察可能な構成であれば、例えば、据え置き型のディスプレイ装置をこの表示装置201として用いても良いし、手持ち型のディスプレイを用いてもよい。
センサ301は、自身の位置姿勢を計測するものであり、計測結果はセンサ制御装置303に送出する。計測するための手段については様々なものが考えられ、特に限定するものではない。本実施形態では、センサ301でもって、撮像装置202の位置姿勢を計測するので、このセンサ301は、撮像装置202の位置近傍に取り付けることが好ましい。しかし、予めセンサ301と撮像装置202との位置姿勢関係を測定し、データとしてコンピュータ100側で管理しておけば、センサ301は別段、撮像装置202の位置近傍に取り付ける必要はない。これは、センサ301の計測値にこの位置姿勢関係を加算することで撮像装置202の位置姿勢を求めることができるからである。
なお、本実施形態では、頭部装着部200はユーザが頭部に装着することを前提としているが、ユーザが複合現実感を体験できる形態であれば、頭部装着部200は必ずしもユーザが装着する必要はない。
次に、スタイラス302について説明する。スタイラス302は、ペンに似た形状をしたデバイスであり、ユーザが手に持って使用する。図2はスタイラス302の外観の一例を示す図である。同図に示す如く、スタイラス302に備わっている位置姿勢センサ350は自身の位置姿勢を計測し、計測結果をセンサ制御装置303に送出する。なお、本実施形態では、スタイラス302の先端部分(同図鋭角部分)の位置姿勢を取得すべく、位置姿勢センサ350をスタイラス302の先端部分に取り付けるようにする。しかし、スタイラス302の先端部分の位置姿勢を取得することができるのであれば、これに限定するものではない。
以下の説明では、スタイラス302の先端部分の位置姿勢を「スタイラス302の位置姿勢」とする。ここで、スタイラス302の姿勢とは、同図点線で示すように、スタイラス302の軸の向きを示す。また、スタイラス302には操作ボタン304が備わっており、押下/非押下を示す信号もまたセンサ制御装置303に送出する。
次に、センサ制御装置303について説明する。センサ制御装置303は、上記センサ301から送出された位置姿勢を示す信号を受け、これに基づいてセンサ301の位置姿勢を求め、位置姿勢情報として上記入力装置106に送出する。また、センサ制御装置303は、位置姿勢センサ350から送出された位置姿勢を示す信号を受け、これに基づいてスタイラス302の位置姿勢を求め、位置姿勢情報として上記入力装置106に送出する。また、操作ボタン304の押下/非押下を示す信号を受け、これをボタン操作情報として上記入力装置106に送出する。
ここで、センサ301、センサ制御装置303、スタイラス302はセンサ部300を構成している。センサ部300は、位置姿勢を計測するための構成をまとめたもので、6自由度の位置姿勢計測装置によって実現される。ここで、センサ301、センサ制御装置303でもって、センサ301の位置姿勢を求める場合について説明する。この説明は、スタイラス302、センサ制御装置303を用いてスタイラス302の位置姿勢を求める場合も同じである。
センサ部300として磁気センサを用いた場合、現実空間中の既知の位置に磁気の発信源を設ける。センサ301は自身の位置姿勢に応じた磁気を検知し、検知した結果をセンサ制御装置303に送出する。センサ制御装置303は、受けた検知結果に基づいて、センサ301の位置姿勢を求める。この位置姿勢は、磁気の発信源の位置を原点とし、この原点で互いに直交する3軸をそれぞれx軸、y軸、z軸とする座標系(センサ座標系)におけるものである。このようにして、センサ301の位置姿勢を求めることができる。なお、周知の技術を用いれば、このセンサ座標系における位置姿勢を任意の座標系におけるものとすることもでき、必要であれば適宜行えばよい。
尚上述の通り、スタイラス302に備わっているセンサ350の位置姿勢を求める場合についても、同様の処理を行えばよい。また、この位置姿勢計測方法は一例であり、周知の通り、様々な方法が考えられる。
次に、形状を適宜変更可能な仮想物体(梱包物体モデル)でもって包まれた仮想物体(操作物体モデル)を、ユーザがスタイラス302を用いて移動操作し、箱の仮想物体(箱モデル)に収納する場合に、上記システムが行う処理について説明する。
ここでこれらの仮想物体が存在する仮想空間における座標系と、現実空間中に設けている座標系とは、一致させておくことが好ましい。即ち、このようにすることで、ある現実物体の位置姿勢が分かった場合、その位置姿勢の値と同じ仮想空間中の位置姿勢の値を持つ仮想物体は、現実物体と重なることになる。また、現実物体と仮想物体との関係が逆の場合でも同じことである。仮想空間の座標系と現実空間との座標系を合わせる技術については、従来から多くの取り組みが行われている。例えば特開2002−229730号公報、特開2003−269913号公報等に開示されている技術を用いれば、現実空間と仮想空間とを正確に整合させるための位置合わせを実現することができる。
図3は、梱包物体モデルでもって梱包された操作物体モデルを、ユーザがスタイラス302を用いて移動操作し、箱モデルに収納する場合に、上記コンピュータ100が行う処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU101に実行させるためのプログラムやデータはディスク装置105に保存されている。そしてこのプログラムやデータはCPU101による制御に従って適宜RAM102にロードされる。CPU101はこのロードされたプログラムやデータを用いて処理を行うことで、コンピュータ100は以下説明する各処理を実行することになる。
先ず、コンピュータ100は以下説明する各処理を実行するための各種の初期化処理を行う(ステップS1000)。例えば、以下の処理で用いる変数の初期化などである。
次に、操作物体モデル、箱モデル、梱包物体モデル、を仮想空間中の予め定められた位置姿勢に配置すると共に、梱包物体モデルを更に包含する2つの領域(バウンディングボックス)を配置する(ステップS1010)。
図4は、操作物体モデル、梱包物体モデル、バウンディングボックスを示す図である。同図において403は操作物体モデルで、ユーザがスタイラス302を用いてその位置や姿勢を操作する対象となるモデルである。
404は梱包物体モデルであり、同図中央に示す如く、操作物体モデル403を梱包(包含)している。梱包物体モデル404は操作物体モデル403を包含するべく配置されるものであるので、ユーザがスタイラス302を用いて操作物体モデル403の位置姿勢を変更すると、それに追従して梱包物体モデル404の位置姿勢も変化する。即ち、操作物体モデル403の位置姿勢が変化しても、操作物体モデル403と梱包物体モデル404との位置姿勢関係は保ったままとなる。
ここで、梱包物体モデル404は、柔軟でふわふわした梱包材を模している。そこで、梱包物体モデル404の3次元形状の表現方法としては、その他の仮想物体と同様にポリゴンを用いても良いが、自由曲面による3次元表現を用いても良いし、粒子系のパーティクル表現を用いても良い。
また、梱包物体モデル404のサイズについては、適宜変更することができるようにしても良い。その手段については特に限定するものではないが、例えば、入力装置106にマウスやキーボードを接続し、このマウスやキーボードを用いてそのサイズを指定する。当然、指定するサイズは、操作物体モデル403のサイズよりも大きくなるようにする。また、マウスやキーボードを用いて、梱包物体モデル404の素材情報について指示するようにしても良い。例えば、柔らかい素材/堅い素材の何れかを指定するなど、変形の度合いを示す様なパラメータを指示するようにしても良い。また、梱包物体モデル404は、操作物体モデル403を必ずしも包含しなくても、一部を囲うものであればよい。
ここで、梱包物体モデル404が不透明の仮想物体である場合には当然、同図中央に点線で示す如く、操作物体モデル403は不可視となる。従って、梱包物体モデル404を配置する場合には、操作物体モデル403はあえて配置しなくても良い。
このように、操作物体モデル403、梱包物体モデル404を配置した後、梱包物体モデル404に関連付けられた2つのバウンディングボックスを設定する。バウンディングボックスは、梱包物体モデル404を包含することが望ましいが、そうでなくてもよい。同図において405aは梱包物体モデル404を包含するバウンディングボックス、405bはバウンディングボックス405aに包含されるバウンディングボックスである。バウンディングボックス405bは、バウンディングボックス405aを縮小することで設定されるものである。
なお、バウンディングボックスとは、仮想空間中に存在する仮想物体を包含する程度のサイズで配置される立体モデルである。バウンディングボックスの作り方は、「Real−Time Rendering Second Edition(Tomas Akenine−Moller,Eric Haines著.A K Peters, Ltd.),Chapter.13−14」に記載されており、その形状には直方体や多面体などがある。本実施形態では、バウンディングボックスとして直方体を利用するが、以下の説明の本質はこれに限定するものではない。
ここで、バウンディングボックス405bを設定する処理について更に詳細に説明する。上述のとおり、バウンディングボックス405bは、バウンディングボックス405aを縮小することで生成する。その縮小率は、梱包物体モデル404について予め設定されている素材情報(より詳しくは梱包物体モデル404が模している梱包材の堅さを示す情報)に応じて決まる。
例えば、梱包物体モデル404が模している梱包材が発砲スチロールのような固めの素材である場合には、縮小率を小さく1%とし、エアチップのような弾力に富んだ素材である場合には、縮小率を少し大きめに30%とする。このようにして決まる縮小率を用いて、バウンディングボックス405bのサイズは以下のようにして決まる。
バウンディングボックス405bのサイズ=バウンディングボックス405aのサイズ−(バウンディングボックス405aのサイズ−梱包物体モデル404のサイズ)×縮小率
ここで、「サイズ」とは、例えば体積を示しており、「バウンディングボックス405aのサイズ」とは「バウンディングボックス405aの体積」を示している。もちろん、「サイズ」に適用できる要素はこれ以外にも考えられる。
以上の処理により、ステップS1010では、操作物体モデル403、梱包物体モデル404を配置することができると共に、バウンディングボックス405a、405bを設定することができる。なお、バウンディングボックス405a、405bについては例えば、ワイヤーフレームなどで可視的に表示するようにしても良いし、表示しなくても良い。
一方、箱モデルについて説明する。図5は、本実施形態で用いる箱モデルの一例を示す図である。同図に示す箱モデル402は、上記梱包物体モデル404で包含された操作物体モデル403を収納するための仮想モデルである。
図3に戻って、次に、上記頭部装着部200に備わっている撮像装置202は、現実空間の動画像を撮像するので、各フレームの撮像画像が画像入力装置107に入力される。そこで、画像入力装置107は受けた各フレームの撮像画像を順次RAM102、若しくはディスク装置105に取り込む。その際、CPU101は、最新のフレームの画像をRAM102内のビデオバッファーに描画する(ステップS1020)。なお、表示装置201に光学シースルー型の表示装置を用いる場合や、頭部装着部200に現実映像を必要としない没入型の装置を用いる場合には、本ステップを省略することができる。
次に、センサ制御装置303から、センサ301の位置姿勢、スタイラス302の位置姿勢が位置姿勢情報として入力装置106に入力される。そこで、入力装置106は、受けた位置姿勢情報をRAM102、若しくはディスク装置105内に送出する(ステップS1030)。ここで、センサ301の位置姿勢を取得したということは、視点の位置姿勢を取得したことに等価である。
更に、ステップS1030では、入力装置106は、操作ボタン304が押下されている/押下されていない旨を示すボタン操作情報をセンサ制御装置303から受けるので、この情報もまた、RAM102、若しくはディスク装置105内に送出する。
次に、ステップS1010で配置した各仮想物体が配された仮想空間を、視点(ステップS1030で取得した位置姿勢を有する視点)から見た場合に見える画像を、上記ビデオバッファーとは異なるRAM102内の領域に描画する(ステップS1040)。
ここで、仮想物体を描画する際には、背景画像となる現実空間の画像が透過するように、仮想物体が存在しない画面領域を背景透過率100%で描画する。若しくは、同等の目的を達成するために、背景画像となる現実空間の画像を透過させるように予め定めたカラーバッファ値(例えば(R、G、B)=(0、0、0))を入力してもよい。
なお、表示装置201に光学シースルー型の表示装置を用いる場合には、仮想物体が存在しない画面領域を背景が透過する色で描画してもよい。また、頭部装着部200に現実映像を必要としない没入型の装置を用いる場合には、仮想物体が存在しない画面領域に何を表示してもよい。
次に、上記ビデオバッファー上に、ステップS1040で描画した画像を描画し、描画した画像を画像出力装置103によって頭部装着部200が有する表示装置201に送出する(ステップS1050)。その結果、現実空間の画像上に仮想空間の画像が重畳された合成画像をビデオバッファー上に形成することができると共に、この合成画像を表示装置201上に表示することができる。その結果、頭部装着部200を頭部に装着したユーザは、視点の位置姿勢に応じて見える現実空間と仮想空間とが合成された合成画像を、眼前に見ることができる。
なお、表示装置201に光学シースルー型の表示装置を用いる場合や、頭部装着部200に現実映像を必要としない没入型の装置を用いる場合には、ステップS1040で描画した仮想空間画像を画像出力装置103によって表示装置201に送出すればよい。
次に、ユーザが操作するスタイラス302を用いて、操作物体モデル403もしくは包含物体モデル404が選択(ピックアップ)されているのかをチェックする(ステップS1060)。ここで、操作物体モデル403もしくは包含物体モデル404の選択方法について説明する。
ユーザがスタイラス302の位置を、操作物体モデル403もしくは包含物体モデル404の内部に動かし、そこで操作ボタン304を押下すると、この梱包物体モデル404を選択することができる。スタイラス302の位置が梱包物体モデル404の内部にあるのか外部にあるのかの判定方法については周知の技術であるので、ここでの説明は省略する。梱包物体モデル404を選択し、その後、ユーザがスタイラス302の位置姿勢を移動させると、梱包物体モデル404の位置姿勢もそれに追従して移動する。
そして更に、包含物体モデル404の選択状態において再度操作ボタン304を押下すると、非選択状態となり、梱包物体モデル404の位置姿勢は非選択状態となったタイミングにおけるものに固定される。
従って、ステップS1060では、包含物体モデル404に対するスタイラス302の位置の内外判定を行う。更に同ステップでは、センサ制御装置303から入力装置106を介してRAM102、若しくはディスク装置105に取り込まれるボタン操作情報が押下/非押下の何れを示しているのかをチェックする。なお、ここでの説明では、現在は非選択状態となっているものとする。
その結果、スタイラス302の位置が包含物体モデル404の内部にあり、且つ操作ボタン304が押下されているという条件を満たしている場合には処理をステップS1070に進め、この条件を満たしていない場合には処理をステップS1020に戻す。
ここで、ユーザはスタイラス302を用いて包含物体モデル404を選択後、その位置や姿勢を変更し、箱モデル402内に収納しようとしている場合を例に取り、説明する。
ステップS1070では、箱モデル402に包含物体モデル404が近づいた場合に備えて、箱モデル402と、上記バウンディングボックス405aとの干渉判定を行う(ステップS1070)。即ち、包含物体モデル404を包含する、最もサイズの大きいバウンディングボックスと、箱モデル402との干渉判定を行う。干渉判定の処理については、「Real−Time Rendering Second Edition(Tomas Akenine−Moller,Eric Haines著.A K Peters, Ltd.),Chapter.13−14」に記載されているためここでは省略する。
そして、この干渉判定処理の結果、干渉が無かった場合には処理をステップS1080を介してステップS1020に戻し、干渉があった場合には処理をステップS1080を介してステップS1090に進める。ステップS1090では、干渉があったことをユーザに報知する(ステップS1090)。報知形態については様々なものが考えられる。例えば、「箱モデル402に包含物体モデル404が干渉/接近しています」なる旨のメッセージを画像出力装置103によって表示装置201に送出する。また、コンピュータ100にスピーカを設け、このスピーカにより音声としてこの旨を出力するようにしても良い。また、バウンディングボックス405a、箱モデル402をポリゴンでもって構成した場合には、互いに干渉しているポリゴンを点滅表示させたり、他の部分とは異なる色ででもって表示させたりするようにしても良い。
このような報知により、包含物体モデル404と箱モデル402とが干渉している、若しくは少なくとも箱モデル402に包含物体モデル404が近づいている旨をユーザに通知することができる。
更には、梱包物体モデル404と箱モデル402との干渉状態をさらに詳細に調べ、具体的にどのような位置関係にあるのか表示してもよい。
こうすることで、梱包物体モデル404が最大限縮小した状態で箱モデル402と干渉する前に、(バウンディングボックスを使っているため近似的ではあるが)ユーザに対して梱包物体モデル404と箱モデル402の位置関係を提示することができる。そしてこれにより、ユーザは梱包物体モデル404と箱モデル402との位置関係を容易に確認することができる。
次に、ステップS1070で判定した干渉状態に応じて、梱包物体モデル404の形状を変形させ、箱モデル402と干渉していないように見せる処理を行う(ステップS1100)。なお、ステップS1070では、バウンディングボックス405aと箱モデル402との干渉判定を行っており、梱包物体モデル404と箱モデル402との干渉判定を行っているわけではない。そこで先ず、バウンディングボックス405aの形状を、箱モデル402と干渉しないように変形させ、次にバウンディングボックス405aの変形具合に対応させて梱包物体モデル404の形状を変形させればよい。
図6Aは、バウンディングボックス405aにおけるある面が箱モデル402におけるある面と干渉した場合に、梱包物体モデル404、バウンディングボックス405aに対する処理を説明する図である。同図左側において601は、箱モデル402においてバウンディングボックス405aと干渉している面を示す。同図左側に示す如く、バウンディングボックス405aのある面と面601とが干渉すると、同図中央及び右側に示す如く、面601の法線方向(同図において矢印で示す方向)にバウンディングボックス405a、梱包物体モデル404の形状を圧縮変形させる。圧縮変形させる度合いについては、例えば、バウンディングボックス405aと面601が接する程度に圧縮変形させる。なお、同図において二重線記号を描いているのは、それらの長さが同等であることを示す為である。
図6Bは、バウンディングボックス405aにおけるある頂点が箱モデル402におけるある面と干渉した場合に、梱包物体モデル404、バウンディングボックス405aに対する処理を説明する図である。同図左側に示す如くバウンディングボックス405aのある頂点(若しくは稜線)と面601とが干渉すると、同図中央、及び右側に示す如く、面601の法線方向(同図において矢印で示す方向)にバウンディングボックス405a、梱包物体モデル404の形状を圧縮変形させる。圧縮変形させる度合いについては、例えば、バウンディングボックス405aと面601が接する程度に圧縮変形させる。
なお、上述のように、仮想物体を圧縮変形させるための技術については周知の技術であるので、これに関する説明は省略する。更に、圧縮変形させる際には、以下のような技術を用いても良い。即ち、予め変形させた梱包物体モデルを複数種類用意し、干渉状態に応じてそれらを適宜読み出してもよい。
また、ステップS1100では2つあるバウンディングボックスのうちバウンディングボックス405aについてのみ圧縮変形処理を行ったが、他方のバウンディングボックス405bについてはこのような圧縮変形処理は行わない。
このような処理を行うことで、梱包物体モデル404が最大限縮小した状態で箱モデル402と干渉する前に(バウンディングボックスを使っているため近似的ではあるが)ユーザに対して梱包物体モデル404と箱モデル402の関係を提示することができる。よって、ユーザは梱包物体モデル404と箱モデル402との関係を容易に確認することができる。
次に、箱モデル402と、上記バウンディングボックス405bとの干渉判定を行う(ステップS1110)。干渉判定の処理については、「Real−Time Rendering Second Edition(Tomas Akenine−Moller,Eric Haines著.A K Peters, Ltd.),Chapter.13−14」に記載されているためここでは省略する。
そして、この干渉判定処理の結果、干渉が無かった場合には処理をステップS1120を介してステップS1020に戻し、干渉があった場合には処理をステップS1120を介してステップS1130に進める。ステップS1130では、干渉があったことをユーザに報知する(ステップS1130)。この報知処理についてはステップS1090に係る上記説明と同様、様々なものが適用可能である。ステップS1130による報知処理によれば、ユーザは、梱包物体モデル404が最大限縮小した状態で箱モデル402に干渉していることを認知することができる。
次に、本処理終了の指示が入力されたことをCPU101が検知した場合にはステップS1140を介して本処理を終了するし、検知していない場合には処理をステップS1140を介してステップS1020に戻す。本処理終了の指示については、例えば、上記マウスやキーボードを用いてユーザが指示するようにしても良いし、コンピュータ100の電源をシャットダウンすることによって指示するようにしても良い。
以上の説明により、本実施形態によれば、仮想現実空間、若しくは複合現実空間中において、一定の範囲で自由に変形可能な素材を含む仮想物体の干渉状態を簡便にユーザに提示することができる。
なお、本実施形態では、センサ部300によって位置姿勢を計測するための説明に磁気センサを用いたが、位置姿勢が計測することができれば何れの手段を持ち手も良い。例えば、光学的な位置姿勢計測装置や、機械的な位置姿勢計測装置や、測量機等を用いても良い。
また、本実施形態では、ユーザが用いる指示具としてスタイラス302を用いたが、その他の指示具を用いるようにしても良い。しかし、何れの指示具を用いるにせよ、指示具の位置姿勢を計測するための構成は必須となる。
また、本実施形態においては、箱モデルとして図5に示すような仮想の箱モデル402を用いたが、現実空間に存在する箱に対応した位置姿勢で、仮想の箱モデル402を透明物体として描画してもよい。即ち仮想の箱モデル402を描画する際に表示画面内における奥行き情報を示すZ−バッファ値のみを更新しつつ、背景画像である現実画像を透過させるように予め定めたカラーバッファ値(例えば(R、G、B)=(0、0、0))で描画することで実現できる。
より詳しく説明すると、ある仮想物体(仮想物体A)を「透明物体として描画する」というのは、ユーザから見て仮想物体Aの後ろに別の仮想物体(仮想物体B)が存在する場合、仮想物体Aを透かして仮想物体Bが見えるということではない。仮想物体Aが存在する画像領域は、後ろに他の仮想物体があった場合でもそれらは見えずに、背景である現実画像が透過される。この概念は、色情報であるカラーバッファ値と、奥行き情報であるZ−バッファ値とを別に扱うという仮想空間ならではの概念と言える。
[第2の実施形態]
第1の実施形態ではバウンディングボックスの数を2つとしたが、本実施形態では3以上の複数個のバウンディングボックスを設定する場合について説明する。なお、以下の説明ではN(N>2)個のバウンディングボックスを設定するものとし、サイズの大きいものから順にバウンディングボックスB1、バウンディングボックスB2…バウンディングボックスBNと呼称する。即ち、それぞれのバウンディングボックスの関係は、「バウンディングボックスBjはバウンディングボックスB(j+1)を包含する」という関係を有している。
第1の実施形態ではバウンディングボックスの数を2つとしたが、本実施形態では3以上の複数個のバウンディングボックスを設定する場合について説明する。なお、以下の説明ではN(N>2)個のバウンディングボックスを設定するものとし、サイズの大きいものから順にバウンディングボックスB1、バウンディングボックスB2…バウンディングボックスBNと呼称する。即ち、それぞれのバウンディングボックスの関係は、「バウンディングボックスBjはバウンディングボックスB(j+1)を包含する」という関係を有している。
以下では、第1の実施形態と異なる点について説明する。図7は、梱包物体モデルでもって梱包された操作物体モデルもしくは梱包物体モデルを、ユーザがスタイラス302を用いて移動操作し、箱モデルに収納する場合に、上記コンピュータ100が行う処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU101に実行させるためのプログラムやデータはディスク装置105に保存されている。そしてCPU101による制御に従って適宜RAM102にロードされる。CPU101はこのロードされたプログラムやデータを用いて処理を行うことで、コンピュータ100は以下説明する各処理を実行することになる。また、図7において、図3と同じ部分については同じステップ番号を付けており、その説明は省略する。
ステップS2000では、操作物体モデル403、梱包物体モデル404、箱モデル402、を仮想空間中の予め定められた位置姿勢に配置する。更に同ステップでは、梱包物体モデル404に関連付けられたN個のバウンディングボックスBi(i=1…N)を配置する。バウンディングボックスB1は、梱包物体モデル404を包含することが望ましいが、それに限らなくてもよい。
そしてステップS2010では変数iを1に初期化し、ステップS2020では、バウンディングボックスBiと箱モデル402との干渉判定処理を行う。この干渉判定処理については第1の実施形態と同様にして行う。
この干渉判定処理の結果、干渉していない場合には処理をステップS2030を介してステップS1020に戻し、干渉している場合には処理をステップS2030を介してステップS2040に進める。ステップS2040では、変数iに応じて、干渉の旨を報知する(ステップS2040)。報知の形態については第1の実施形態と同様、表示や音声出力などによって行うのであるが、報知の内容が第1の実施形態とは異なる。即ち、本実施形態では、例えば表示により報知を行う場合には、画像出力装置103を通して、表示装置201に「梱包材部分が箱とi/N程度干渉しています」と表示する。また、変数iの値と整数値Nとの比率(=i/N)をグラフ形式やメータ形式で表示装置201に表示してもよい。
このように、現在の変数iの値に応じて、現在どのバウンディングボックスまでが箱モデル402と干渉しているのかを、干渉の度合いを報知することによってユーザに報知することができる。なお、報知の内容はこれに限定するものではなく、これに加えて第1の実施形態と同様のものを報知するようにしても良い。
次に、ステップS2050では、梱包物体モデル404のみを圧縮変形させる。圧縮変形処理については第1の実施形態と同様にして行う。
次に、ステップS2060では、変数iの値がNであるのかをチェックし、i≠Nである場合には処理をステップS2070に進め、変数iの値を1つインクリメントし、処理をステップS2020に戻し、以降の処理を行う。これにより、1つサイズの小さいバウンディングボックスと箱モデル402との干渉判定処理を行い、その結果に応じた処理を行うことになる。
一方、i=Nである場合には処理をステップS1130に進める。
[第3の実施形態]
上記実施形態では、一定の範囲で自由に変形可能な素材を表現する仮想物体と、固体の物体(Solid Object)を表現する仮想物体とが干渉する場合について説明した。本実施形態では、一定の範囲で自由に変形可能な素材を表現する仮想物体同士が干渉する場合について説明する。
上記実施形態では、一定の範囲で自由に変形可能な素材を表現する仮想物体と、固体の物体(Solid Object)を表現する仮想物体とが干渉する場合について説明した。本実施形態では、一定の範囲で自由に変形可能な素材を表現する仮想物体同士が干渉する場合について説明する。
以下では、上記実施形態と異なる部分について説明する。図8は、梱包物体モデルでもって梱包された操作物体モデルもしくは梱包物体モデルを、ユーザがスタイラス302を用いて移動操作し、もう1つの梱包物体モデルに近づける場合に、上記コンピュータ100が行う処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU101に実行させるためのプログラムやデータはディスク装置105に保存されている。そしてCPU101による制御に従って適宜RAM102にロードされる。CPU101はこのロードされたプログラムやデータを用いて処理を行うことで、コンピュータ100は以下説明する各処理を実行することになる。また、図8において、図3と同じ部分については同じステップ番号を付けており、その説明は省略する。
ステップS3000では、操作物体モデル403、梱包物体モデル404、を仮想空間中の予め定められた位置姿勢に配置すると共に、梱包物体モデル404に関連付けられたN個のバウンディングボックスBi(i=1…N)を配置する。これらの配置処理については上記ステップS1010やステップS2000と同じであるが、ステップS3000では更に、包含物体モデル404’、包含物体モデル404’に関連付けられたM個のバウンディングボックスCj(j=1…M、M≧2)を配置する。
なお、バウンディングボックスCjについても、サイズの大きいものから順にバウンディングボックスC1、バウンディングボックスC2…バウンディングボックスCMと呼称する。即ち、それぞれのバウンディングボックスの関係は、「バウンディングボックスCkはバウンディングボックスC(k+1)を包含する」という関係を有している。
尚、包含物体モデル404’については、別段何かを梱包するものでなくても良い。
次に、ステップS3010では、変数i、jを共に1に初期化する。次に、ステップS3020では、バウンディングボックスBiと、バウンディングボックスCjとの干渉判定処理を行う。この干渉判定処理については第1の実施形態と同様にして行う。
この干渉判定処理の結果、干渉していない場合には処理をステップS3030を介してステップS1020に戻し、干渉している場合には処理をステップS3030を介してステップS3040に進める。ステップS3040では、変数i、jに応じて、干渉の旨を報知する。報知の形態については第1の実施形態と同様、表示や音声出力などによって行うのであるが、報知の内容が第1の実施形態とは異なる。即ち、本実施形態では、例えば表示により報知を行う場合には、画像出力装置103を通して、表示装置201に「梱包材同士が干渉しています」と表示する。また、干渉の具合を示すパラメータとして、変数iの値とNとの比率(=i/N)や、変数jの値とMとの比率(=j/M)をグラフ形式やメータ形式で表示装置201に表示してもよい。
このように、現在の変数i、jの値に応じて、現在どのバウンディングボックスまでが相手のバウンディングボックスと干渉しているのかを、干渉の度合いを報知することによってユーザに報知することができる。なお、報知の内容はこれに限定するものではなく、これに加えて第1の実施形態と同様のものを報知するようにしても良い。
次に、ステップS3050では、梱包物体モデル404、404’を圧縮変形させる。圧縮変形処理については第1の実施形態と同様にして行う。
次に、ステップS3060では、i=N、且つj=Mであるのかをチェックし、i=N、且つj=Mではない場合には処理をステップS3070に進める。ステップS3070では、変数iの値、変数jの値をそれぞれ1つインクリメントする。なお、i=Nの場合には変数iに対してはインクリメント処理は行わないし、j=Mの場合には変数jに対してはインクリメント処理は行わない。そして、処理をステップS3020に戻し、以降の処理を行う。これにより、1つサイズの小さいバウンディングボックス同士の干渉判定処理を行い、その結果に応じた処理を行うことになる。
一方、i=N、且つj=Mである場合には処理をステップS1130に進める。
[第4の実施形態]
第1乃至3の実施形態では、2つの仮想物体同士の干渉について説明したが、本実施形態では3以上の仮想物体同士の干渉について説明する。
第1乃至3の実施形態では、2つの仮想物体同士の干渉について説明したが、本実施形態では3以上の仮想物体同士の干渉について説明する。
仮想物体が3つ以上ある場合の干渉判定は、その処理速度を高速化するために、まず3つ以上ある仮想物体の中から2つの仮想物体を判定候補として絞込んでから行う。すなわち、スタイラス302が、ある梱包物体モデルAをピックアップしているとして、そのピックアップされている梱包物体モデルAに最も近い仮想モデルBを選択し、AとBとの干渉判定を行えばよい。
また、スタイラス302が、ある梱包物体モデルAをピックアップして、スタイラス302以外の操作デバイスが仮想モデルCをピックアップしている場合には、AとCとの干渉判定を行ってもよいことは言うまでもない。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
Claims (14)
- 第1の仮想物体と第2の仮想物体との干渉の状況を判断するための情報処理方法であって、
前記第1の仮想物体に関連付けて複数の領域を設定する設定工程と、
前記複数の領域と第2の仮想物体との干渉を判定する判定工程と、
前記判定工程で干渉してると判定された領域から、前記第1の仮想物体と第2の仮想物体との干渉の状況を判断する判断工程と
を備えることを特徴とする情報処理方法。 - 前記干渉の状況は、干渉の度合いであることを特徴とする請求項1に記載の情報処理方法。
- 更に、
前記判断された干渉の状況を、ユーザに報知する報知工程を備えることを特徴とする請求項1に記載の情報処理方法。 - 更に、
前記判断された干渉の状況に応じて、前記第1の仮想物体の形状を変化させる変化工程を備えることを特徴とする請求項1に記載の情報処理方法。 - 前記第1の仮想物体は、第3の仮想物体を梱包し、一定の範囲で自由に変形可能な梱包材を模したものであることを特徴とする請求項1に記載の情報処理方法。
- 前記変化工程では、
前記判定工程で干渉していると判定した場合には、前記第1の仮想物体を、前記第2の仮想物体との干渉面の法線方向に対して圧縮変形させることを特徴とする請求項4に記載の情報処理方法。 - 更に、現実空間の画像を取得する工程と、
前記現実空間の画像上に、仮想空間の画像を重畳させた合成画像を生成し、当該生成した合成画像を表示装置に対して出力する出力工程と
を備えることを特徴とする請求項1乃至6の何れか1項に記載の情報処理方法。 - 前記報知工程で行う報知を表示により行う場合、
前記出力工程では、前記合成画像上に更に干渉している旨を示すメッセージを重畳させることを特徴とする請求項7に記載の情報処理方法。 - 更に、外部からの指示に応じて、前記第1の仮想物体が包含している操作対象仮想物体の位置姿勢を変更する変更工程を備え、
前記変更工程では更に、前記操作対象仮想物体の位置姿勢が変更されれば、前記第1の仮想物体と前記操作対象仮想物体との位置姿勢関係を保ったまま、前記第1の仮想物体の位置姿勢も変更することを特徴とする請求項1に記載の情報処理方法。 - 視点に応じた仮想画像を生成する情報処理方法であって、
第1の仮想物体を仮想空間中に配置する工程と、
前記第1の仮想物体に関連付けて複数の領域を設定する第1の設定工程と、
第2の仮想物体を前記仮想空間中に配置する工程と、
前記第2の仮想物体に関連付けて複数の領域を設定する第2の設定工程と、
前記第1の設定工程で設定したそれぞれの領域と、前記第2の設定工程で設定したそれぞれの領域との干渉の有無を判定する判定工程と、
前記判定工程で干渉していると判定した場合には、干渉している旨を報知する報知工程と
を備えることを特徴とする情報処理方法。 - 第1の仮想物体と第2の仮想物体との干渉の状況を判断するための情報処理装置であって、
前記第1の仮想物体に関連付けて複数の領域を設定する設定手段と、
前記複数の領域と第2の仮想物体との干渉を判定する判定手段と、
前記判定手段が干渉してると判定された領域から、前記第1の仮想物体と第2の仮想物体との干渉の状況を判断する判断手段と
を備えることを特徴とする情報処理装置。 - 視点に応じた仮想画像を生成する情報処理装置であって、
第1の仮想物体を仮想空間中に配置する手段と、
前記第1の仮想物体に関連付けて複数の領域を設定する第1の設定手段と、
第2の仮想物体を前記仮想空間中に配置する手段と、
前記第2の仮想物体に関連付けて複数の領域を設定する第2の設定手段と、
前記第1の設定手段によって設定したそれぞれの領域と、前記第2の設定手段によって設定したそれぞれの領域との干渉の有無を判定する判定手段と、
前記判定手段が干渉していると判定した場合には、干渉している旨を報知する報知手段と
を備えることを特徴とする情報処理装置。 - コンピュータに請求項1乃至10の何れか1項に記載の情報処理方法を実行させるためのプログラム。
- 請求項12に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005380161A JP2007179483A (ja) | 2005-12-28 | 2005-12-28 | 情報処理装置、情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005380161A JP2007179483A (ja) | 2005-12-28 | 2005-12-28 | 情報処理装置、情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007179483A true JP2007179483A (ja) | 2007-07-12 |
Family
ID=38304575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005380161A Withdrawn JP2007179483A (ja) | 2005-12-28 | 2005-12-28 | 情報処理装置、情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007179483A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028772A (ja) * | 2017-07-31 | 2019-02-21 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理システム、その制御方法及びプログラム |
JP2019174871A (ja) * | 2018-03-26 | 2019-10-10 | 株式会社コーエーテクモゲームス | 画像生成プログラム、記録媒体、画像生成方法 |
JPWO2019058500A1 (ja) * | 2017-09-22 | 2020-10-15 | 株式会社スクウェア・エニックス | プログラム、及びシステム |
JP2020187778A (ja) * | 2020-07-15 | 2020-11-19 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理システム、その制御方法及びプログラム |
-
2005
- 2005-12-28 JP JP2005380161A patent/JP2007179483A/ja not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028772A (ja) * | 2017-07-31 | 2019-02-21 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理システム、その制御方法及びプログラム |
JP7111940B2 (ja) | 2017-07-31 | 2022-08-03 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理システム、その制御方法及びプログラム |
JPWO2019058500A1 (ja) * | 2017-09-22 | 2020-10-15 | 株式会社スクウェア・エニックス | プログラム、及びシステム |
JP7337697B2 (ja) | 2017-09-22 | 2023-09-04 | 株式会社スクウェア・エニックス | プログラム、及びシステム |
JP2019174871A (ja) * | 2018-03-26 | 2019-10-10 | 株式会社コーエーテクモゲームス | 画像生成プログラム、記録媒体、画像生成方法 |
JP7008557B2 (ja) | 2018-03-26 | 2022-01-25 | 株式会社コーエーテクモゲームス | 画像生成プログラム、記録媒体、画像生成方法 |
JP2020187778A (ja) * | 2020-07-15 | 2020-11-19 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理システム、その制御方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7068562B2 (ja) | 拡張現実データを記録するための手法 | |
JP7009494B2 (ja) | カラー仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツ生成する方法 | |
JP7095189B2 (ja) | 多ソース仮想コンテンツ合成を伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法 | |
CN110366746B (zh) | 基于虚拟现实的影像诊断练习装置和方法 | |
JP2005293142A (ja) | 画像処理方法および画像処理装置 | |
GB2578695A (en) | Mixed reality gaming system | |
JP2020515954A (ja) | 仮想コンテンツをワーピングすることを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法 | |
Holloway et al. | Virtual environments: A survey of the technology | |
US8994729B2 (en) | Method for simulating operation of object and apparatus for the same | |
JP2009276996A (ja) | 情報処理装置、情報処理方法 | |
JP2005227876A (ja) | 画像処理方法、画像処理装置 | |
EP4111292A1 (en) | Occlusion of virtual objects in augmented reality by physical objects | |
KR100787952B1 (ko) | 지역 점유맵 인스턴스를 이용한 햅틱 렌더링 방법과 장치,및 이를 이용한 햅틱 시스템 | |
JP2023099046A (ja) | ヘッドマウント情報処理装置およびヘッドマウントディスプレイシステム | |
JP2020052790A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2007179483A (ja) | 情報処理装置、情報処理方法 | |
JP2009087161A (ja) | 画像処理装置、画像処理方法 | |
JP4334961B2 (ja) | 画像生成情報、情報記憶媒体及び画像生成装置 | |
JP2739444B2 (ja) | 3次元モデルによる動き生成装置 | |
JP2006215750A (ja) | 画像処理方法、画像処理装置 | |
JP2023065528A (ja) | ヘッドマウント情報処理装置およびヘッドマウントディスプレイシステム | |
JP4689344B2 (ja) | 情報処理方法、情報処理装置 | |
JP7292597B2 (ja) | 表示システム、画像処理装置、およびプログラム | |
JP2006343954A (ja) | 画像処理方法、画像処理装置 | |
JP2000047563A (ja) | 物体の把持動作シミュレーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090303 |