(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024100340
(43)【公開日】2024-07-26
(54)【発明の名称】ユーザインタフェース装置およびユーザインタフェースプログラム
(51)【国際特許分類】
G06F 3/04842 20220101AFI20240719BHJP
G06F 3/04815 20220101ALI20240719BHJP
G06F 3/04812 20220101ALI20240719BHJP
G06F 3/038 20130101ALI20240719BHJP
G06T 19/00 20110101ALI20240719BHJP
G06F 3/0346 20130101ALN20240719BHJP
【FI】
G06F3/04842
G06F3/04815
G06F3/04812
G06F3/038 350R
G06T19/00 C
G06F3/0346 424
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023004276
(22)【出願日】2023-01-16
(71)【出願人】
【識別番号】516366135
【氏名又は名称】株式会社Thirdverse
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】南 知宏
【テーマコード(参考)】
5B050
5B087
5E555
【Fターム(参考)】
5B050BA09
5B050CA07
5B050EA07
5B050EA12
5B050FA02
5B050FA14
5B087AA02
5B087AA07
5B087AB02
5B087AB14
5B087BC02
5B087DD03
5B087DD06
5B087DE03
5B087DE07
5E555AA06
5E555AA27
5E555BA38
5E555BB38
5E555BC08
5E555BE17
5E555CA06
5E555CA44
5E555CB21
5E555CB45
5E555CB55
5E555CC05
5E555DA08
5E555DA09
5E555DB06
5E555DB31
5E555DB51
5E555DB53
5E555DB56
5E555DC09
5E555DC11
5E555DC13
5E555DC19
5E555DC26
5E555DC27
5E555DC43
5E555DC52
5E555DC57
5E555DC84
5E555DD06
5E555EA11
5E555EA14
5E555FA00
(57)【要約】
【課題】3次元仮想空間画像内にある操作対象物と指示体との距離感や位置関係を直感的に把握して、狙った位置に指示体を正確に操作できるようにする。
【解決手段】指示体120の近傍位置に第1マーカM1を表示するとともに、操作対象物110の表面上で指示体120によって指し示される指示位置に第2マーカM2を表示し、指示体120と操作対象物110との距離が短くなるほど大きさが小さくなるように拡縮して第2マーカM2を表示することにより、第1マーカM1と第2マーカM2との相対位置関係や相対サイズ関係をもとに、操作対象物110と指示体120との距離感や、指示体120が指し示している位置をユーザが容易に把握することができようにし、第1マーカM1と第2マーカM2とが重なるように指示体120の位置を調整することで、操作対象物110の所望位置に正しく接触することができるようにする。
【選択図】
図5B
【特許請求の範囲】
【請求項1】
3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するようになされたユーザインタフェース装置であって、
上記指示体の近傍位置に第1マーカを表示するとともに、上記操作対象物の表面上で上記指示体によって指し示される指示位置に第2マーカを表示するマーカ表示部と、
上記操作対象物の位置を基準として上記操作対象物の少なくとも一部を含む範囲に設定される接触検出領域の中に上記指示体が存在するときに、上記操作対象物の表面上で上記指示体によって指し示される指示位置に対して接触操作が行われたと判定する接触判定部とを備え、
上記マーカ表示部は、上記指示体が上記接触検出領域の外に存在するときに、上記指示体と上記操作対象物との距離が短くなるほど少なくとも上記第2マーカの大きさが小さくなって上記第1マーカの大きさに近づくように、上記距離に応じて少なくとも上記第2マーカを拡縮して表示する
ことを特徴とするユーザインタフェース装置。
【請求項2】
上記マーカ表示部は、上記指示体が上記接触検出領域の外に存在するときに、上記第1マーカおよび上記第2マーカの両方を、上記指示体と上記操作対象物との距離が短くなるほど大きさが小さくなるように拡縮して表示し、上記第1マーカの最大サイズよりも上記第2マーカの最大サイズの方が大きく、上記指示体の単位移動距離当たりのマーカの拡縮率が上記第1マーカよりも上記第2マーカの方が大きいことを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項3】
上記マーカ表示部は、上記指示体と上記操作対象物との距離によらず上記第1マーカを固定の大きさで表示する一方、上記指示体が上記接触検出領域の外に存在するときに上記指示体と上記操作対象物との距離が短くなるほど大きさが小さくなるように上記第2マーカを拡縮して表示することを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項4】
上記第1マーカおよび上記第2マーカは同形状のマーカであり、
上記マーカ表示部は、上記指示体と上記操作対象物との距離が短くなるにつれて少なくとも上記第2マーカが小さくなっていき、上記指示体が上記接触検出領域の中に入ったときに上記第1マーカと上記第2マーカとが一致するように、上記第1マーカおよび上記第2マーカを表示することを特徴とする請求項1~3の何れか1項に記載のユーザインタフェース装置。
【請求項5】
上記マーカ表示部は、上記第1マーカと上記第2マーカとが一致した後、上記指示体が上記接触検出領域の中に存在する間、上記第1マーカまたは上記第2マーカの何れか一方のみを表示することを特徴とする請求項4に記載のユーザインタフェース装置。
【請求項6】
上記接触判定部により上記接触操作が行われたと判定された後に、上記指示体が上記接触検出領域の外に移動して、上記接触検出領域から離間した位置に設定される解除検出領域の中に上記指示体が入ったときに、上記接触操作が解除されたと判定する解除判定部を更に備えたことを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項7】
上記接触判定部により上記接触操作が行われたと判定された後に、上記指示体が上記接触検出領域の外に移動して、上記接触検出領域から離間した位置に設定される解除検出領域の中に上記指示体が入ったときに、上記接触操作が解除されたと判定する解除判定部を更に備え、
上記マーカ表示部は、上記解除判定部より上記接触操作が解除されたと判定されたときに、上記第1マーカまたは上記第2マーカの何れか一方のみを表示していた状態から、上記第1マーカおよび上記第2マーカの両方を表示する状態に切り替える
ことを特徴とする請求項5に記載のユーザインタフェース装置。
【請求項8】
上記マーカ表示部は、上記操作対象物の位置を基準として上記操作対象物の少なくとも一部を含み上記接触検出領域よりも広い範囲に設定される表示対象領域の中に上記指示体が存在するときに、上記第1マーカおよび上記第2マーカを表示する
ことを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項9】
3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するようになされたユーザインタフェースを提供するための処理を行うプログラムであって、
上記指示体の近傍位置に第1マーカを表示するとともに、上記操作対象物の表面上で上記指示体によって指し示される指示位置に第2マーカを表示するマーカ表示手段、および
上記操作対象物の位置を基準として上記操作対象物の少なくとも一部を含む範囲に設定される接触検出領域の中に上記指示体が存在するときに、上記操作対象物の表面上で上記指示体によって指し示される指示位置に対して接触操作が行われたと判定する接触判定手段、
としてコンピュータを機能させ、
上記マーカ表示手段は、上記指示体が上記接触検出領域の外に存在するときに、上記指示体と上記操作対象物との距離が短くなるほど少なくとも上記第2マーカの大きさが小さくなって上記第1マーカの大きさに近づくように、上記距離に応じて少なくとも上記第2マーカを拡縮して表示する
ことを特徴とするユーザインタフェースプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザインタフェース装置およびユーザインタフェースプログラムに関し、特に、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するようになされたユーザインタフェース装置に用いて好適なものである。
【背景技術】
【0002】
従来、仮想現実の3次元空間画像内でオブジェクトを操作するためのユーザインタフェース技術が種々提供されている。例えば、ユーザの手の動きをグローブやコントローラ等の3次元センサにより検出し、検出した手の動きに応じて、3次元仮想空間画像上にあるポインタ(ユーザの指を模擬した指画像等)を移動させてオブジェクトを操作するようになされた技術が知られている。このようなユーザインタフェースにおいては、ユーザの手の動きに対応してポインタが3次元仮想空間画像内を自在に移動するので、ユーザは画像を見ながら手を動かすだけで、画像内の任意のオブジェクトをポインティングすることができる。
【0003】
しかしながら、3次元仮想空間は現実空間に比べて人間の五感に制限があるために、ユーザの狙った位置にポインタを正確に操作するのが難しいという問題があった。すなわち、仮想空間の画像はコンピュータによって合成されるグラフィック画像で構成されるため、現実空間に比べて立体感や3次元的な距離感を掴みづらい。また、ユーザは、指画像等のポインタがオブジェクトと接触しても物理的手応えを感じることができない。このため、指示しようとするオブジェクトとポインタとの位置関係を一見して把握し、正確で効率的なポインティング操作を行うことは困難であった。
【0004】
なお、指などの指示体により指示された画面上の位置にマーカ等の画像を表示し、指示体と画面内の操作対象物との距離に応じてマーカの態様を変えて表示することにより、指示体により指し示される位置を認識しやすくなるようにした技術が知られている(例えば、特許文献1,2参照)。
【0005】
特許文献1に記載のシステムでは、タッチパネルに設けられた距離センサによって、ユーザの指などの指示体とタッチパネルとの距離を検出するとともに、距離検出位置の座標を検出し、検出された距離に応じた表示形態のポインタ画像をディスプレイの表示面において距離検出位置に表示させる。これにより、ポインタ画像の表示された位置が、タッチパネル(表示面)において指示体がタッチしようとしている位置となるので、ポインタ画像の表示位置と操作対象物の表示位置とが重なるように指示体の位置を調整することで、操作対象物に正しくタッチすることが可能となる。
【0006】
特許文献2に記載のシステムでは、モニタ画面上においてユーザの指により指し示される操作対象物の位置にリング状のアイコンを表示し、指と操作対象物との距離が短くなるにつれてアイコンが徐々に小さくなるように表示する。具体的に、特許文献2に記載のシステムでは、モニタ画面に向かって突き出したユーザの指が、モニタ画面とユーザとの間の空間上に設定された仮想操作面に対し一定の距離まで近づくと、比較的大きなアイコンがモニタ画面に表示される。その後、ユーザの指が仮想操作面に近づくにつれて、操作目標であるボタンに向かってアイコンが徐々に近づきつつ小さくなり、アイコンが一定の大きさまで小さくなったときに特別なアイコンに切り替えて表示される。その状態で指が仮想操作面を横切ると、指し示す位置のボタンが選択されたと判定される。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006-285491号公報
【特許文献2】特許第4701424号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記特許文献1の記載によれば、ユーザは、操作対象物が表示されたタッチパネルの表示面と指との距離感や、指が表示面のどこに近づいているのかを容易に把握することができ、タッチパネル上の操作対象物に正しくタッチすることが可能とされる。また、上記特許文献2の記載によれば、ユーザは、目には見えていない仮想操作面の位置を直感的に認識して、モニタ画面上の操作対象物に対するポインティング操作を行うことが可能とされる。
【0009】
しかしながら、特許文献1に記載の技術は、現実空間のタッチパネルをユーザの現実の指でタッチすることを対象としたものであり、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するものではない。そのため、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するようになされたシステムに対して特許文献1に記載の技術を適用することはできない。
【0010】
一方、特許文献2に記載の技術は、現実空間のモニタ画面に表示された操作対象物をユーザの現実の指で実際にタッチすることを想定したものではなく、
図17には、モニタ画面に表示された画像の中にユーザの手指の動きと連動する手形のポインタ(上述したリング形状のアイコンとは異なる)を表示する例も示されている。しかしながら、モニタ画面に表示される画像は3次元仮想空間画像ではないし、ポインタは固定の大きさで画面内を平行移動するだけである。そのため、特許文献2に記載の例では、モニタ画面に表示された操作対象物とポインタとの3次元的な距離感を掴みにくいという問題は生じない。そのため、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するようになされたシステムに対して特許文献2に記載の技術を適用しても、上述した従来の問題は解消することができない。
【0011】
本発明は、このような問題を解決するために成されたものであり、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するシステムにおいて、操作対象物と指示体との3次元的な距離感や位置関係を直感的に把握して、ユーザの狙った位置に指示体を正確に操作することができるようにすることを目的とする。
【課題を解決するための手段】
【0012】
上記した課題を解決するために、本発明では、3次元仮想空間画像内にある指示体の近傍位置に第1マーカを表示するとともに、指示体と同じ3次元仮想空間画像内にある操作対象物の表面上で指示体によって指し示される指示位置に第2マーカを表示する。ここで、操作対象物の位置を基準として当該操作対象物の少なくとも一部を含む範囲に設定される接触検出領域の外に指示体が存在するときに、指示体と操作対象物との距離が短くなるほど少なくとも第2マーカの大きさが小さくなって第1マーカの大きさに近づくように、距離に応じて少なくとも第2マーカを拡縮して表示するようにしている。そして、接触検出領域の中に指示体が存在するときに、操作対象物の表面上で指示体によって指し示される指示位置に対して接触操作が行われたと判定する。
【発明の効果】
【0013】
上記のように構成した本発明によれば、操作対象物の表面において指示体によって指し示される指示位置に第2マーカが表示されるだけでなく、指示体の近傍位置にも第1マーカが表示される。そして、指示体が操作対象物に近づくにつれて、第1マーカと第2マーカの位置が近付きつつ、第2マーカの大きさが小さくなって第1マーカの大きさに近づいていく。このためユーザは、第1マーカと第2マーカとの相対位置関係や相対サイズ関係をもとに、操作対象物と指示体との距離感や、指示体が操作対象物のどこを指し示しているのかを容易に把握することができ、指示体の近傍位置に表示される第1マーカと操作対象物の表面に表示される第2マーカとが重なるように指示体の位置を調整することで、操作対象物の所望位置に正しく接触することが可能となる。このように本発明によれば、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作する場合においても、操作対象物と指示体との3次元的な距離感や位置関係を直感的に把握して、ユーザの狙った位置に指示体を正確に操作することができる。
【図面の簡単な説明】
【0014】
【
図1】本実施形態のユーザインタフェース装置が適用されたVR画像表示システムの全体構成例を示す図である。
【
図2】HMDに表示される3次元仮想空間画像の1シーンの一例を示す図である。
【
図3】本実施形態によるユーザインタフェース装置の機能構成例を示すブロック図である。
【
図4】本実施形態の接触検出領域、解除検出領域および表示対象領域を示す図である。
【
図5A】第1マーカおよび第2マーカの表示例を示す図である。
【
図5B】第1マーカおよび第2マーカの表示例を示す図である。
【
図5C】第1マーカおよび第2マーカの表示例を示す図である。
【
図5D】第1マーカおよび第2マーカの表示例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本実施形態のユーザインタフェース装置が適用されたVR画像表示システムの全体構成例を示す図である。本実施形態のVR画像表示システムは、本実施形態のユーザインタフェース装置を含む制御装置1と、ユーザの頭部に装着して使用されるヘッドマウントディスプレイ(HMD)2と、ユーザが左右の手に把持して使用するコントローラ3L,3Rとを備えて構成される。なお、制御装置1がHMD2に内蔵される構成としてもよい。
【0016】
HMD2のタイプは任意である。すなわち、HMD2は、両眼タイプでもよいし、単眼タイプでもよい。また、HMD2は、目を完全に覆う非透過型でもよいし、透過型でもよい。また、HMD2は、ゴーグル型、眼鏡型、帽子型の何れであってもよい。HMD2には動きセンサが搭載されている。動きセンサは、加速度センサやジャイロセンサなどを組み合わせて構成される公知のセンサであり、ユーザの頭の動きの方向や速さ、姿勢の変化等に応じた加速度や角速度を検出し、これらの動き検出情報を制御装置1に無線で送信する。
【0017】
コントローラ3L,3Rは、ユーザが所望の指示を制御装置1に与えるためのものであり、所定の操作ボタンが設けられている。コントローラ3L,3Rにも動きセンサが搭載されており、ユーザの両手の動きの方向や速さ、姿勢の変化等に応じた加速度や角速度を検出し、これらの動き検出情報を制御装置1に無線で送信する。
【0018】
制御装置1は、内蔵の記憶媒体あるいは外部接続された記憶媒体に記憶されている3次元仮想空間画像を再生してHMD2に表示させる。ここで、制御装置1は、HMD2から送信される動き検出情報に基づいて、ユーザの頭の動きに応じてHMD2の表示上に実現される3次元仮想空間画像の視界が動的に変わるように、3次元仮想空間画像の表示を制御する。
【0019】
3次元仮想空間画像の中には、操作対象物の画像(以下、単に操作対象物という)および指示体の画像(以下、単に指示体という)が含まれている。制御装置1は、コントローラ3L,3Rから送信される動き検出情報に基づいて、ユーザの両手の動きに応じて操作対象物および指示体の位置や姿勢が動的に変わるように、操作対象物および指示体の表示を制御する。制御装置1は、3次元仮想空間画像内にある操作対象物を3次元仮想空間画像内にある指示体によって操作するようになされたユーザインタフェース装置を含んでいる。
【0020】
図2は、HMD2に表示される3次元仮想空間画像の1シーンの一例を示す図である。
図2に示すように、3次元仮想空間画像100の中に操作対象物110および指示体120が含まれている。なお、
図2において、操作対象物110および指示体120以外の背景の画像は図示を省略している(
図5A~
図5Dについても同様)。操作対象物110は、例えばタッチパネルを模擬したオブジェクトであり、押下操作可能な1つ以上のボタン111が含まれている。指示体120は、例えば手の形を模擬したオブジェクトである。
図2の例では、人差し指を伸ばした状態の手が表示されており、厳密にはこの人差し指の指先が指示体120に相当する。
【0021】
図3は、制御装置1が備える本実施形態によるユーザインタフェース装置10の機能構成例を示すブロック図である。
図3に示すように、本実施形態のユーザインタフェース装置10は、機能構成として、操作対象物表示部11、指示体表示部12、接触判定部13、解除判定部14およびマーカ表示部15を備えている。
【0022】
これらの機能ブロック11~15は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記機能ブロック11~15は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたユーザインタフェースプログラムが動作することによって実現される。
【0023】
操作対象物表示部11は、3次元仮想空間画像100の中に操作対象物110を表示させる処理を行う。ここで、操作対象物表示部11は、例えば左手用のコントローラ3Lから送信される動き検出情報に基づいて、ユーザの左手の動きに応じて操作対象物110の位置や姿勢が動的に変わるように、操作対象物110の表示を制御する。すなわち、操作対象物表示部11は、左手用のコントローラ3Lから送信される動き検出情報に基づいて、3次元仮想空間画像100のワールド座標系における操作対象物110の表示座標を算出し、算出した表示座標に基づいて操作対象物110を表示する。
【0024】
指示体表示部12は、3次元仮想空間画像100の中に指示体120を表示させる処理を行う。ここで、指示体表示部12は、例えば右手用のコントローラ3Rから送信される動き検出情報に基づいて、ユーザの右手の動きに応じて指示体120の位置や姿勢が動的に変わるように、指示体120の表示を制御する。すなわち、指示体表示部12は、右手用のコントローラ3Rから送信される動き検出情報に基づいて、3次元仮想空間画像100のワールド座標系における指示体120の表示座標を算出し、算出した表示座標に基づいて指示体120を表示する。
【0025】
接触判定部13は、操作対象物表示部11により算出された操作対象物110の表示座標および指示体表示部12により算出された指示体120の表示座標に基づいて、操作対象物110に対する指示体120の接触判定を行う。すなわち、接触判定部13は、3次元仮想空間画像100の中に設定される接触検出領域の中に指示体120が存在するときに、操作対象物110の表面上で指示体によって指し示される指示位置に対して接触操作が行われたと判定する。接触検出領域は、3次元仮想空間画像100内に表示された操作対象物110の位置を基準として当該操作対象物110を含む範囲に設定される。
【0026】
図4(a)は、接触検出領域を説明するための図である。この
図4(a)は、横の長さがhおよび縦の長さがvの平面状のタッチパネルを模擬した操作対象物110に関するローカル座標系を示している。このローカル座標系において、操作対象物110はz=0のxy平面上に存在しているものとする。なお、z>0の方向は、3次元仮想空間画像100の中で操作対象物110を見ている仮想的なユーザがいる方向、すなわち操作対象物110よりも手前側の方向であり、この方向の範囲に指示体120が存在する。また、z<0の方向は、仮想的なユーザから見て操作対象物110よりも奥側の方向である。
【0027】
図4(a)に示す操作対象物110のローカル座標系において、接触検出領域は、横h×縦v×操作対象物110からの高さ|d1|(d1≦0)で表される直方体の領域として設定される。すなわち、z=0におけるxy平面の操作対象物110の位置を基準として、当該操作対象物110を端面とする直方体で、当該操作対象物110よりも奥側に高さd1を有する直方体の領域が接触検出領域として設定される。d1=0のxy平面上に存在する操作対象物110の表面だけを接触検出領域としてもよいが、接触検出領域にd1<0の領域を含めているのは、指示体120で操作対象物110を突き抜けるように押下した後に指示体120の位置を見失わないようにするためである。
【0028】
指示体120の位置P(xp, yp, zp)が接触検出領域内にあるとき、接触判定部13は、xy座標(xp, yp)を接触位置情報として出力する。このxy座標(xp, yp)は、指示体120の存在する位置P(xp, yp, zp)からz=0のxy平面に垂線を下ろしたときに交点となる位置の座標である。すなわち、指示体120が接触検出領域内にある場合、そのときの指示体120のxy座標(xp, yp)が、操作対象物110の表面上で指示体120によって指し示される指示位置の座標となる。接触判定部13は、当該指示位置が対して接触操作が行われたと判定し、指示位置のxy座標(xp, yp)を接触位置情報として出力する。指示体120によって指示されたxy座標(xp, yp)の接触位置にボタン111が存在する場合、制御装置1は、ボタン111の操作に応じてあらかじめ決められた処理を実行する。なお、接触判定部13は、zp>0の状態からzp=0の状態になったとき(操作対象物110の表面に指示体120が接触したとき)のxy座標(xp, yp)を接触位置情報として出力し、その後zp<0の状態においてはxy座標(xp, yp)を出力しないようにしてもよい。
【0029】
解除判定部14は、操作対象物表示部11により算出された操作対象物110の表示座標および指示体表示部12により算出された指示体120の表示座標に基づいて、操作対象物110に対する指示体120の接触操作の解除判定を行う。すなわち、解除判定部14は、接触判定部13により接触操作が行われたと判定された後に、指示体120が接触検出領域の外に移動して、接触検出領域から離間した位置に設定される解除検出領域の中に指示体120が入ったときに、接触操作が解除されたと判定する。
【0030】
図4(b)は、解除検出領域を説明するための図である。この
図4(b)も
図4(a)と同様のローカル座標系を示している。
図4(b)に示す操作対象物110のローカル座標系において、解除検出領域は、操作対象物110からの高さd2の位置を基準として、横h×縦v×高さd3-d2(0<d2<d3)で表される直方体の領域として設定される。すなわち、z=0に位置にある接触検出領域の端面から手前側の方向にz=d2だけ離間した位置を端面とする直方体で、高さd3-d2を有する直方体の領域が解除検出領域として設定される。z=0の操作対象物110の位置を端面とする解除検出領域を設定してもよいが、z=d2だけ離間した位置から解除検出領域を設定しているのは、指示体120の振動で連続的に接触操作の検出が行われる状態を避けるためである。
【0031】
指示体120の位置P(xp, yp, zp)が解除検出領域内にあるとき、解除判定部14は、xy座標(xp, yp)を解除位置情報として出力する。このxy座標(xp, yp)の解除位置にボタン111が存在する場合、制御装置1は、ボタン111の操作解除に応じてあらかじめ決められた処理を実行する。なお、解除判定部14は、zp<d2の状態からzp=d2の状態になったときのxy座標(xp, yp)を解除位置情報として出力し、その後zp>d2の状態においてはxy座標(xp, yp)を出力しないようにしてもよい。
【0032】
マーカ表示部15は、指示体120の近傍位置に第1マーカを表示するとともに、操作対象物110の表面上で指示体120によって指し示される指示位置に第2マーカを表示する。ここで、マーカ表示部15は、操作対象物110の位置を基準として当該操作対象物110を含み接触検出領域よりも広い範囲に設定される表示対象領域の中に指示体120が存在するときに、第1マーカおよび第2マーカを表示する。指示体120が接触検出領域の外側にあるときに、指示体120によって指し示される指示位置は、
図4に示すローカル座標系において指示体120の存在する位置P(x
p, y
p, z
p)からz=0のxy平面に垂線を下ろしたときに交点となる位置である。
【0033】
図4(c)は、表示対象領域を説明するための図である。この
図4(c)も
図4(a)および
図4(b)と同様のローカル座標系を示している。
図4(c)に示す操作対象物110のローカル座標系において、表示対象領域は、横h×縦v×高さ|d1|+|d3|(d1<0、d3>0)で表される直方体の領域として設定される。すなわち、z=0の位置にある操作対象物110を一断面として含む直方体で、当該操作対象物110よりも手前側に高さd3および操作対象物110よりも奥側に高さd1を有する直方体の領域が表示対象領域として設定される。
【0034】
なお、z=0の位置にある操作対象物110を基準として、横h×縦v×高さ|d1|+|d3|(d1<0、d3>0)で表される直方体の領域をマーカの表示対象領域、z=0の位置に存在する横h×縦vのxy平面(操作対象物110の表面)を接触検出領域、z=d2(d2>0)の位置に存在する横h×縦vのxy平面(操作対象物110の表面から手前側にd2だけ離間した位置に存在する平面)を解除検出領域として設定するようにしてもよい。
【0035】
本実施形態において、マーカ表示部15は、指示体120が表示対象領域の中で且つ接触検出領域の外に存在するときに、指示体120と操作対象物110との距離が短くなるほど少なくとも第2マーカM2の大きさが小さくなって第1マーカM1の大きさに近づくように、距離に応じて少なくとも第2マーカM2を拡縮して表示する。本実施形態では一例として、第1マーカおよび第2マーカの両方を、指示体120と操作対象物110との距離が短くなるほど大きさが小さくなるように拡縮して表示する。ここで、マーカ表示部15は、第1マーカの最大サイズよりも第2マーカの最大サイズの方が大きく、指示体120の単位移動距離当たりのマーカM1,M2の拡縮率が第1マーカM1よりも第2マーカM2の方が大きくなるようにして、第1マーカおよび第2マーカを表示する。
【0036】
第1マーカおよび第2マーカは同形状のマーカであり、マーカ表示部15は、指示体120と操作対象物110との距離が短くなるにつれて第1マーカおよび第2マーカが小さくなっていき、指示体120が接触検出領域の中に入ったときに第1マーカと第2マーカとが一致するように、第1マーカおよび第2マーカを表示する。以下に説明するように、本実施形態において第1マーカおよび第2マーカは、何れもリング形状のマーカである。
【0037】
図5A~
図5Dは、第1マーカおよび第2マーカの表示例を示す図である。ここでは、指示体120を操作対象物110に近づけていったときにおける第1マーカおよび第2マーカの表示状態の変化を示している。
図5Aは、指示体120が表示対象領域の中に入っておらず、第1マーカおよび第2マーカが表示されていない状態を示している。
【0038】
図5Bは、指示体120を操作対象物110の方に近づけて、指示体120が表示対象領域の中に入った直後の状態を示している。
図5Bに示すように、指示体120が表示対象領域の中に入った直後で、指示体120が表示対象領域の最も手前側の位置(z≒d3の位置)にあるときに、第1マーカM1および第2マーカM2がそれぞれの最大サイズで表示される。このとき、指示体120の近傍位置にある第1マーカM1よりも、操作対象物110の表面上で指示体120によって指し示される指示位置にある第2マーカM2の方が大きく表示される。
【0039】
図5Cは、
図5Bの状態よりも更に指示体120を操作対象物110の方に近づけた状態を示している。第1マーカM1および第2マーカM2はそれぞれ、
図5Bの状態よりも小さく表示されている。ここで、第1マーカM1および第2マーカM2の大きさは、操作対象物110のローカル座標系において指示体120の位置P(x
p, y
p, z
p)におけるz方向の値z
pに応じて拡縮される。このとき、指示体120の単位移動距離当たりのマーカM1,M2の拡縮率は、第1マーカM1よりも第2マーカM2の方が大きい。
【0040】
図5Dは、
図5Cの状態よりも更に指示体120を操作対象物110の方に近づけて、指示体120が接触検出領域の中に入ったときの状態を示している。このとき、第2マーカM2よりも小さな縮小率で縮小されていった第1マーカM1と、第1マーカM1よりも大きな縮小率で縮小されていった第2マーカM2とが一致する。ここでいう一致とは、第1マーカM1の表示位置および表示サイズと、第2マーカM2の表示位置および表示サイズとが互いに同じになるということである。
【0041】
マーカ表示部15は、第1マーカM1と第2マーカM2とが一致した後、指示体120が接触検出領域の中に存在する間、第1マーカM1または第2マーカM2の何れか一方のみを表示する。
図5Dでは、第1マーカM1のみを表示した状態を示している。また、マーカ表示部15は、解除判定部14より接触操作が解除されたと判定されたときに、第1マーカM1または第2マーカM2の何れか一方のみを表示していた状態から、第1マーカM1および第2マーカM2の両方を表示する状態に切り替える。
【0042】
ここでは、第1マーカM1および第2マーカM2の両方を拡縮して表示する例について説明したが、本発明はこれに限定されない。例えば、マーカ表示部15は、指示体120と操作対象物110との距離によらず第1マーカM1を固定の大きさで表示する一方、指示体120が接触検出領域の外に存在するときに指示体120と操作対象物110との距離が短くなるほど大きさが小さくなるように第2マーカM2を拡縮して表示するようにしてもよい。
【0043】
以上詳しく説明したように、本実施形態では、3次元仮想空間画像内にある指示体120の近傍位置に第1マーカM1を表示するとともに、指示体120と同じ3次元仮想空間画像内にある操作対象物110の表面上で指示体120によって指し示される指示位置に第2マーカM2を表示する。ここで、指示体120が接触検出領域の外に存在するときに、指示体120と操作対象物110との距離が短くなるほど少なくとも第2マーカM2の大きさが小さくなって第1マーカM1の大きさに近づくように、距離に応じて各マーカM1,M2を拡縮して表示する。そして、指示体120が接触検出領域の中に入ったときに、操作対象物110の表面上で指示体120によって指し示される指示位置に対して接触操作が行われたと判定し、このときに第1マーカM1と第2マーカM2とが一致した状態で表示されるようにしている。
【0044】
このように構成した本実施形態によれば、操作対象物110の表面において指示体120によって指し示される指示位置に第2マーカM2が表示されるだけでなく、指示体120の近傍位置にも第1マーカM1が表示される。そして、指示体120が操作対象物110に近づくにつれて、第1マーカM1と第2マーカM2の位置が近付きつつ、第2マーカM2の大きさが小さくなって第1マーカM1の大きさに近づいていく。このためユーザは、第1マーカM1と第2マーカM2との相対位置関係や相対サイズ関係をもとに、操作対象物110と指示体120との距離感や、指示体120が操作対象物110のどこを指し示しているのかを容易に把握することができ、指示体120の近傍位置に表示される第1マーカM1と操作対象物110の表面に表示される第2マーカM2とが重なるように指示体120の位置を調整することで、操作対象物110の所望位置に正しく接触することが可能となる。
【0045】
このように本実施形態によれば、3次元仮想空間画像内にある操作対象物110を3次元仮想空間画像内にある指示体120によって操作する場合においても、操作対象物110と指示体120との3次元的な距離感や位置関係を直感的に把握して、ユーザの狙った位置に指示体120を正確に操作することができる。
【0046】
なお、上記実施形態では、操作対象物110の位置を基準として当該操作対象物110を含む範囲(操作対象物110の平面を一断面または端面とする直方体領域)に表示対象領域および接触検出領域を設定する例について説明したが、本発明はこれに限定されない。例えば、操作対象物110の一部の平面を含む範囲に表示対象領域および接触検出領域を設定するようにしてもよい。操作対象物110の一部の平面は、例えば、
図2のように押下可能なボタン111が操作対象物110の中の一部領域のみに存在する場合、ボタン111の周辺領域のみを含む範囲に表示対象領域および接触検出領域を設定するようにしてもよい。
【0047】
また、上記実施形態では、操作対象物110の平面を一断面とする直方体領域を表示対象領域として設定する例について説明したが、本発明はこれに限定されない。例えば、操作対象物110よりも広い平面を一断面とする直方体領域を表示対象領域として設定するようにしてもよい。例えば、3次元仮想空間画像100が表示される範囲を全て表示対象領域としてもよい。
【0048】
この場合、操作対象物110の表面上で指示体120によって指し示される指示位置は、指示体120から操作対象物110の表面に垂線を下した交点位置ではなく、直線状に形成された指示体120の当該直線方向の延長線と操作対象物110との交点位置とする。マーカ表示部15は、指示体120が表示対象領域内にあるときは指示体120の近傍に第1マーカM1を常に表示するが、交点位置が検出されるときのみ第2マーカM2を表示し、交点位置が検出されないときは第2マーカM2を非表示とする。
【0049】
また、上記実施形態では、第1マーカM1および第2マーカM2をリング形状とする例について説明したが、これ以外の形状であってもよい。
【0050】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0051】
1 制御装置
2 HMD
3L,3R コントローラ
10 ユーザインタフェース装置
11 操作対象物表示部
12 指示体表示部
13 接触判定部
14 解除判定部
15 マーカ表示部
100 3次元仮想空間画像
110 操作対象物
111 ボタン
120 指示体