IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ABALの特許一覧

<>
  • 特許-仮想空間体感システム 図1
  • 特許-仮想空間体感システム 図2
  • 特許-仮想空間体感システム 図3
  • 特許-仮想空間体感システム 図4
  • 特許-仮想空間体感システム 図5
  • 特許-仮想空間体感システム 図6
  • 特許-仮想空間体感システム 図7
  • 特許-仮想空間体感システム 図8
  • 特許-仮想空間体感システム 図9
  • 特許-仮想空間体感システム 図10
  • 特許-仮想空間体感システム 図11
  • 特許-仮想空間体感システム 図12
  • 特許-仮想空間体感システム 図13
  • 特許-仮想空間体感システム 図14
  • 特許-仮想空間体感システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-04-08
(45)【発行日】2022-04-18
(54)【発明の名称】仮想空間体感システム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20220411BHJP
   A63F 13/56 20140101ALI20220411BHJP
【FI】
G06T19/00 300B
A63F13/56
【請求項の数】 4
(21)【出願番号】P 2021575439
(86)(22)【出願日】2021-06-01
(86)【国際出願番号】 JP2021020889
【審査請求日】2021-12-17
【早期審査対象出願】
(73)【特許権者】
【識別番号】321001355
【氏名又は名称】株式会社ABAL
(74)【代理人】
【識別番号】110000800
【氏名又は名称】特許業務法人創成国際特許事務所
(72)【発明者】
【氏名】尾小山 良哉
【審査官】板垣 有紀
(56)【参考文献】
【文献】国際公開第2021/095175(WO,A1)
【文献】特開2019-192178(JP,A)
【文献】リーン ジン,セカンドライフ 歩き方ハンドブック,初版,日本,株式会社ソーテック社,2007年08月31日,pp. 44, 51
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
A63F 13/56
(57)【特許請求の範囲】
【請求項1】
第1ユーザ及び第2ユーザが存在する現実空間に対応する仮想空間を生成する仮想空間生成部と、
前記第1ユーザに対応する第1アバター、及び、前記第2ユーザに対応する第2アバターを、前記仮想空間に生成するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応し、前記第1アバター及び前記第2アバターとは独立したアバターであるゴーストを、前記仮想空間に生成するアバター生成部と、
前記現実空間における前記第1ユーザの座標及び前記第2ユーザの座標を認識するユーザ座標認識部と、
前記第1ユーザの座標に基づいて、前記仮想空間における前記第1アバターの座標を決定し、前記第2ユーザの座標に基づいて、前記仮想空間における前記第2アバターの座標を決定するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応する前記第1アバター又は前記第2アバターの座標に所定のズレを生じさせた座標に基づいて、前記ゴーストの座標を決定するアバター座標決定部と、
前記第1アバターの座標及び前記第2アバターの座標に基づいて、前記第1ユーザ及び前記第2ユーザに認識させる前記仮想空間の画像を決定する仮想空間画像決定部と、
第1トリガーイベントの発生を認識するトリガーイベント認識部と、
前記第1ユーザ及び前記第2ユーザに、前記仮想空間の画像を認識させる仮想空間画像表示器とを備えている仮想空間体感システムにおいて、
前記アバター座標決定部は、前記第1トリガーイベントの発生が認識された際に、前記第1アバター及び前記第2アバターの一方の座標を、前記第1アバター及び前記第2アバターの他方の座標に一致する座標又は隣接する座標に移動させ
前記仮想空間画像決定部は、前記第1ユーザ及び前記第2ユーザの他方に認識させる前記仮想空間の画像に、前記第1ユーザ及び前記第2ユーザの一方に対応している旨を示す情報を付加した前記ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第1ユーザ及び前記第2ユーザの他方に対応する前記第1アバター又は前記第2アバターが前記ゴーストに対して実行する所定の動作であることを特徴とする仮想空間体感システム。
【請求項2】
第1ユーザ及び第2ユーザが存在する現実空間に対応する仮想空間を生成する仮想空間生成部と、
前記第1ユーザに対応する第1アバター、及び、前記第2ユーザに対応する第2アバターを、前記仮想空間に生成するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応し、前記第1アバター及び前記第2アバターとは独立したアバターであるゴーストを、前記仮想空間に生成するアバター生成部と、
前記現実空間における前記第1ユーザの座標及び前記第2ユーザの座標を認識するユーザ座標認識部と、
前記第1ユーザの座標に基づいて、前記仮想空間における前記第1アバターの座標を決定し、前記第2ユーザの座標に基づいて、前記仮想空間における前記第2アバターの座標を決定するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応する前記第1アバター又は前記第2アバターの座標に所定のズレを生じさせた座標に基づいて、前記ゴーストの座標を決定するアバター座標決定部と、
前記第1アバターの座標及び前記第2アバターの座標に基づいて、前記第1ユーザ及び前記第2ユーザに認識させる前記仮想空間の画像を決定する仮想空間画像決定部と、
第1トリガーイベントの発生を認識するトリガーイベント認識部と、
前記第1ユーザ及び前記第2ユーザに、前記仮想空間の画像を認識させる仮想空間画像表示器とを備えている仮想空間体感システムにおいて、
前記仮想空間画像決定部は、前記第1ユーザ及び前記第2ユーザの他方に認識させる前記仮想空間の画像に、前記第1ユーザ及び前記第2ユーザの一方に対応している旨を示す情報を付加した前記ゴーストの画像を含ませ、且つ、前記第1トリガーイベントの発生が認識された際に、前記第1ユーザ及び前記第2ユーザの一方に認識させる前記仮想空間の画像を、前記第1アバター及び前記第2アバターの一方の座標が前記第1アバター及び前記第2アバターの他方の座標に一致する座標又は隣接する座標に移動した場合における画像にし、
前記第1トリガーイベントは、前記第1ユーザ及び前記第2ユーザの他方に対応する前記第1アバター又は前記第2アバターが前記ゴーストに対して実行する所定の動作であることを特徴とする仮想空間体感システム。
【請求項3】
請求項1又は請求項2に記載の仮想空間体感システムにおいて、
前記トリガーイベント認識部は、第2トリガーイベントの発生を認識し、
前記アバター生成部は、前記第2トリガーイベントの発生が認識された際に、前記第1ユーザに対応する前記ゴーストである第1ゴーストを、前記仮想空間に生成し、
前記アバター座標決定部は、前記第2トリガーイベントの発生が認識された後には、前記第1ユーザの座標に前記所定のズレを生じさせた座標に基づいて、前記第1アバターの座標を決定し、前記第1ユーザの座標に基づいて、前記仮想空間における前記第1ゴーストの座標を決定し、
前記仮想空間画像決定部は、前記第2トリガーイベントの発生が認識された後には、前記第2ユーザに認識させる前記仮想空間の画像に、前記第1ユーザに対応している旨を示す情報を付加した前記第1ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第2アバターが前記第1ゴーストに対して実行する所定の動作であることを特徴とする仮想空間体感システム。
【請求項4】
請求項1~請求項3のいずれか1項に記載の仮想空間体感システムにおいて、
前記トリガーイベント認識部は、第2トリガーイベントの発生を認識し、
前記アバター生成部は、前記第2トリガーイベントの発生が認識された際に、前記第2ユーザに対応する前記ゴーストである第2ゴーストを、前記仮想空間に生成し、
前記アバター座標決定部は、前記第2トリガーイベントの発生が認識された後には、前記第1ユーザの座標に前記所定のズレを生じさせた座標に基づいて、前記第1アバターの座標を決定し、前記第2ユーザの座標に前記所定のズレを生じさせた座標に基づいて、前記仮想空間における前記第2ゴーストの座標を決定し、
前記仮想空間画像決定部は、前記第2トリガーイベントの発生が認識された後には、前記第1ユーザに認識させる前記仮想空間の画像に、前記第2ユーザに対応している旨を示す情報を付加した前記第2ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第1アバターが前記第2ゴーストに対して実行する所定の動作であることを特徴とする仮想空間体感システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像として表示された仮想空間に、ユーザ自身が存在していると認識させるための仮想空間体感システムに関する。
【背景技術】
【0002】
従来、サーバ等で仮想空間を生成し、ヘッドマウントディスプレイ(以下、「HMD」ということがある。)を介して、その仮想空間の画像をユーザに認識させ、ユーザ自身がその仮想空間に存在していると認識させる仮想空間体感システムがある。
【0003】
この種の仮想空間体感システムは、モーションキャプチャー装置等によってユーザの現実空間における動作(例えば、座標の移動、向きを含む姿勢の変化等)を認識し、その認識した動作に応じて、ユーザに対応するアバターを仮想空間で動作させるものがある(例えば、特許文献1参照)。
【0004】
特許文献1に記載の仮想空間体感システムでは、複数のユーザの各々に対応するようにして、同一の仮想空間に複数のアバターを生成している。そして、この仮想空間体感システムでは、各ユーザに認識させる仮想空間の画像は、自らに対応したアバターの座標に基づいて決定される。すなわち、同時に仮想空間を体感している場合であっても、ユーザごとに視認している仮想空間の画像(ひいては、体感している仮想空間の環境)は異なる。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2010157461号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、複数のユーザが同時に仮想空間を体感しており、且つ、ユーザごとに体感している仮想空間の環境が異なっている場合、一方のユーザが、自らの体感している環境を、他方のユーザにも体感してほしいと考える場合がある。また逆に、一方のユーザが、他方のユーザが体感している環境を、自らが体感したいと考える場合もある。
【0007】
本発明は以上の点に鑑みてなされたものであり、仮想空間で異なる環境を体感していた複数のユーザが、同様の環境を体感することができるようになる仮想空間体感システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の発明の仮想空間体感システムは、
第1ユーザ及び第2ユーザが存在する現実空間に対応する仮想空間を生成する仮想空間生成部と、
前記第1ユーザに対応する第1アバター、及び、前記第2ユーザに対応する第2アバターを、前記仮想空間に生成するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応し、前記第1アバター及び前記第2アバターとは独立したアバターであるゴーストを、前記仮想空間に生成するアバター生成部と、
前記現実空間における前記第1ユーザの座標及び前記第2ユーザの座標を認識するユーザ座標認識部と、
前記第1ユーザの座標に基づいて、前記仮想空間における前記第1アバターの座標を決定し、前記第2ユーザの座標に基づいて、前記仮想空間における前記第2アバターの座標を決定するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応する前記第1アバター又は前記第2アバターの座標に所定のズレを生じさせた座標に基づいて、前記ゴーストの座標を決定するアバター座標決定部と、
前記第1アバターの座標及び前記第2アバターの座標に基づいて、前記第1ユーザ及び前記第2ユーザに認識させる前記仮想空間の画像を決定する仮想空間画像決定部と、
第1トリガーイベントの発生を認識するトリガーイベント認識部と、
前記第1ユーザ及び前記第2ユーザに、前記仮想空間の画像を認識させる仮想空間画像表示器とを備えている仮想空間体感システムにおいて、
前記アバター座標決定部は、前記第1トリガーイベントの発生が認識された際に、前記第1アバター及び前記第2アバターの一方の座標を、前記第1アバター及び前記第2アバターの他方の座標に一致する座標又は隣接する座標に移動させ
前記仮想空間画像決定部は、前記第1ユーザ及び前記第2ユーザの他方に認識させる前記仮想空間の画像に、前記第1ユーザ及び前記第2ユーザの一方に対応している旨を示す情報を付加した前記ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第1ユーザ及び前記第2ユーザの他方に対応する前記第1アバター又は前記第2アバターが前記ゴーストに対して実行する所定の動作であることを特徴とする。
【0009】
ここで、「仮想空間の画像」には、仮想空間の背景の画像の他、他のアバターの画像、仮想空間にのみ存在するオブジェクトの画像、現実空間に対応して仮想空間に存在するオブジェクトの画像等が含まれる。
【0010】
このように、本第1の発明の仮想空間体感システムでは、第1トリガーイベントの発生が認識された際には、アバター座標決定部は、第1アバター及び第2アバターの一方の座標を、第1アバター及び第2アバターの他方の座標に一致する座標又は隣接する座標に移動させている。
【0011】
ここで、第1ユーザ及び第2ユーザに認識させる仮想空間の画像は、第1アバター及び第2アバターの座標に基づいて決定される。そのため、アバター同士の座標が一致又は隣接している場合には、それらのアバターに対応する各々のユーザの認識する仮想空間の画像も、一致又は隣接した画像(すなわち、同様の画像)になる。
【0012】
したがって、本第1の発明の仮想空間体感システムによれば、第1トリガーイベントの発生が認識された際には、各々のユーザの認識する仮想空間の画像も一致又は隣接した画像にすることができるので、それまで仮想空間で異なる環境を体感していた第1ユーザ及び第2ユーザが、ほぼ同じ環境を体感することができるようになる。
【0013】
また、本第2の発明の仮想空間体感システムは、
第1ユーザ及び第2ユーザが存在する現実空間に対応する仮想空間を生成する仮想空間生成部と、
前記第1ユーザに対応する第1アバター、及び、前記第2ユーザに対応する第2アバターを、前記仮想空間に生成するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応し、前記第1アバター及び前記第2アバターとは独立したアバターであるゴーストを、前記仮想空間に生成するアバター生成部と、
前記現実空間における前記第1ユーザの座標及び前記第2ユーザの座標を認識するユーザ座標認識部と、
前記第1ユーザの座標に基づいて、前記仮想空間における前記第1アバターの座標を決定し、前記第2ユーザの座標に基づいて、前記仮想空間における前記第2アバターの座標を決定するとともに、前記第1ユーザ及び前記第2ユーザの一方に対応する前記第1アバター又は前記第2アバターの座標に所定のズレを生じさせた座標に基づいて、前記ゴーストの座標を決定するアバター座標決定部と、
前記第1アバターの座標及び前記第2アバターの座標に基づいて、前記第1ユーザ及び前記第2ユーザに認識させる前記仮想空間の画像を決定する仮想空間画像決定部と、
第1トリガーイベントの発生を認識するトリガーイベント認識部と、
前記第1ユーザ及び前記第2ユーザに、前記仮想空間の画像を認識させる仮想空間画像表示器とを備えている仮想空間体感システムにおいて、
前記仮想空間画像決定部は、前記第1ユーザ及び前記第2ユーザの他方に認識させる前記仮想空間の画像に、前記第1ユーザ及び前記第2ユーザの一方に対応している旨を示す情報を付加した前記ゴーストの画像を含ませ、且つ、前記第1トリガーイベントの発生が認識された際に、前記第1ユーザ及び前記第2ユーザの一方に認識させる前記仮想空間の画像を、前記第1アバター及び前記第2アバターの一方の座標が前記第1アバター及び前記第2アバターの他方の座標に一致する座標又は隣接する座標に移動した場合における画像にし、
前記第1トリガーイベントは、前記第1ユーザ及び前記第2ユーザの他方に対応する前記第1アバター又は前記第2アバターが前記ゴーストに対して実行する所定の動作であることを特徴とする。
【0014】
このように、本第2の発明の仮想空間体感システムでは、第1トリガーイベントの発生が認識された際には、仮想空間画像決定部は、第1ユーザ及び第2ユーザの一方に認識させる仮想空間の画像を、第1アバター及び第2アバターの一方の座標が第1アバター及び第2アバターの他方の座標に一致する座標又は隣接する座標に移動した場合における画像にしている。
【0015】
すなわち、第1トリガーイベントの発生が認識された際には、一方のユーザに認識させる仮想空間の画像を決定するための基準となる座標を、そのユーザに対応するアバターの座標の位置に関係なく、他方のユーザに対応するアバターの座標に一致する座標又はそれに隣接する座標としている。
【0016】
これにより、第1トリガーイベントの発生が認識された際には、一方のユーザは、他方のユーザとともに、他方のユーザに対応するアバターの座標に一致する座標又は隣接する座標に基づいて決定された仮想空間の画像を認識することになる。
【0017】
したがって、本第2の発明の仮想空間体感システムによれば、第1トリガーイベントの発生が認識された後には、一方のユーザは、他方のユーザに対応するアバターの座標に一致する座標又は隣接する座標に基づいて決定された仮想空間の画像を認識することになるので、それまで仮想空間で異なる環境を体感していた第1ユーザ及び第2ユーザが、ほぼ同じ環境を体感することができるようになる。
【0018】
ところで、本発明の仮想空間体感システムにおいては、
前記アバター生成部は、前記第1ユーザ及び前記第2ユーザの一方に対応し、前記第1アバター及び前記第2アバターとは独立したアバターであるゴーストを、前記仮想空間に生成し、
前記アバター座標決定部は、前記第1ユーザ及び前記第2ユーザの一方に対応する前記第1アバター又は前記第2アバターの座標に所定のズレを生じさせた座標に基づいて、前記ゴーストの座標を決定し、
前記仮想空間画像決定部は、前記第1ユーザ及び前記第2ユーザの他方に認識させる前記仮想空間の画像に、前記第1ユーザ及び前記第2ユーザの一方に対応している旨を示す情報を付加した前記ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第1ユーザ及び前記第2ユーザの他方に対応する前記第1アバター又は前記第2アバターが前記ゴーストに対して実行する所定の動作であるように構成されている
【0019】
ここで、ユーザに「対応している旨を示す情報」とは、例えば、常時又はユーザの要求に応じて表示されるメッセージといった直接的な情報の他、対応するアバターの形状を半透明にしたものをゴーストの形状として採用することによって示される間接的な情報も含む。
【0020】
仮想空間にユーザに対応するアバターを生成する場合、ユーザ1人に対して必ずしも1つのアバターのみが生成されるわけではない。そこで、ユーザに対応し、且つ、ユーザに認識させる画像を決定する際の基準となるアバターの他に、ユーザに対応しているが、その基準となるアバターとは独立したアバター(すなわち、その基準とはならないアバター)であるゴーストを生成しても構わない。
【0021】
ここで、本発明の仮想空間体感システムでは、ゴーストに、所定のユーザに対応している旨を示す情報が付加されている。そのため、他のユーザは、そのゴーストがどのユーザに対応するものであるのかを、容易に把握することができるようになっている。
【0022】
そのうえで、アバターがそのゴーストに対して実行する所定の動作を第1トリガーイベントとして設定すると、アバターに対応するユーザは、その動作を実行した結果、ゴーストに対応するユーザの環境を自らも体感することができることを、直感的に理解することができるようになる。
【0023】
ここで、「所定の動作」としては、アバターがゴーストを基準として行う何らかの動作であればよい。例えば、アバターがゴーストに接触するような動作、アバターがゴーストを基準とした所定の範囲内に移動するような動作、アバターが仮想空間に存在するオブジェクトを操作する際に、その対象としてゴーストを選択するような動作(例えば、カメラ型オブジェクトでゴーストを撮影するような動作等)等が挙げられる。
【0024】
また、本発明の仮想空間体感システムにおいては、ゴーストを生成する構成の場合、
前記トリガーイベント認識部は、第2トリガーイベントの発生を認識し、
前記アバター生成部は、前記第2トリガーイベントの発生が認識された際に、前記第1ユーザに対応する前記ゴーストである第1ゴーストを、前記仮想空間に生成し、
前記アバター座標決定部は、前記第2トリガーイベントの発生が認識された後には、前記第1ユーザの座標に前記所定のズレを生じさせた座標に基づいて、前記第1アバターの座標を決定し、前記第1ユーザの座標に基づいて、前記仮想空間における前記第1ゴーストの座標を決定し、
前記仮想空間画像決定部は、前記第2トリガーイベントの発生が認識された後には、前記第2ユーザに認識させる前記仮想空間の画像に、前記第1ユーザに対応している旨を示す情報を付加した前記第1ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第2アバターが前記第1ゴーストに対して実行する所定の動作であることが好ましい。
【0025】
例えば、第1ユーザと第2ユーザとが現実空間の同一領域内(例えば、同じ部屋)に存在している場合等には、第1アバターの座標を第1ユーザの座標に所定のズレを生じた座標に基づいて決定していると、第2ユーザが、自らに対応する第2アバターを第1アバターと接触しないように移動したとしても、第1アバターに対応する第1ユーザと接触してしまうおそれがある。
【0026】
そして、その接触を回避するために、第1ユーザに対応する第1ゴーストの座標を、第1ユーザの座標に基づく座標(すなわち、ズレが生じる前の座標)にするという手法が採用されることがある。これにより、第2アバター(すなわち、第2ユーザ)が、第1ゴーストを回避するように移動するようになるので、第2ユーザが第1ユーザに接触してしまうことが抑制できる。
【0027】
そして、そのような手法が採用されている場合には、このように、第1トリガーイベントとして、第2アバターが第1ゴーストに対して実行する動作を採用することが好ましい。
【0028】
そのように構成すると、その動作によって、第2ユーザは、第1ユーザと環境を共有する第1トリガーイベントが発生することを、直感的に理解することができる。ひいては、第1トリガーイベントを発生させるために、第2ユーザの仮想空間への没入感が阻害されてしまうことを抑制することができる。
【0029】
また、本発明の仮想空間体感システムにおいては、ゴーストを生成する構成の場合、
前記トリガーイベント認識部は、第2トリガーイベントの発生を認識し、
前記アバター生成部は、前記第2トリガーイベントの発生が認識された際に、前記第2ユーザに対応する前記ゴーストである第2ゴーストを、前記仮想空間に生成し、
前記アバター座標決定部は、前記第2トリガーイベントの発生が認識された後には、前記第1ユーザの座標に前記所定のズレを生じさせた座標に基づいて、前記第1アバターの座標を決定し、前記第2ユーザの座標に前記所定のズレを生じさせた座標に基づいて、前記仮想空間における前記第2ゴーストの座標を決定し、
前記仮想空間画像決定部は、前記第2トリガーイベントの発生が認識された後には、前記第1ユーザに認識させる前記仮想空間の画像に、前記第2ユーザに対応している旨を示す情報を付加した前記第2ゴーストの画像を含ませ、
前記第1トリガーイベントは、前記第1アバターが前記第2ゴーストに対して実行する所定の動作であることが好ましい。
【0030】
例えば、第1ユーザと第2ユーザとが現実空間の同一領域内(例えば、同じ部屋)に存在している場合等には、第1アバターの座標を第1ユーザの座標に所定のズレを生じた座標に基づいて決定していると、第1ユーザが、自らに対応する第1アバターを第2アバターと接触しないように移動したとしても、第2アバターに対応する第2ユーザと接触してしまうおそれがある。
【0031】
そして、その接触を回避するために、第2ユーザに対応する第4ゴーストの座標を、第2アバターの座標に第1アバターと同様のズレを生じさせた座標にするという手法が採用されることがある。これにより、第1アバター(すなわち、第1ユーザ)が、第4ゴーストを回避するように移動するようになるので、第1ユーザが第2ユーザに接触してしまうことが抑制できる。
【0032】
そのような手法が採用されている場合には、このように、第1トリガーイベントとして、第1アバターが第2ゴーストに対して実行する動作を採用することが好ましい。
【0033】
そのように構成すると、その動作によって、第1ユーザは、第2ユーザと環境を共有する第1トリガーイベントが発生することを、直感的に理解することができる。ひいては、第1トリガーイベントを発生させるために、第1ユーザの仮想空間への没入感が阻害されてしまうことを抑制することができる。
【図面の簡単な説明】
【0034】
図1】第1実施形態に係るVRシステムの概略構成を示す模式図。
図2図1のVRシステムの処理部の構成を示すブロック図。
図3図1のVRシステムが通常の使用状態において実行する処理を示すフローチャート。
図4図1のVRシステムの通常の使用状態における現実空間及び仮想空間の状態を示す模式図。
図5図1のVRシステムが仮想空間を拡張させる際及びそれ以後において実行する処理を示すフローチャート。
図6図1のVRシステムにおいて仮想空間を拡張させる際における現実空間及び仮想空間の状態を示す模式図。
図7図1のVRシステムにおいて仮想空間を拡張させた後における現実空間及び仮想空間の状態を示す模式図。
図8図1のVRシステムが環境を同期させる際及びそれ以後において実行する第1実施形態における処理を示すフローチャート。
図9図1のVRシステムが環境を同期させる際における現実空間及び仮想空間の状態を示す模式図。
図10図1のVRシステムが環境を同期させた後における現実空間及び仮想空間の状態を示す模式図。
図11】第2実施形態のVRシステムが環境を同期させる際に実行する処理を示すフローチャート。
図12図11のVRシステムが環境を同期させる際における現実空間及び仮想空間の状態を示す模式図。
図13図11のVRシステムが環境を同期させた後における現実空間及び仮想空間の状態を示す模式図。
図14図11のVRシステムが環境を同期させる前に、第2ユーザが認識している仮想空間の画像の模式図。
図15図11のVRシステムが環境を同期させた後に、第2ユーザが認識している仮想空間の画像の模式図。
【発明を実施するための形態】
【0035】
[第1実施形態]
以下、図1図10を参照して、第1実施形態に係る仮想空間体感システムであるVRシステムSについて説明する。
【0036】
VRシステムSは、現実空間RSの所定の領域(例えば、1つの部屋)に共に存在する第1ユーザU1及び第2ユーザU2(以下、総称する場合は「ユーザU」という。)に対し、その領域に対応する1つの仮想空間VSに、第1ユーザU1に対応する第1アバターA1及び第2ユーザU2に対応する第2アバターA2を介して、自らが共に存在すると認識させるものである(図4等参照)。
【0037】
なお、本実施形態及び後述する第2実施形態では、理解を容易にするために、ユーザは2人としている。しかし、本発明の仮想空間体感システムは、そのような構成に限定されるものではなく、ユーザの数は3人以上であってもよい。
【0038】
[システムの概略構成]
まず、図1を参照して、VRシステムSの概略構成について説明する。
【0039】
図1に示すように、VRシステムSは、現実空間RSに存在するユーザUに取り付けられる複数の標識1と、ユーザU(厳密には、ユーザUに取り付けられた標識1)を撮影するカメラ2と、仮想空間VS(図4等参照)の画像及び音声を決定するサーバ3と、決定された画像及び音声をユーザに認識させるヘッドマウントディスプレイ(以下、「HMD4」という。)とを備えている。
【0040】
VRシステムSでは、カメラ2、サーバ3及びHMD4は、インターネット網、公衆回線、近距離無線通信等の無線で相互に情報を送受信可能となっている。ただし、それらのいずれか同士を有線で相互に情報を送受信可能に構成してもよい。
【0041】
複数の標識1は、ユーザUの装着するHMD4、手袋及び靴を介して、ユーザUの頭部、両手及び両足のそれぞれに取り付けられている。なお、複数の標識1は、後述するようにユーザUの現実空間RSにおける座標及び姿勢(ひいては、動作(例えば、座標の移動、向きを含む姿勢の変化等))を認識するために用いられるものである。そのため、VRシステムSを構成する他の機器に応じて、標識1の取り付け位置は適宜変更してよい。
【0042】
カメラ2は、ユーザUの存在する現実空間RSのユーザUが動作可能範囲(すなわち、座標の移動、姿勢の変化等をし得る範囲)を多方向から撮影可能なように設置されている。
【0043】
サーバ3は、カメラ2が撮影した画像から標識1を認識し、その認識された標識1の現実空間RSにおける位置に基づいて、ユーザUの座標及び姿勢を認識する。また、サーバ3は、その座標及び姿勢に基づいて、ユーザUに認識させる画像及び音声を決定する。
【0044】
HMD4は、ユーザUの頭部に装着される。HMD4には、ユーザUに、サーバ3によって決定された仮想空間VSの画像をユーザUの認識させるためのモニタ41(仮想空間画像表示器)と、サーバ3によって決定された仮想空間VSの音声をユーザUに認識させるためのスピーカ42(仮想空間音声発生器)とが設けられている(図2参照)。
【0045】
VRシステムSを用いてゲーム等を行う場合、ユーザUは、仮想空間VSの画像と音声のみを認識して、ユーザU自身が仮想空間に存在していると認識させられる。すなわち、VRシステムSは、いわゆる没入型のシステムとして構成されている。
【0046】
なお、本発明の仮想空間体感システムは、そのような没入型のシステムに限定されるものではない。そのため、例えば、現実空間の画像と仮想空間の画像とを重畳して表示して、ユーザに拡張した現実空間を認識させるシステム(いわゆるARシステム)に、本発明の仮想空間体感システムの構成を適用してもよい。
【0047】
VRシステムSでは、ユーザUの現実空間RSにおける座標を認識するシステムとして、標識1とカメラ2とサーバ3とによって構成された、いわゆるモーションキャプチャー装置を備えている。
【0048】
なお、本発明の仮想空間体感システムは、そのような構成に限定されるものではない。例えば、モーションキャプチャー装置を使用する場合には、上記の構成のものの他、標識及びカメラの数が上記構成とは異なる(例えば、それぞれ1つずつ設けられている)ものを用いてもよい。
【0049】
また、例えば、モーションキャプチャー装置に代わり、ユーザの座標のみを認識する装置を用いてもよい。具体的には、例えば、HMDにGPS等のセンサを搭載し、そのセンサからの出力に基づいて、ユーザの座標、姿勢等を認識するようにしてもよい。また、そのようなセンサと、上記のようなモーションキャプチャー装置を併用してもよい。
【0050】
[処理部の構成]
次に、図2を用いて、サーバ3の備えている処理部の構成を詳細に説明する。
【0051】
サーバ3は、CPU、RAM、ROM、インターフェース回路等を含む1つ又は複数の電子回路ユニットにより構成されている。サーバ3は、実装されたハードウェア構成又はプログラムにより実現される機能(処理部)として、図2に示すように、表示画像生成部31と、ユーザ情報認識部32と、トリガーイベント認識部33と、アバター座標決定部34と、仮想空間画像決定部35と、仮想空間音声決定部36とを備えている。
【0052】
表示画像生成部31は、HMD4のモニタ41を介してユーザUに認識させる画像を生成する。表示画像生成部31は、仮想空間生成部31aと、アバター生成部31bと、移動体生成部31cとを有している。
【0053】
仮想空間生成部31aは、仮想空間VSの背景となる画像及び仮想空間VSに存在するオブジェクトの画像を生成する。
【0054】
アバター生成部31bは、仮想空間VSに、第1ユーザU1に対応するようにして第1アバターA1、及び、第1アバターA1とは独立したアバターである第1ゴーストG1を生成する(図6等参照)。また、アバター生成部31bは、第2ユーザU2に対応するようにして、第2アバターA2、及び、第2アバターA2とは独立したアバターである第2ゴーストG2を生成する(図6等参照)。
【0055】
第1アバターA1及び第2アバターA2(以下、総称する場合は「アバターA」という。)、並びに、第1ゴーストG1及び第2ゴーストG2(以下、総称する場合は「ゴーストG」という。)は、対応するユーザUの現実空間RSにおける動作(すなわち、座標の移動及び姿勢の変化)に対応して、仮想空間VSにおいて動作する。
【0056】
移動体生成部31cは、仮想空間VSに、現実空間RSには対応する物体が存在せず、仮想空間VSにアバターと接続可能な移動体を生成する。
【0057】
ここで、「移動体」とは、アバターが接続した際に、ユーザの現実の移動とは異なるアバターの移動を、(意識している、意識していないに関わらず)ユーザUに予測させるものであればよい。
【0058】
例えば、移動体としては、エレベータ等の現実空間で移動に使われるものの他、飛び乗ることが可能な川を流れる丸太、上に立った際に崩れそうな床、ジャンプ台、跳躍を補助する翼等が該当する。また、移動体としては、仮想空間の地面、壁面に描画された文字、模様等も該当する。
【0059】
また、ここで、アバターと移動体との「接続」とは、移動体の移動、移動体の形状の変化等がアバターの座標に影響することを、ユーザが予測し得る状態になることをいう。
【0060】
例えば、アバターがエレベータに乗り込む、アバターが川を流れる丸太に乗る、アバターが崩れそうな床の上に立つ、ジャンプ台の上に立つ、跳躍を補助する翼をアバターが装着する等が、接続に該当する。また、仮想空間の地面、壁面に描画された文字、模様等に、アバターが接触、近接すること等も、接続に該当する。
【0061】
ユーザ情報認識部32には、カメラ2が撮影した標識1を含むユーザUの画像データが入力される。このユーザ情報認識部32は、ユーザ姿勢認識部32aと、ユーザ座標認識部32bとを有している。
【0062】
ユーザ姿勢認識部32aは、入力されたユーザUの画像データから標識1を抽出し、その抽出結果に基づいて、ユーザUの姿勢を認識する。
【0063】
ユーザ座標認識部32bは、入力されたユーザUの画像データから標識1を抽出し、その抽出結果に基づいて、ユーザUの座標を認識する。
【0064】
トリガーイベント認識部33は、システム設計者が予め定めた条件を満たした際に、所定のトリガーイベントが発生したこと、又は、トリガーイベントが解除されたことを認識する。
【0065】
ここで、トリガーイベントは、ユーザがその発生を認識していないものであってもよい。そのため、トリガーイベントとしては、例えば、ユーザが現実空間において所定の動作を行うこと(すなわち、ユーザに対応するアバターが仮想空間において所定の動作を行うこと)等のユーザの動作に起因するものも該当するし、所定時間の経過といったユーザの動作に起因しないものも該当する。
【0066】
アバター座標決定部34は、ユーザ座標認識部32bによって認識されたユーザUの現実空間RSにおける座標に基づいて、そのユーザUに対応するアバターの仮想空間VSにおける座標を決定する。
【0067】
また、アバター座標決定部34は、トリガーイベント認識部33が所定のトリガーイベントの発生を認識した際には、所定期間若しくは所定範囲、又は、所定期間及び所定範囲において、ユーザの座標に関わらず、そのユーザに対応するアバターの座標を移動させる。
【0068】
また、アバター座標決定部34は、トリガーイベント認識部33が所定のトリガーイベントの発生を認識した際には、所定期間若しくは所定範囲、又は、所定期間及び所定範囲において、ユーザUに対応するアバターAの座標に所定のズレを生じさせた座標に基づいて、ゴーストGの座標を決定する。
【0069】
仮想空間画像決定部35は、アバターの座標に基づいて、HMD4のモニタ41を介して、そのアバターに対応するユーザUに認識させる仮想空間の画像を決定する。
【0070】
ここで、「仮想空間の画像」には、仮想空間の背景の画像の他、他のアバターの画像、ゴーストの画像、仮想空間にのみ存在するオブジェクトの画像、現実空間に対応して仮想空間に存在するオブジェクトの画像等が含まれる。
【0071】
なお、本実施形態におけるゴーストGの画像には、そのゴーストGに対応するユーザUに対応している旨を示す情報が付加されている。
【0072】
ここで、ユーザに「対応している旨を示す情報」とは、例えば、常時又はユーザの要求に応じて表示されるメッセージといった直接的な情報の他、対応するアバターの形状を半透明にしたものをゴーストの形状として採用することによって示される間接的な情報も含む。
【0073】
仮想空間音声決定部36は、アバターの座標に基づいて、HMD4のスピーカ42を介して、そのアバターに対応するユーザUに認識させる音声を決定する。
【0074】
なお、本発明の仮想空間体感システムを構成する各処理部は、上記のような構成に限定されるものではない。
【0075】
例えば、上記実施形態においてサーバ3に設けられている処理部の一部を、HMD4に設けてもよい。また、複数のサーバを用いて構成してもよいし、サーバを省略してHMDに搭載されているCPUを協働させて構成してもよい。また、HMDに搭載されているスピーカ以外のスピーカを設けてもよい。また、視覚及び聴覚へ影響を与えるデバイスの他、仮想空間に応じた匂い、風等を生じさせるような嗅覚及び触覚へ影響を与えるデバイスを含めてもよい。
【0076】
[実行される処理]
次に、図2図10を参照して、VRシステムSを用いてユーザUに仮想空間VSを体感させる際に、VRシステムSの実行する処理について説明する。
【0077】
[通常の使用状態における処理]
まず、図2図3及び図4を参照して、VRシステムSが通常の使用状態(すなわち、後述するトリガーイベントの発生を認識していない状態で)実行する処理について説明する。
【0078】
この処理においては、まず、サーバ3の表示画像生成部31は、仮想空間VS、第1アバターA1及び第2アバターA2、並びに、移動体を生成する(図3/STEP100)。
【0079】
具体的には、表示画像生成部31の仮想空間生成部31aは、仮想空間VS及び仮想空間VSに存在する各種オブジェクトを生成する。また、表示画像生成部31のアバター生成部31bは、第1ユーザU1に対応する第1アバターA1及び第2ユーザU2に対応する第2アバターA2を生成する。また、表示画像生成部31の移動体生成部31cは、後述するエレベータVS1等の移動体を生成する。
【0080】
このSTEP100の処理により生成された仮想空間VSには、図4に示すように、第1アバターA1及び第2アバターA2、並びに、移動体であるエレベータVS1の他、現実空間RSに設置されているホワイトボードRS1に対応する位置に生成されたスイッチVS2等のトリガーイベントに関連するオブジェクトが設置されている。
【0081】
次に、サーバ3のアバター座標決定部34は、第1ユーザU1の現実空間RSにおける座標及び姿勢に基づいて、第1アバターA1の仮想空間VSにおける座標及び姿勢を決定し、第2ユーザU2の現実空間RSにおける座標及び姿勢に基づいて、第2アバターA2の仮想空間VSにおける座標及び姿勢を決定する(図3/STEP101)。
【0082】
このSTEP101以降の処理における第1ユーザU1及び第2ユーザU2の座標及び姿勢は、カメラ2によって撮影された画像データに基づいてサーバ3のユーザ情報認識部32によって認識された座標及び姿勢が用いられる。
【0083】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第1ユーザU1に認識させる画像及び音声を、第1アバターA1の仮想空間VSにおける座標及び姿勢に基づいて決定し、第2ユーザU2に認識させる画像及び音声を、第2アバターA2の仮想空間VSにおける座標及び姿勢に基づいて決定(図3/STEP102)。
【0084】
次に、ユーザUの装着しているHMD4は、HMD4に搭載されているモニタ41に決定された画像を表示させ、HMD4に搭載されているスピーカ42に決定された音声を発生させる(図3/STEP103)。
【0085】
次に、サーバ3のユーザ情報認識部32は、第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識されたか否かを判断する(図3/STEP104)。
【0086】
第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識された場合(STEP104でYESの場合)、STEP101に戻り、再度、STEP101以降の処理が実行される。
【0087】
一方、第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識されなかった場合(STEP104でNOの場合)、サーバ3は、処理の終了を指示する信号を認識したか否かを判断する(図3/STEP105)。
【0088】
終了を指示する信号を認識できなかった場合(STEP105でNOの場合)、STEP104に戻り、再度、STEP104以降の処理が実行される。
【0089】
一方、終了を指示する信号を認識した場合(STEP105でYESの場合)、VRシステムSは、今回の処理を終了する。
【0090】
以上の処理により、仮想空間VSでは、第1ユーザU1に対応する第1アバターA1及び第2ユーザU2に対応する第2アバターA2と、移動体であるエレベータVS1、後述するトリガーイベントの発生に関連するスイッチVS2等を含む複数のオブジェクトが設置される。
【0091】
そして、第1ユーザU1及び第2ユーザU2は、それぞれが装着したHMD4で表示される画像及び発生される音声によって、それぞれに対応する第1アバターA1及び第2アバターA2を介して、自身が仮想空間VSに存在し、自由に動作することができると認識するようになる。
【0092】
[仮想空間を拡張させる際及びそれ以後における処理]
次に、図2図4図7を参照して、仮想空間VSをその仮想空間VSに対応する現実空間RSよりも広くなるように拡張させる際及びそれ以後において、VRシステムSが実行する処理について説明する。
【0093】
ここで、具体的な処理の内容の説明に先立って、仮想空間VSをその仮想空間VSに対応する現実空間RSよりも広くなるように拡張させる処理、及び、それに伴う接触回避のための処理の概要を説明する。
【0094】
VRシステムSは、所定のトリガーイベント(本発明における第2トリガーイベント)が発生した際に、第1ユーザU1の座標と第1アバターA1の座標との対応関係、又は、第2ユーザU2と第2アバターA2との対応関係に、ズレを生じさせる処理を行うように構成されている。
【0095】
本実施形態では、例えば、図4に示すように、第1アバターA1が移動体であるエレベータVS1に乗っている状態(接続されている状態)で、図6に示すように、第2アバターA2がスイッチVS2を押すことが、そのトリガーイベントとして設定されている。
【0096】
そして、そのトリガーイベントの発生が認識された際には、図4及び図6に示すように、第1ユーザU1の座標の移動に関わらず、第1ユーザU1に対応する第1アバターA1の座標は、上方向へと移動する。具体的には、第1アバターA1は、エレベータVS1によって、仮想空間VSに規定された1階部分である第1フロアF1から、2階部分である第2フロアF2へと移動する。
【0097】
これにより、VRシステムSでは、対応する第1アバターA1が移動させられた第1ユーザU1、及び、第1アバターA1を認識している第2ユーザU2に、現実空間RSよりも上下方向に拡張された仮想空間VSを認識させることができるようになっている。
【0098】
ここで、そのようなズレを生じさせた場合、第1ユーザU1と第2ユーザU2とは、現実空間RSにおける互いの位置関係を適切に把握することができなくなるおそれがある。その結果、意図せず第1ユーザU1と第2ユーザU2とが接触してしまうおそれがあった。
【0099】
例えば、図6に示す状態においては、第2ユーザU2は、第1アバターA1と同様に第1ユーザU1が現実空間RSでも上方に移動していると誤解してしまう場合がある。そして、図7に示すように、第2ユーザU2は、仮想空間VSで自らに対応する第2アバターA2をエレベータVS1の下方に移動可能であると誤解し、第2アバターA2をエレベータVS1の下方に移動させるように、自らが移動しようとしてしまう場合がある。
【0100】
しかし、現実空間RSでは、実際には第1バターA1に対応する第1ユーザU1が第2ユーザU2と同じ高さに存在している。そのため、その場合には、現実空間RSにおいて、第1ユーザU1と第2ユーザU2とが接触してしまうことになる。その結果、第1ユーザU1及び第2ユーザU2の仮想空間VSへの没入感が阻害されてしまうおそれがあった。
【0101】
そこで、VRシステムSでは、所定のトリガーイベントの発生が認識された際には、以下に説明するように、仮想空間VSをその仮想空間VSに対応する現実空間RSよりも広くなるように拡張させる処理を実行するとともに、接触回避のための処理を実行することにより、意図しない第1ユーザU1と第2ユーザU2との接触を防止している。
【0102】
この処理においては、まず、サーバ3のトリガーイベント認識部33は、トリガーイベントの発生を認識したか否かを判断する(図5/STEP200)。
【0103】
具体的には、まず、トリガーイベント認識部33は、図4に示すように、仮想空間VSで、第1ユーザU1に対応する第1アバターA1の座標が移動体であるエレベータVS1に乗るように、現実空間RSで、第1ユーザU1の座標が移動したか否かを判断する。
【0104】
その後、トリガーイベント認識部33は、さらに、仮想空間VSで、第2ユーザU2に対応する第2アバターA2がスイッチVS2近傍の位置でそのスイッチVS2に触れる姿勢となるように、現実空間RSで、第2ユーザU2が移動して所定の姿勢となったか否かを判断する(図6参照)。
【0105】
そして、第1アバターA1がエレベータVS1に乗った状態で、第2アバターA2がスイッチVSに触れる姿勢となったときには、トリガーイベント認識部33は、トリガーイベントが発生したと認識する。
【0106】
トリガーイベントの発生を認識しなかった場合(STEP200でNOの場合)、STEP200に戻り、再度、判断が実行される。この処理は、所定の制御周期で繰り返される。
【0107】
一方、トリガーイベントの発生を認識した場合(STEP200でYESの場合)、サーバ3のアバター座標決定部34は、第1アバターA1の座標を移動させる(図5/STEP201)。
【0108】
具体的には、アバター座標決定部34は、認識されたトリガーイベントの種類に応じて予め定められているズレの内容(すなわち、補正方向及び補正量)に応じて、第1ユーザU1の座標に基づく第1アバターA1の座標を移動させる。この移動は、第1ユーザU1の座標の移動に基づく第1アバターA1の座標の移動とは、独立して行われる。これにより、第1ユーザU1の座標と第1アバターA1の座標との対応関係にズレが生じる。
【0109】
本実施形態においては、図4の状態から図6に示す状態になるように、第1アバターA1が、エレベータVS1と一体的に、第1フロアF1から第2フロアF2まで上方に向かって移動する。
【0110】
次に、サーバ3の表示画像生成部31は、第1ゴーストG1及び第2ゴーストG2を生成する(図5/STEP202)。
【0111】
具体的には、表示画像生成部31のアバター生成部31bは、トリガーイベントの発生をトリガーとして、仮想空間VSに、第1ユーザU1に対応する第1ゴーストG1を生成するとともに、第2ユーザU2に対応する第2ゴーストG2を生成する。
【0112】
本実施形態においては、図6に示すように、第1ゴーストG1は、第1ユーザU1に対応している旨を示すために、第1アバターA1と同じ形状の半透明のアバターとして構成される。また、第1ゴーストG1には、後述する第1情報ボードG1aが付加される。同様に、第2ゴーストG2は、第2ユーザU2に対応している旨を示すために、第2アバターA2と同じ形状の半透明のアバターとして構成され、また、第2ゴーストG2には、後述する第2情報ボードG2aが付加される。
【0113】
また、本実施形態においては、第1ゴーストG1の生成される座標は、STEP201の処理が実行される直前における第1アバターA1の座標と一致するように設定されている。また、第2ゴーストG2の生成される座標は、第2ユーザU2の座標とは独立した座標となるように設定されている。
【0114】
次に、サーバ3のアバター座標決定部34は、ユーザ情報認識部32が認識した第1ユーザU1の現実空間RSにおける座標及び姿勢に基づいて、第1アバターA1及び第1ゴーストG1の仮想空間VSにおける座標及び姿勢を決定する(図5/STEP203)。
【0115】
具体的には、アバター座標決定部34は、認識されたトリガーイベントの種類に応じて予め定められているズレの内容(すなわち、補正方向及び補正量)に応じて、トリガーイベントの発生が認識される時点の前までの処理(STEP201の処理が実行される前までの処理)によって決定された第1アバターA1の座標及び姿勢を補正して、トリガーイベントの発生が認識された時点以後における第1アバターA1の座標及び姿勢を決定する。
【0116】
本実施形態においては、アバター座標決定部34は、第1ユーザU1の座標に基づく第1アバターA1の座標を、第1フロアF1に対する第2フロアF2の高さの分だけ上方向に移動させた座標を、トリガーイベントの発生が認識された時点以後における第1アバターA1の座標として決定する。また、アバター座標決定部34は、第1ユーザU1の姿勢に基づく第1アバターA1の姿勢を、そのまま、トリガーイベントの発生が認識された時点以後における第1アバターA1の姿勢として決定する。
【0117】
また、アバター座標決定部34は、トリガーイベントの発生が認識される時点の前までに第1アバターA1の座標及び姿勢を決定していた処理と同様の処理を用いて、第1ユーザU1の座標及び姿勢に基づいて、第1ゴーストG1の座標及び姿勢を決定する。
【0118】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第1ユーザU1に認識させる画像及び音声を、第1アバターA1の仮想空間VSにおける座標及び姿勢に基づいて決定する(図5/STEP204)。
【0119】
次に、サーバ3のアバター座標決定部34は、ユーザ情報認識部32が認識した第2ユーザU2の現実空間RSにおける座標及び姿勢に基づいて、第2アバターA2及び第2ゴーストG2の仮想空間VSにおける座標及び姿勢を決定する(図5/STEP205)。
【0120】
具体的には、アバター座標決定部34は、これまでに第2アバターA2の座標及び姿勢を決定していた処理と同様の処理を用いて、第2ユーザU2の座標及び姿勢に基づいて、第2アバターA2の座標及び姿勢を決定する。
【0121】
また、アバター座標決定部34は、認識されたトリガーイベントの種類に応じて予め定められているズレの内容(すなわち、補正方向及び補正量)に応じて、トリガーイベントの発生が認識される時点の前までの処理によって決定された第2アバターA2の座標及び姿勢を補正して、第2ゴーストG2の座標及び姿勢を決定する。
【0122】
本実施形態においては、アバター座標決定部34は、第2ユーザU2の座標に基づく第2アバターA2の座標を、第1フロアF1に対する第2フロアF2の高さの分だけ上方向に移動させたものを、トリガーイベントの発生が認識された時点以後における第2ゴーストG2の座標として決定する。
【0123】
また、アバター座標決定部34は、第2ユーザU2の姿勢に基づく第2アバターA2の姿勢を、そのまま、トリガーイベントの発生が認識された時点以後における第2ゴーストG2の姿勢として決定する。
【0124】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第2ユーザU2に認識させる画像及び音声を、第2アバターA2の仮想空間VSにおける座標及び姿勢に基づいて決定する(図5/STEP206)。
【0125】
次に、ユーザUの装着しているHMD4が、モニタ41に決定された画像を表示し、スピーカ42に音声を発生する(図5/STEP207)。
【0126】
次に、サーバ3のユーザ情報認識部32は、第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識されたか否かを判断する(図5/STEP208)。
【0127】
第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識された場合(STEP208でYESの場合)、STEP203に戻り、再度、STEP203以降の処理が実行される。
【0128】
一方、第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識されなかった場合(STEP208でNOの場合)、サーバ3は、処理の終了を指示する信号を認識したか否かを判断する(図5/STEP209)。
【0129】
終了を指示する信号を認識できなかった場合(STEP209でNOの場合)、STEP208に戻り、再度、STEP208以降の処理が実行される。
【0130】
一方、終了を指示する信号を認識した場合(STEP209でYESの場合)、VRシステムSは、今回の処理を終了する。
【0131】
以上説明したように、VRシステムSでは、トリガーイベントが発生し、第1ユーザU1の座標と第1ユーザU1に対応する第1アバターA1の座標との対応関係にズレが生じた場合には、第1ユーザU1の座標に対応する第1ゴーストG1が生成され、第2ユーザU2の座標に対応する座標を、そのズレに対応するように補正した座標に第2ゴーストG2が生成される。
【0132】
そして、第1ユーザU1の認識する仮想空間VSの画像及び音声に、その第2ゴーストG2の画像及び音声が含まれるようになる。また、第2ユーザU2の認識する仮想空間VSの画像及び音声に、その第1ゴーストG1の画像及び音声が含まれるようになる。
【0133】
そのため、トリガーイベントの発生が認識された後には、第1ユーザU1は、何らかの動作を行う際に、自然に自らの補正した座標に対応する第1アバターA1と、第2プレイヤーの補正した座標に対応する第2ゴーストG2との接触を回避しつつ動作する。また、第2ユーザU2は、何らかの動作を行う際に、自然に自らの座標に対応する第2アバターA2と、第1ユーザU1の座標に対応する第1ゴーストG1との接触を回避しつつ動作する。
【0134】
これにより、現実空間RSにおける第1ユーザU1と第2ユーザU2との接触を、防止することができる。
【0135】
なお、本実施形態においては、第1ゴーストG1を第1アバターA1と同じ形状の半透明のアバターとして構成し、第2ゴーストG2を第2アバターA2と同じ形状の半透明のアバターとして構成している。これは、第1ゴーストG1が第1ユーザU1に対応している旨、及び、第2ゴーストG2が第2ユーザU2に対応している旨を示すためである。
【0136】
また、本実施形態においては、第1ゴーストG1に、第1情報ボードG1aを付加し、第2ゴーストG2に、第2情報ボードG2aを付加している。これは、後述の環境を同期させるための処理におけるトリガーイベント(本発明における第1トリガーイベント)をユーザUが発生させる際に、そのトリガーイベントの発生が認識された際に実行される処理を、ユーザUに直感的に理解させるためである。
【0137】
しかし、本発明の仮想空間体感システムにおけるアバターがどのユーザに対応しているかを示す情報の表示方法、及び、ゴーストに関連する情報の表示方法は、このような構成に限定されるものではなく、適宜設定してよい。
【0138】
そのため、例えば、本実施形態において、第1ゴーストG1及び第2ゴーストG2の形状を第1アバターA1及び第2アバターA2の形状と一致させるにとどめ、情報ボードを省略してもよい。逆に、第1アバターA1及び第2アバターA2の形状に対応した形状を表示せずに、情報ボードのみを表示してもよい。
【0139】
[環境を同期させる際及びそれ以後における処理]
次に、図2図8図10を参照して、環境を同期させる際及びそれ以後において実行する処理について説明する。
【0140】
ここで、具体的な処理の内容の説明に先立って、本実施形態における環境を同期させる処理の概要を説明する。
【0141】
VRシステムSは、所定のトリガーイベント(本発明における第1トリガーイベント)の発生を認識した際に、第1ユーザU1及び第2ユーザU2の一方の環境に、第1ユーザU1及び第2ユーザU2の一方の環境を同期させる処理を行うように構成されている。
【0142】
ここで、「環境」とは、仮想空間の座標に基づいて、その座標に位置しているアバターに対応するユーザが認識する画像及び音声の少なくとも一方をいう。また、「環境の同期」とは、複数のアバターに対応する複数のユーザが、同様の環境を認識するようになることをいう。
【0143】
本実施形態では、例えば、図9に示すように、第2アバターA2が第1ユーザU1に対応している第1ゴーストG1に触れることが、そのトリガーイベントとして設定されている。
【0144】
そして、そのトリガーイベントの発生が認識された際には、図10に示すように、第2ユーザU2の座標の移動に関わらず、第2ユーザU2に対応する第2アバターA2の座標は、第1アバターA1の座標に隣接する座標へと移動する。具体的には、第2アバターA2は、第1フロアF1から、第2フロアF2の第1アバターA1に隣接する座標へと移動する。
【0145】
これにより、VRシステムSでは、そのトリガーイベントの発生が認識された時点以後においては、第1ユーザU1の環境と第2ユーザU2の環境とが同期して、第1ユーザU1及び第2ユーザU2は、同様の環境を体感することができるようになっている。
【0146】
なお、以下においては、第1アバターA1に対応する第1ユーザU1が、仮想空間VSの第2フロアF2よりもさらに上空に存在している虹VS3を、第2ユーザU2とともに眺めたい旨を第2ユーザU2にメッセージ機能などを介して伝えた際に、第2ユーザU2が第1ユーザU1と環境を同期しようとする(すなわち、自らも虹VS3を眺めようとする)際における処理を説明する。
【0147】
この処理においては、まず、サーバ3のトリガーイベント認識部33は、トリガーイベントの発生を認識したか否かを判断する(図8/STEP300)。
【0148】
具体的には、まず、トリガーイベント認識部33は、図9に示すように、仮想空間VSで、第2ユーザU2に対応する第2アバターA2が、第1ユーザU1に対応する第1アバターA1に触れる姿勢となったか否かを判断する。そして、第2アバターA2が第1アバターA1に触れる姿勢となった時には、トリガーイベント認識部33は、トリガーイベントが発生したと認識する。
【0149】
トリガーイベントの発生を認識しなかった場合(STEP300でNOの場合)、STEP300に戻り、再度、判断が実行される。この処理は、所定の制御周期で繰り返される。
【0150】
一方、トリガーイベントの発生を認識した場合(STEP300でYESの場合)、サーバ3のアバター座標決定部34は、第2アバターA2の座標を、第1アバターA1の座標に隣接する座標に移動させる(図5/STEP301)。
【0151】
具体的には、アバター座標決定部34は、第1アバターA1の座標だけでなく姿勢も参照して、第1アバターA1の側方、前方又は後方に位置する座標(すなわち、隣接する座標)を認識し、その座標に第2アバターA2を移動させる。
【0152】
この移動は、第2ユーザU2の座標の移動に基づく第2アバターA2の座標の移動とは、独立して行われる。なお、これにより、第2ユーザU2の座標と第2アバターA2の座標との対応関係にズレが生じる。
【0153】
本実施形態においては、図9に示すように、第1フロアF1に位置している第2アバターA2が、図10に示すように、第2フロアF2であって、第1アバターA1の左隣りに位置するように、瞬間的に移動する。
【0154】
なお、移動の経緯(例えば、移動にかかる時間、移動中の経路等)は、適宜設定してよい。例えば、第1ユーザU1及び第2ユーザU2とは異なる第3ユーザが存在する場合には、第2アバターA2の移動経路が認識可能なように、第2アバターA2の移動速度をある程度ゆっくりとした速度に設定することによって、トリガーイベントの発生が認識された際における座標の移動を、第3ユーザに認識させることができるようになる。
【0155】
次に、サーバ3の表示画像生成部31は、第1ゴーストG1及び第2ゴーストG2を消去する(図8/STEP302)。
【0156】
本実施形態においては、STEP301における第2アバターA2の移動によって、前述の仮想空間を拡張する処理によって生じた、第1アバターA1の座標と第2アバターA2の座標との対応関係におけるズレが解消される。すなわち、その移動後には、第1アバターA1の座標と第2アバターA2の座標との対応関係が、そのズレが生じる前の対応関係(すなわち、第1ユーザU1の座標と第2ユーザU2の座標との対応関係に一致したもの)に戻る。
【0157】
そのため、このSTEP302における処理を実行した後においては、第1ゴーストG1及び第2ゴーストG2が存在していなくても、意図しない接触が抑制されることになる。むしろ、第1ゴーストG1及び第2ゴーストG2が存在している場合には、逆に意図しない接触を発生させてしまうおそれがある。そこで、本実施形態においては、このように、不要となった第1ゴーストG1及び第2ゴーストG2を消去する処理を実行している。
【0158】
なお、STEP302における処理の実行後においても、第1アバターA1の座標と第2アバターA2の座標との対応関係と、第1ユーザU1の座標と第2ユーザU2の対応座標との関係とが、一致したものに戻らない場合等には、必要に応じて、第1ゴーストG1及び第2ゴーストG2の少なくとも一方を、引き続き存在させるようにするとよい。
【0159】
次に、サーバ3のアバター座標決定部34は、ユーザ情報認識部32が認識した第1ユーザU1及び第2ユーザU2の現実空間RSにおける座標及び姿勢に基づいて、第1アバターA1及び第1ゴーストG1、並びに、第2アバターA2及び第2ゴーストG2の仮想空間VSにおける座標及び姿勢を決定する(図8/STEP303)。
【0160】
具体的には、アバター座標決定部34は、引き続き、第1ユーザの座標及び姿勢に基づいて決定された座標及び姿勢を、前述の仮想空間VSを拡張させる処理において発生したズレの内容(すなわち、補正方向及び補正量)に基づいて補正して、第1アバターA1の座標及び姿勢を決定する。
【0161】
また、アバター座標決定部34は、第2ユーザの座標及び姿勢に基づいて決定された座標及び姿勢を、認識されたトリガーイベントの種類に応じて予め定められているズレの内容(すなわち、補正方向及び補正量)に基づいて補正して、第2アバターA2の座標及び姿勢を決定する。
【0162】
本実施形態においては、アバター座標決定部34は、第2ユーザU2の座標に基づく第2アバターA2の座標を、第1フロアF1に対する第2フロアF2の高さの分だけ上方向に移動させ、且つ、トリガーイベントの発生が認識された時点における第2アバターA2の座標から第1アバターA1の左隣りの座標まで水平方向に移動させたものを、トリガーイベントの発生が認識された時点以後における第2アバターA2の座標として決定する。
【0163】
また、アバター座標決定部34は、第2ユーザU2の姿勢に基づく第2アバターA2の姿勢を、そのまま、トリガーイベントの発生が認識された時点以後における第2アバターA2の姿勢として決定する。
【0164】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第1ユーザU1に認識させる画像及び音声を、第1アバターA1の仮想空間VSにおける座標及び姿勢に基づいて決定し、第2ユーザU2に認識させる画像及び音声を、第2アバターA2の仮想空間VSにおける座標及び姿勢に基づいて決定する(図8/STEP304)。
【0165】
次に、ユーザUの装着しているHMD4が、モニタ41に決定された画像を表示し、スピーカ42に音声を発生する(図8/STEP305)。
【0166】
次に、サーバ3のユーザ情報認識部32は、第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識されたか否かを判断する(図8/STEP306)。
【0167】
第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識された場合(STEP306でYESの場合)、STEP303に戻り、再度、STEP303以降の処理が実行される。
【0168】
一方、第1ユーザU1又は第2ユーザU2の現実空間RSにおける座標の移動又は姿勢の変化が認識されなかった場合(STEP306でNOの場合)、サーバ3は、処理の終了を指示する信号を認識したか否かを判断する(図8/STEP307)。
【0169】
終了を指示する信号を認識できなかった場合(STEP307でNOの場合)、STEP306に戻り、再度、STEP306以降の処理が実行される。
【0170】
一方、終了を指示する信号を認識した場合(STEP307でYESの場合)、VRシステムSは、今回の処理を終了する。
【0171】
以上説明したように、VRシステムSでは、トリガーイベントの発生が認識された際には、アバター座標決定部34は、第2アバターA2の座標を、第1アバターA1の座標に隣接する座標に移動させている。
【0172】
ここで、第1ユーザU1及び第2ユーザU2に認識させる仮想空間VSの画像及び音声は、第1アバターA1及び第2アバターA1の座標に基づいて決定される。そのため、アバター同士の座標が一致又は隣接している場合には、それらのアバターに対応する各々のユーザの認識する仮想空間VSの画像及び音声も、一致又は類似した画像及び音声(すなわち、同様の画像及び音声)になる。
【0173】
したがって、VRシステムSによれば、トリガーイベントの発生が認識された際には、各々のユーザの認識する仮想空間の画像及び音声も一致又は隣接した画像及び音声にすることができるので、それまで仮想空間で異なる環境を体感していた第1ユーザU1及び第2ユーザU2が、ほぼ同じ環境を体感することができるようになる。
【0174】
なお、本実施形態においては、第2ユーザU2が自らの環境を第1ユーザU1の環境に同期させる場合について説明した。しかし、本発明の仮想空間体感システムは、そのような構成に限定されるものではなく、トリガーイベントの発生が認識された際に第1ユーザ及び第2ユーザの一方の環境を、第1ユーザ及び第2ユーザの他方の環境に同期させるものであればよい。
【0175】
そのため、例えば、本実施形態において、第1アバターA1が第2ユーザU2に対応する第2ゴーストG2に触れた場合にも、第2アバターA2の座標を第1アバターA1の座標に隣接する座標に移動させるように構成してもよい。すなわち、第2アバターA2が自ら第1アバターA1の座標に一致する座標又は隣接する座標に移動するのではなく、第1アバターA1が第2アバターA2の座標を自らの座標に一致する座標又は隣接する座標に呼び寄せるように構成してもよい。
【0176】
また、例えば、本実施形態において、第2アバターA2が第1ユーザU1に対応する第1ゴーストG1に触れた場合に、第1アバターA1が自ら第2アバターA2の座標に一致する座標又は隣接する座標に移動するように構成してもよいし、第1アバターA1が第2アバターA2の座標を自らの座標に一致する座標又は隣接する座標に呼び寄せるように構成してもよい。
【0177】
なお、自らの座標が他のユーザの座標に一致する座標又は隣接する座標へ移動する処理を行う構成と、他のユーザの座標を自らの座標に一致する座標又は隣接する座標に呼び寄せる処理を行う構成とを同時に実装する場合には、トリガーイベントとなる動作を、行われる処理に応じて異ならせればよい。
【0178】
具体的には、例えば、自らに対応するアバターの右手で他のユーザに対応するアバターに触れた場合には、自らの座標が他のユーザの座標に一致する座標又は隣接する座標へ移動する処理を実行し、自らに対応するアバターの左手で他のユーザに対応するアバターに触れた場合には、他のユーザの座標を自らの座標に一致する座標又は隣接する座標に呼び寄せる処理を実行するというように構成するとよい。
【0179】
また、本実施形態においては、トリガーイベントの発生が認識された場合に、第2アバターA2の座標を第1アバターA1の座標に一致する座標ではなく、隣接する座標に移動させる処理を行っている。これは、第2アバターA2の座標が移動した際に、一方のユーザの認識する画像に他方のユーザに対応するアバターを含ませやすくして、一方のユーザに他方のユーザが自らの近傍に移動してきたことを認識させやすくするためである。
【0180】
しかし、本発明は、そのような構成に限定されるものではなく、一方のアバターを移動させる座標を、他方のアバターの座標と一致させてもよい。このように構成した場合には、環境の同期の度合いを、隣接する座標に移動させた場合に比べて、さらに高めることができる。
【0181】
また、本実施形態においては、トリガーイベントの発生が認識された以後においては、第2アバターA2は、継続して第2フロアF2に位置する。すなわち、トリガーイベントの発生が認識された際における移動によって生じたズレに基づいて、第2ユーザU2の座標と第2アバターA2の座標との対応関係にズレが生じた状態が継続されている。
【0182】
しかし、本発明は、そのような構成に限定されるものではなく、トリガーイベントの発生が認識された際における移動によって生じたズレを、その後に解消するように構成してもよい。
【0183】
そのため、例えば、トリガーイベントが継続している期間だけ(例えば、上記実施形態では、第2アバターA2が第1アバターA1に触れている期間だけ)、又は、トリガーイベントの発生が認識されてから所定の期間だけ、アバターの座標を移動させ、その期間の経過後には、アバターの座標を、トリガーイベントの発生が認識される前における座標に戻すように構成してもよい。
【0184】
[第2実施形態]
以下、図2図11図15を参照して、第2実施形態に係る仮想空間体感システムであるVRシステムSについて説明する。
【0185】
なお、本実施形態のVRシステムSは、環境を同期させる際及びそれ以後において実行する処理を除き、第1実施形態のVRシステムSと同様の構成を備えている。
【0186】
そのため、以下の説明においては、環境を同期させる際及びそれ以後において実行する処理についてのみ説明する。また、第1実施形態のVRシステムSの構成と同一の構成又は対応する構成については、同一の符号を付すとともに、詳細な説明は省略する。
【0187】
[環境を同期させる際及びそれ以後における処理]
以下に、図2図11図15を参照して、環境を同期させる際及びそれ以後において実行する処理について説明する。
【0188】
ここで、具体的な処理の内容の説明に先立って、本実施形態における環境を同期させる処理の概要を説明する。
【0189】
VRシステムSは、所定のトリガーイベント(本発明における第1トリガーイベント)の発生を認識した際に、第1ユーザU1及び第2ユーザU2の一方の環境に、第1ユーザU1及び第2ユーザU2の一方の環境を同期させる処理を行うように構成されている。
【0190】
本実施形態では、例えば、図12に示すように、第2アバターA2が第1ユーザU1に対応している第1ゴーストG1に触れることが、そのトリガーイベントとして設定されている。
【0191】
そして、そのトリガーイベントの発生が認識された際には、図13に示すように、第2ユーザU2の座標に関わらず、第2ユーザU2が認識する環境は、第1ユーザU1が認識している環境と一致したものとなる。具体的には、第2ユーザU2が認識する環境は、第2アバターA2の座標に基づくもの(図14参照)から、第1アバターA1の座標に基づくもの(図15参照)に変化する。
【0192】
これにより、VRシステムSでは、第1ユーザU1の環境と第2ユーザU2の環境とを同期させて、第1ユーザU1及び第2ユーザU2が、同様の環境を体感することができるようになっている。
【0193】
なお、以下においては、第1アバターA1に対応する第1ユーザU1が、仮想空間VSの第2フロアF2よりもさらに上空に存在している虹VS3を、第2ユーザU2とともに眺めたい旨を第2ユーザU2にメッセージ機能などを介して伝えた際に、第2ユーザU2が第1ユーザU1と環境を同期しようとする(すなわち、自らも虹VS3を眺めようとする)際における処理を説明する。
【0194】
なお、図14に示すように、この処理の開始時の状態においては、第2ユーザU2は、仮想空間VSの第2フロアF2にいる第1アバターA1を見上げている状態の画像を認識しているものとする。
【0195】
この処理においては、まず、サーバ3のトリガーイベント認識部33は、トリガーイベントの発生を認識したか否かを判断する(図11/STEP400)。
【0196】
具体的には、まず、トリガーイベント認識部33は、図12に示すように、仮想空間VSで、第2ユーザU2に対応する第2アバターA2が、第1ユーザU1に対応する第1アバターA1に触れる姿勢となったか否かを判断する。そして、第2アバターA2が第1アバターA1に触れる姿勢となった時には、トリガーイベント認識部33は、トリガーイベントが発生したと認識する。
【0197】
トリガーイベントの発生を認識した場合(STEP400でYESの場合)、サーバ3のアバター座標決定部34は、第2アバターA2及び第2ゴーストG2の座標を固定する(図11/STEP401)。
【0198】
本実施形態では、この後に実行されるSTEP402~STEP404の処理(すなわち、環境を同期させるための処理)において、第2アバターA2及び第2ゴーストG2に対応する第2ユーザU2の認識する画像及び音声が、第1アバターA1の座標に基づいて決定されたものにする処理が実行される。
【0199】
そのため、その処理の実行されている最中に第2アバターA2が移動できてしまうと、環境を同期させるための処理の終了後に、意図せず第2アバターA2の座標が移動している状態となる。ひいては、その処理の終了後に、その第2アバターA2の座標に基づいて画像及び音声を認識する第2ユーザU2の没入感を阻害してしまうおそれがある。
【0200】
また、その処理の実行されている最中に第2ゴーストG2が移動できてしまうと、環境を同期させるための処理の終了後に、意図せず第2ゴーストG2の座標が移動している状態となる。ひいては、その処理の終了後に、第1ユーザU1の認識している画像において、突然第2ゴーストG2の位置が変わってしまうことになり、第1ユーザU1の没入感を阻害してしまうおそれがある。
【0201】
そこで、VRシステムSでは、トリガーイベントの発生を認識した場合(すなわち、環境を同期させる処理の実行が開始される際には)、このSTEP401の処理を実行して、第2アバターA2及び第2ゴーストG2の座標を固定することによって、そのようにして没入感が阻害されてしまうことを抑制している。
【0202】
ただし、図12及び図13に示すように、その処理の実行されている最中であっても、第2アバターA2及び第2ゴーストG2の姿勢は、引き続き第2アバターA2の姿勢に応じて変化する。
【0203】
これは、姿勢まで固定されてしまうと、環境を同期させるための処理の終了後に、第2ユーザU2の姿勢と第2アバターA2の姿勢及び第2ゴーストG2の姿勢との対応関係にズレが生じてしまうおそれがあり、その一方で、環境を同期させるための処理の最中に、第2ゴーストG2の姿勢が変化したとしても、第1ユーザU1の没入感を阻害しないためである。
【0204】
ただし、第2アバターA2の姿勢も、第1アバターA1の姿勢と一致するように構成してもよい。このように構成した場合には、第2ユーザU2の認識する画像及び音声が第1ユーザU1の認識する画像及び音声とさらに一致したものになるので、第2ユーザU2は、第1ユーザU1とさらに同期した環境を体感することができるようになる。
【0205】
なお、このように第2アバターA2及び第2ゴーストG2の座標を固定した状態で、第2ユーザU2が移動してしまうと、第2ユーザU2の座標と第2アバターA2の座標及び第2ゴーストG2の座標との対応関係に、意図せずズレが生じてしまうことになる。ひいては、意図しない接触を誘発する要因が発生してしまう。
【0206】
そこで、図15に示すように、VRシステムSでは、環境同期処理を実行している旨の表示とともに、移動をしないように注意する旨のメッセージを、第2ユーザU2の認識する画像に表示する。これにより、VRシステムSでは、そのようなズレの発生を抑制している。
【0207】
実行する処理の説明に戻り、STEP401の処理を実行した後には、サーバ3のアバター座標決定部34は、ユーザ情報認識部32が認識した第1ユーザU1の現実空間RSにおける座標及び姿勢に基づいて、第1アバターA1及び第1ゴーストG1の仮想空間VSにおける座標及び姿勢を決定する(図11/STEP402)。
【0208】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第1ユーザU1及び第2ユーザU2に認識させる画像及び音声を、第1アバターA1の仮想空間VSにおける座標及び姿勢に基づいて決定する(図5/STEP403)。
【0209】
具体的には、仮想空間画像決定部35及び仮想空間音声決定部36は、第1ユーザU1に認識させる画像及び音声を、第1アバターA1の座標及び姿勢に基づいて決定する。また、仮想空間画像決定部35及び仮想空間音声決定部36は、第2ユーザU2に認識させる画像及び音声を、第1アバターA1の座標、及び、第2アバターA2の姿勢に基づいて決定する。
【0210】
このようにして決定された第1ユーザU1に認識させる画像及び音声は、第1アバターA1の座標及び姿勢に基づいて、仮想空間VSの第2フロアF2で、上空にある虹VS3を眺めているものになる。
【0211】
また、このようにして決定された第2ユーザU2に認識させる画像及び音声は、第1アバターA1の座標よりも第1アバターA1から見て後ろ側となる座標に位置している場合に認識される画像及び音声となる。具体的には、図15に示すように、仮想空間VSの第2フロアF2で、上空にある虹VS3を、第1アバターA1の背後から眺めているものになる。
【0212】
なお、本実施形態では、第2ユーザU2が第1ユーザU1とともに環境を楽しむことを考慮しているので、第1アバターA1(ひいては、第1ユーザU1)を認識できるように、この処理において第2ユーザU2に認識させる画像及び音声の基準となる座標を、第1アバターA1の座標の後ろ側となる座標(すなわち、隣接する座標)としている。
【0213】
しかし、第2ユーザU2が第1ユーザU1の体感している環境とさらに近い環境を体感したいというような場合には、基準となる座標を、第1アバターA1の座標と一致させるようにするとよい。また、基準となる姿勢も第1アバターA1と一致させた場合には、第2ユーザU2は、第1ユーザU1の体感している環境と同じ環境を体感することができるようになる。
【0214】
次に、ユーザUの装着しているHMD4は、HMD4に搭載されているモニタ41に決定された画像を表示させ、HMD4に搭載されているスピーカ42に決定された音声を発生させる(図11/STEP404)。
【0215】
次に、サーバ3のトリガーイベント認識部33は、トリガーイベントの解除を認識したか否かを判断する(図11/STEP405)。
【0216】
具体的には、まず、トリガーイベント認識部33は、仮想空間VSで、第2ユーザU2に対応する第2アバターA2が、第1ユーザU1に対応する第1アバターA1に触れる姿勢(図12参照)を解除したか否かを判断する。そして、第2アバターA2が第1アバターA1に触れる姿勢を解除した時には、トリガーイベント認識部33は、トリガーイベントが解除されたと認識する。
【0217】
なお、トリガーイベントの解除は、例えば、トリガーイベントの発生から所定の期間が経過したときに自動的に認識されるように構成されていてもよいし、他のトリガーイベントが発生したとき(例えば、第2アバターA2が第1ゴーストG1に触れていない状態になったとき等)に認識されるように構成されていてもよい。
【0218】
トリガーイベントの解除を認識しなかった場合(STEP405でNOの場合)、STEP402に戻り、再度、STEP402以降の処理が実行される。
【0219】
一方、トリガーイベントの解除を認識した場合(STEP405でYESの場合)、サーバ3のアバター座標決定部34は、第2アバターA2及び第2ゴーストG2の座標の固定を解除する(図11/STEP406)。
【0220】
トリガーイベントの発生を認識しなかった場合(STEP400でNOの場合)、又は、第2アバターA2及び第2ゴーストG2の座標の固定を解除した後には、サーバ3のアバター座標決定部34は、ユーザ情報認識部32が認識した第1ユーザU1の現実空間RSにおける座標及び姿勢に基づいて、第1アバターA1及び第1ゴーストG1の仮想空間VSにおける座標及び姿勢を決定する(図11/STEP407)。
【0221】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第1ユーザU1に認識させる画像及び音声を、第1アバターA1の仮想空間VSにおける座標及び姿勢に基づいて決定する(図11/STEP408)。
【0222】
次に、サーバ3のアバター座標決定部34は、ユーザ情報認識部32が認識した第2ユーザU2の現実空間RSにおける座標及び姿勢に基づいて、第2アバターA2及び第2ゴーストG2の仮想空間VSにおける座標及び姿勢を決定する(図11/STEP409)。
【0223】
次に、サーバ3の仮想空間画像決定部35及び仮想空間音声決定部36は、第2ユーザU2に認識させる画像及び音声を、第2アバターA2の仮想空間VSにおける座標及び姿勢に基づいて決定する(図11/STEP410)。
【0224】
次に、ユーザUの装着しているHMD4が、モニタ41に決定された画像を表示し、スピーカ42に音声を発生する(図11/STEP411)。
【0225】
次に、サーバ3は、処理の終了を指示する信号を認識したか否かを判断する(図11/STEP412)。
【0226】
終了を指示する信号を認識できなかった場合(STEP412でNOの場合)、STEP400に戻り、再度、STEP400以降の処理が実行される。
【0227】
一方、終了を指示する信号を認識した場合(STEP412でYESの場合)、VRシステムSは、今回の処理を終了する。
【0228】
このように、VRシステムSでは、トリガーイベントの発生が認識された際には、仮想空間画像決定部35及び仮想空間音声決定部36は、第2ユーザU2に認識させる仮想空間VSの画像及び音声を、第2アバターA2の座標が第1アバターA1の座標に隣接する座標に移動した場合における画像及び音声にしている。
【0229】
すなわち、トリガーイベントの発生が認識された際には、第2ユーザU2に認識させる仮想空間VSの画像及び音声を決定するための基準となる座標を、第2ユーザU2に対応する第2アバターA2の座標の位置に関係なく、第1ユーザU1に対応する第1アバターA1の座標に隣接する座標としている。
【0230】
これにより、トリガーイベントの発生が認識された際には、第2ユーザU2は、第1ユーザU1とともに、第1ユーザU1に対応する第1アバターA1の座標に隣接する座標に基づいて決定された仮想空間VSの画像及び音声を認識することになる。
【0231】
したがって、VRシステムSによれば、トリガーイベントの発生が認識された後には、第2ユーザU2は、第1ユーザU1に対応する第1アバターA1の座標に隣接する座標に基づいて決定された仮想空間VSの画像及び音声を認識することになるので、それまで仮想空間VSで異なる環境を体感していた第1ユーザ及び第2ユーザが、ほぼ同じ環境を体感することができるようになる。
【0232】
なお、本実施形態においては、第2ユーザU2が自らの環境を第1ユーザU1の環境に同期させる場合について説明した。しかし、本発明の仮想空間体感システムは、そのような構成に限定されるものではなく、トリガーイベントの発生が認識された際に第1ユーザ及び第2ユーザの一方の環境を、第1ユーザ及び第2ユーザの他方の環境に同期させるものであればよい。
【0233】
そのため、例えば、本実施形態において、第1アバターA1が第2ユーザU2に対応する第2ゴーストG2に触れた場合に、第1ユーザU1の認識する画像及び音声を、第2アバターA2の座標に一致する座標又は隣接する座標を基準として決定するように構成してもよい。
【0234】
また、例えば、本実施形態では、他のユーザである第1ユーザU1の環境に第2ユーザU2が自らの環境を同期させているが、自らの環境に他のユーザの環境を同期させるように構成してもよい。
【0235】
具体的には、例えば、本実施形態において、第1アバターA1が第2ユーザU2に対応する第2ゴーストG2に触れた場合に、第2ユーザU2の認識する画像及び音声を、第1アバターA1の座標に一致する座標又は隣接する座標を基準として決定するように構成してもよい。逆に、第2アバターA2が第1ユーザU1に対応する第1ゴーストG1に触れた場合に、第1ユーザU1の認識する画像及び音声を、第2アバターA2の座標に一致する座標又は隣接する座標を基準として決定するように構成してもよい。
【0236】
なお、他のユーザの環境に自らの環境を同期させる処理を行う構成と、自らの環境に他のユーザの環境を同期させる処理を行う構成とを同時に実装する場合には、トリガーイベントとなる動作を、行われる処理に応じて異ならせればよい。
【0237】
具体的には、例えば、自らに対応するアバターの右手で他のユーザに対応するアバターに触れた場合には、他のユーザの環境に自らの環境を同期させる処理を実行し、自らに対応するアバターの左手で他のユーザに対応するアバターに触れた場合には、自らの環境に他のユーザの環境を同期させる処理を実行するというように構成するとよい。
【0238】
また、第1実施形態のように、座標を移動させて環境を同期させる処理を行う構成と、本実施形態のように、基準となる座標を変更して環境を同期させる処理を行う構成とを同時に実装する場合には、トリガーイベントとなる動作を、行われる処理に応じて異ならせればよい。
【0239】
具体的には、例えば、自らに対応するアバターで他のユーザに対応するアバターの手に触れた場合には、座標を移動させて環境を同期させる処理を行い、自らに対応するアバターで他のユーザに対応するアバターの肩に触れた場合には、基準となる座標を変更して環境を同期させる処理を行うように構成するよい。
【0240】
[その他の実施形態]
以上、図示の実施形態について説明したが、本発明はこのような形態に限定されるものではない。
【0241】
例えば、上記実施形態では、図4等に示すように、仮想空間体感システムであるVRシステムSは、現実空間RSの1つの部屋に共に存在する第1ユーザU1及び第2ユーザU2に対し、その部屋に対応する1つの仮想空間VSに、第1ユーザU1に対応する第1アバターA1及び第2ユーザU2に対応する第2アバターA2を介して、互いに存在すると認識させるものとして構成されている。
【0242】
しかし、本発明の仮想空間体感システムは、そのような構成に限定されるものではなく、複数のユーザに対応するアバターが、同時に仮想空間に存在できるものであればよい。
【0243】
そのため、例えば、第1ユーザと第2ユーザとが、現実空間の異なる領域(例えば、各々の自室)に存在していてもよい。
【0244】
また、上記実施形態では、仮想空間VSをその仮想空間VSに対応する現実空間RSよりも広くなるように拡張させる処理(図5のフローチャートを参照して説明した処理)を実行した場合において、環境を同期させる処理(図8のフローチャート又は図11のフローチャートを参照して説明した処理)を実行した場合について説明した。
【0245】
これは、ユーザにそのように現実空間よりも拡張された仮想空間を認識させた場合には、各々のユーザが、異なる環境を体感する機会(ひいては、環境を共有したいと感じる機会)が増えるためである。
【0246】
しかし、本発明の仮想空間体感システムは、そのような仮想空間を拡張させる処理を実行した場合にのみ環境を同期させる処理を実行する構成に限定されるものではなく、各々のユーザが、自分以外のユーザも何らかの仮想空間を体験していることを認識できるように構成されていればよい。そのため、例えば、各々のユーザに対応するアバターが、同一の仮想空間に存在していなくてもよい。
【0247】
具体的には、買い物客である複数の第1ユーザに対応する複数の第1アバターが、仮想空間に存在する店舗に自由に存在するとともに、店員である第2ユーザに対応する第2アバターが、仮想空間に存在するコンシェルジュカウンターに存在するように構成されていてもよい。このとき、コンシェルジュカウンターの存在する仮想空間は、店舗の存在する仮想空間であってもよいし、店舗の存在する仮想空間とは別の仮想空間であってもよい。
【0248】
このように構成されている場合であって、上記第1実施形態のように一方のアバターそのものが他方のアバターの座標と一致する座標又は隣接する座標に移動するように構成されているときには、第1トリガーイベントの発生が認識された際には、第2アバターは、コンシェルジュカウンターから、複数の第1ユーザのうちその第1トリガーイベントを発生させた第1ユーザに対応する第1アバターの座標へと移動する。
【0249】
また、このように構成されている場合であって、上記第2実施形態のように一方のアバターの視点だけが他方のアバターの座標と一致する座標又は隣接する座標に移動するように構成されているときには、第1トリガーイベントの発生が認識された際には、第2アバターに対応する第2ユーザに表示される画像は、コンシェルジュカウンターの画像から、複数の第1ユーザのうちその第1トリガーイベントを発生させた第1ユーザに表示されている画像と同様の画像に変化する。
【0250】
また、これらのように構成されている場合、第1トリガーイベントは、例えば、第1アバターが仮想空間に生成されたオブジェクトである呼び出しボタンを押す、又は、第2アバターが移動ボタンを押すといった動作等が該当する。
【0251】
また、上記実施形態では、第2ユーザU2に対応する第2アバターA2が、第1ユーザU1に対応し、第1ユーザU1の座標との対応関係にズレの生じた座標に位置する第1ゴーストG1に接触する動作を、第1トリガーイベントとして採用している。また、第1ユーザU1に対応する第1アバターA1が、第2ユーザU2に対応し、第2ユーザU2の座標との対応関係にズレの生じた座標に位置する第2ゴーストG2に接触する動作も、第1トリガーイベントとして採用し得るとしている。
【0252】
これは、その動作によって、一方のユーザが、他方のユーザと環境を共有する第1トリガーイベントが発生することを、直感的に理解することができるようにするためである。ひいては、第1トリガーイベントを発生させるために、その第1トリガーイベントを発生させようとするユーザの仮想空間への没入感が阻害されてしまうことを抑制することができるようにするためである。
【0253】
しかし、本発明における第1トリガーイベントは、このような構成に限定されるものではなく、システム設計者等が適宜設定してよい。
【0254】
そのため、例えば、仮想空間に生成されたオブジェクト(例えば、移動スイッチ、呼び出しスイッチ等)に触れることによって、第1トリガーイベントが発生するように構成してもよい。また、アバターに特定の動作(例えば、手招きする動作等)を行わせた場合に、第1トリガーイベントが発生するように構成してもよい。
【0255】
また、上記実施形態においては、トリガーイベントを、一方のユーザに対応するアバターが他方のユーザに対応するゴーストに触れる動作としている。しかし、本発明における第1トリガーイベントは、そのような構成に限定されるものではなく、一方のユーザに対応するアバターが他方のユーザに対応するゴーストに対して実行する所定の動作であればよい。
【0256】
ここで、「所定の動作」としては、アバターがゴーストを基準として行う何らかの動作であればよい。例えば、本実施形態のようにアバターがゴーストに接触するような動作の他、アバターがゴーストを基準とした所定の範囲内に移動するような動作、アバターが仮想空間に存在するオブジェクトを操作する際に、その対象としてゴーストを選択するような動作(例えば、カメラ型オブジェクトでゴーストを撮影するような動作等)等が挙げられる。
【0257】
また、本実施形態においては、仮想空間を拡張させる処理の際に生成されたゴーストを、トリガーイベントを発生させるためのキーとして採用している。しかし、本発明におけるゴーストは、そのような構成に限定されるものではなく、ユーザに対応し、且つ、そのユーザの認識する画像及び音声の基準とはならないアバターであればよい。
【0258】
そのため、例えば、仮想空間を拡張する処理等の実行等に関係なく、最初から、ユーザに対応し、且つ、そのユーザの認識する画像及び音声の基準となるアバターとともに、そのアバターとは独立したアバターを生成し、その独立した(例えば、基準となるアバターの座標とは異なる座標に生成した)アバターをゴーストとして採用してもよい。
【0259】
具体的には、例えば、仮想空間で、ダンスの講師に対応するアバター、生徒に対応するアバター、及び、講師に対応するアバターの手元に存在し、生徒に対応したミニチュアのようなアバターを生成して、そのミニチュアのようなアバターを用いて、講師が生徒の状態を確認するような場合には、そのミニチュアのようなアバターを、ゴーストとして採用してもよい。
【0260】
そのように構成した場合には、講師が、生徒の状態を、客観的な自らの視点で観察するとともに、必要に応じて生徒の主観的な視点で観察することができるようになる。
【符号の説明】
【0261】
1…標識、2…カメラ、3…サーバ、4…HMD、31…表示画像生成部、31a…仮想空間生成部、31b…アバター生成部、31c…移動体生成部、32…ユーザ情報認識部、32a…ユーザ姿勢認識部、32b…ユーザ座標認識部、33…トリガーイベント認識部、34…アバター座標決定部、35…仮想空間画像決定部、36…仮想空間音声決定部、41…モニタ(仮想空間画像表示器)、42…スピーカ(仮想空間音声発生器)、A…アバター、A1…第1アバター、A2…第2アバター、F1…第1フロア、F2…第2フロア、G1…第1ゴースト、G1a…第1情報ボード、G2…第2ゴースト、G2a…第2情報ボード、RS…現実空間、RS1…ホワイトボード、S…VRシステム、U…ユーザ、U1…第1ユーザ、U2…第2ユーザ、VS…仮想空間、VS1…エレベータ(移動体)、VS2…スイッチ、VS3…虹。
【要約】
仮想空間で異なる環境を体感していた複数のユーザが、同様の環境を体感することができるようになる仮想空間体感システムを提供する。VRシステムSのアバター座標決定部34は、トリガーイベントの発生が認識された際に、第1アバターA1及び第2アバターA2の一方の座標を、第1アバターA1及び第2アバターA1の他方の座標に一致する座標又は隣接する座標に移動させる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15