(57)【要約】【課題】仮想体験における感覚ズレを低減するための新規な手法を提供する。【解決手段】本開示の実施形態によるプログラムは、画像表示装置及び筐体を介して仮想体験をユーザに提供するためのコンピュータに、仮想体験を提供するための仮想空間を定義するステップと、仮想空間における視界を特定するステップと、筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、検知した操作に基づいて、視界を変化させる態様を特定するステップと、特定された態様に基づいて、視界を更新するステップと、特定された態様に対応する刺激を特定し、現実空間において刺激を、筐体を介してユーザに付与するステップとを実行させる。【選択図】図１３
2020004263.tif 000002
【特許請求の範囲】
【請求項１】
画像表示装置及び筐体を介して仮想体験をユーザに提供するためのコンピュータに、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
を実行させるためのプログラム。
【請求項２】
前記第１デバイスは、ユーザがその上に乗るデバイスであり、
前記ユーザによる操作は、ユーザの足で前記第１デバイスに力を加える操作であり、
前記検知するステップは、前記第１デバイスに対しユーザが加える力を検知するステップを含む、
請求項１記載のプログラム。
【請求項３】
前記力を加える操作は、前記第１デバイスに対するエッジング操作及び重心移動操作のうちの少なくとも１つを含み、
前記力を加える操作が前記第１デバイスに対するエッジング操作であるとき、前記検知するステップは、前記第１デバイスの傾きを検知するステップを含み、
前記力を加える操作が前記第１デバイスに対する重心移動操作であるとき、前記検知するステップは、前記第１デバイスに加えられる圧力を検知するステップを含む、
請求項２記載のプログラム。
【請求項４】
前記筐体は、ユーザに対し前記刺激を与えるための第２デバイスを含む、請求項１から３のいずれかに記載のプログラム。
【請求項５】
前記第２デバイスは、ユーザの体を支える支持部材である、請求項４記載のプログラム。
【請求項６】
前記支持部材は、ユーザの手を支持する手すり、又はユーザの腰を支える座席状部材である、請求項５記載のプログラム。
【請求項７】
前記第２デバイスは、前記第１デバイスである、請求項４記載のプログラム。
【請求項８】
前記態様は、ヨーイング、ピッチング及びローリングのうちの少なくとも１つの動きを含み、
前記態様に対応する前記刺激は、ヨー軸回転、ピッチ軸回転及びロール軸回転の少なくとも１つの動きを含む、請求項１から７のいずれかに記載のプログラム。
【請求項９】
前記態様がヨーイングであるとき、前記態様に対応する前記刺激はヨー軸回転の動きである、請求項８記載のプログラム。
【請求項１０】
前記態様がピッチングであるとき、前記態様に対応する前記刺激はピッチ軸回転の動きである、請求項８記載のプログラム。
【請求項１１】
前記態様に対応する前記刺激は、前記態様の視界変化に対応する変化が現実空間で起きた場合にユーザの身体に加わるはずの刺激に対する、前記筐体からユーザが受ける刺激のズレを補償する補償刺激である、請求項１から１０のいずれかに記載のプログラム。
【請求項１２】
前記補償刺激は、前記態様の視界変化に対応する変化が現実空間で起きた場合にユーザの身体に加わるはずの刺激に対し、同じ方向であるが小さい刺激である、請求項１１記載のプログラム。
【請求項１３】
コンピュータであって、
前記コンピュータが備えるプロセッサによる、ユーザの頭部に関連付けられる画像表示装置と、筐体とを介してユーザに仮想体験を提供するための制御により、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
が実行されるコンピュータ。
【請求項１４】
ユーザの頭部に関連付けられる画像表示装置と、筐体とを介してユーザに仮想体験を提供するためのコンピュータにより実行される方法であって、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、仮想体験をユーザに提供するためのプログラム、コンピュータ及び方法に関する。
【背景技術】
【０００２】
特許文献１には、ＨＭＤ（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）を使用したバーチャルリアリティー（ＶＲ）体験をユーザに提供するシミュレーションシステムとして、スキーシミュレータが開示されている。このスキーシミュレータは、現実空間でのユーザの移動態様と、仮想空間での仮想ユーザ又はその搭乗移動体の移動態様とが大きく異なっているときに引き起こされる３Ｄ酔いあるいはＶＲ酔いを緩和するために、可動筐体４０を備えている。可動筐体４０は、例えば、仮想空間のスキーコースの雪面の凹凸に合わせて可動筐体４０のベース部４１を上下方向に移動させたり、スキーコースの傾斜に合わせて、ベース部４１を回転移動（ローリング、ピッチング等）させて、プレイ位置ＰＰＬを変化させたりする。
【０００３】
ユーザの仮想空間と現実空間との間における感覚ズレを補償するため、このスキーシミュレータにおいては、スキーコースの雪面の凹凸やスキーコースの傾斜などの、ＶＲ空間を構成するオブジェクトに基づいて可動筐体を動かす。
【０００４】
また、ユーザの操作入力に関しては、このスキーシミュレータは、ユーザの操作入力による現実の感覚と、ＶＲ空間における視界の変化との整合性をとるため、ユーザにできるだけ実際のスキーと同じような動作をさせるシミュレータとして構成されている。しかし、ＶＲゲームでは、ユーザの操作入力として現実空間での実際の操作の再現を要求することが不都合な場合もある。例えば、特許文献１で言及されているように、現実空間で身体が大きく動くことによるコード絡まりの問題がある。また、現実空間での動作に合わせた複雑な操作をユーザに要求する場合には、ユーザの動きが複雑になることによってＶＲ視界変化もそれに応じて複雑になり、却ってＶＲゲームとして納得感のあるＶＲ視界変化が提供されないという問題もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１８８８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、少なくとも、仮想体験における感覚ズレを低減するための新規な手法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一実施形態によれば、画像表示装置及び筐体を介して仮想体験をユーザに提供するためのコンピュータに、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
を実行させるためのプログラムが提供される。
【０００８】
本開示の別の実施形態によれば、コンピュータであって、
前記コンピュータが備えるプロセッサによる、ユーザの頭部に関連付けられる画像表示装置と、筐体とを介してユーザに仮想体験を提供するための制御により、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
が実行される、コンピュータが提供される。
【０００９】
本開示の別の実施形態によれば、ユーザの頭部に関連付けられる画像表示装置と、筐体とを介してユーザに仮想体験を提供するためのコンピュータにより実行される方法であって、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
を含む、方法が提供される。
【発明の効果】
【００１０】
本開示の実施形態により、少なくとも、仮想体験における感覚ズレを低減するための新規な手法を提供することができる。
【００１１】
本開示のその他の特徴及び利点は、後述する実施形態の説明、添付の図面及び特許請求の範囲の記載から明らかなものとなる。
【図面の簡単な説明】
【００１２】
【図１】システムの構成を概略的に示す図である。
【図２】本開示の一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
【図３】一実施形態による、ＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】一実施形態による、仮想空間を表現する一態様を概念的に表す図である。
【図５】一実施形態による、ＨＭＤを装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視界領域をｘ方向から見たｙｚ断面を表す図である。
【図７】仮想空間において視界領域をｙ方向から見たｘｚ断面を表す図である。
【図８Ａ】一実施形態による、コントローラの概略構成を表す図である。
【図８Ｂ】一実施形態による、コントローラの概略構成を表す図である。
【図９】本開示の一実施形態による、システムを介してユーザに仮想体験を提供するための、感覚ズレ低減機能を含むコンピュータの機能を示すブロック図である。
【図１０】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
【図１１】本開示の一実施形態によるＶＲゲームシステム１１００の概略を示すブロック図である。
【図１２】筐体の一実施形態の構造を示す概略図である。
【図１３】本開示の一実施形態による感覚ズレ低減方法のフローチャートである。
【図１４】ＶＲゲームシステムにおける、仮想空間、仮想空間内の視界、この視界の動き方向、手すり、ボードに対する操作の関係を概略的に示す図である。
【図１５】スノーボード機構のより具体的な実施形態を示す概略図である。
【図１６】スノーボード機構のより具体的な別の実施形態を示す概略図である。
【図１７】刺激付与デバイス機構及び刺激付与デバイス駆動機構の組み合わせの別の実施形態である手すり機構を示す概略図である。
【図１８】刺激付与デバイス機構及び刺激付与デバイス駆動機構の組み合わせの別の実施形態である座席状機構を示す概略図である。
【図１９】２軸回転機構の具体的な一実施形態を示す概略図である。
【図２０】回転台を可動台に対し回転させる機構の詳細を説明するため、図１９の線Ｉ−Ｉに沿って見た断面の概略図である。
【発明を実施するための形態】
【００１３】
［本開示の実施形態の説明］
はじめに、本開示の例示的な実施形態の構成を列記して説明する。本開示の実施形態によるプログラム、コンピュータ及び方法は、以下のような構成を備えてもよい。
【００１４】
（項目１）
画像表示装置及び筐体を介して仮想体験をユーザに提供するためのコンピュータに、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
を実行させるためのプログラム。
【００１５】
（項目２）
前記第１デバイスは、ユーザがその上に乗るデバイスであり、
前記ユーザによる操作は、ユーザの足で前記第１デバイスに力を加える操作であり、
前記検知するステップは、前記第１デバイスに対しユーザが加える力を検知するステップを含む、
項目１記載のプログラム。
【００１６】
（項目３）
前記力を加える操作は、前記第１デバイスに対するエッジング操作及び重心移動操作のうちの少なくとも１つを含み、
前記力を加える操作が前記第１デバイスに対するエッジング操作であるとき、前記検知するステップは、前記第１デバイスの傾きを検知するステップを含み、
前記力を加える操作が前記第１デバイスに対する重心移動操作であるとき、前記検知するステップは、前記第１デバイスに加えられる圧力を検知するステップを含む、
項目２記載のプログラム。
【００１７】
（項目４）
前記筐体は、ユーザに対し前記刺激を与えるための第２デバイスを含む、項目１から３のいずれかに記載のプログラム。
【００１８】
（項目５）
前記第２デバイスは、ユーザの体を支える支持部材である、項目４記載のプログラム。
【００１９】
（項目６）
前記支持部材は、ユーザの手を支持する手すり、又はユーザの腰を支える座席状部材である、項目５記載のプログラム。
【００２０】
（項目７）
前記第２デバイスは、前記第１デバイスである、項目４記載のプログラム。
【００２１】
（項目８）
前記態様は、ヨーイング、ピッチング及びローリングのうちの少なくとも１つの動きを含み、
前記態様に対応する前記刺激は、ヨー軸回転、ピッチ軸回転及びロール軸回転の少なくとも１つの動きを含む、項目１から７のいずれかに記載のプログラム。
【００２２】
（項目９）
前記態様がヨーイングであるとき、前記態様に対応する前記刺激はヨー軸回転の動きである、項目８記載のプログラム。
【００２３】
（項目１０）
前記態様がピッチングであるとき、前記態様に対応する前記刺激はピッチ軸回転の動きである、項目８記載のプログラム。
【００２４】
（項目１１）
前記態様に対応する前記刺激は、前記態様の視界変化に対応する変化が現実空間で起きた場合にユーザの身体に加わるはずの刺激に対する、前記筐体からユーザが受ける刺激のズレを補償する補償刺激である、項目１から１０のいずれかに記載のプログラム。
【００２５】
（項目１２）
前記補償刺激は、前記態様の視界変化に対応する変化が現実空間で起きた場合にユーザの身体に加わるはずの刺激に対し、同じ方向であるが小さい刺激である、項目１１記載のプログラム。
【００２６】
（項目１３）
コンピュータであって、
前記コンピュータが備えるプロセッサによる、ユーザの頭部に関連付けられる画像表示装置と、筐体とを介してユーザに仮想体験を提供するための制御により、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
が実行されるコンピュータ。
【００２７】
（項目１４）
ユーザの頭部に関連付けられる画像表示装置と、筐体とを介してユーザに仮想体験を提供するためのコンピュータにより実行される方法であって、
仮想体験を提供するための仮想空間を定義するステップと、
前記仮想空間における視界を特定するステップと、
前記筐体に含まれた第１デバイスに対するユーザによる操作を検知するステップと、
検知した前記操作に基づいて、前記視界を変化させる態様を特定するステップと、
特定された前記態様に基づいて、前記視界を更新するステップと、
特定された前記態様に対応する刺激を特定し、現実空間において前記刺激を、前記筐体を介してユーザに付与するステップと
を含む方法。
【００２８】
［本開示の実施形態の詳細］
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同様の要素には同様の符号を付してある。それらの名称及び機能も同様である。このような要素については重複する説明が省略される。
【００２９】
図１を参照して、画像表示装置システム１００の構成について説明する。以下では、画像表示装置の一例としてヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ：ＨＭＤ）が用いられるシステムについて具体的に説明する。しかし、ＨＭＤだけでなく、ユーザに仮想体験を提供するための様々な装置を本開示の実施形態に適用することができることが当業者に理解されよう。
【００３０】
図１は、システム１００の構成を概略的に示す。一例では、システム１００は、家庭用のシステム又は業務用のシステムとして提供される。ＨＭＤは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【００３１】
システム１００は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コントローラ１６０と、コンピュータ２００とを備える。ＨＭＤ１１０は、表示部１１２と、注視センサ１４０とを含む。コントローラ１６０は、モーションセンサ１３０を含んでもよい。
【００３２】
一例では、コンピュータ２００は、インターネット等のネットワーク１９２に接続可能であってもよく、ネットワーク１９２に接続されるサーバ１５０等のコンピュータと通信可能であってもよい。別の態様において、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりにセンサ１１４を含んでもよい。
【００３３】
ＨＭＤ１１０は、ユーザ１９０の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像及び左目用の画像を表示部１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００３４】
表示部１１２は、例えば、非透過型の表示装置として実現される。一例では、表示部１１２は、ユーザの両目の前方に位置するように、ＨＭＤ１１０の本体に配置される。したがって、ユーザは、表示部１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部１１２は、スマートフォン等の情報表示端末が備える液晶表示部又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示部として実現され得る。
【００３５】
一例では、表示部１１２は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００３６】
一例では、ＨＭＤ１１０は、複数の光源（図示せず）を含む。各光源は、例えば、赤外線を発するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出してもよい。
【００３７】
ある態様において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置及び傾きを検出することができる。
【００３８】
別の態様において、ＨＭＤ１１０は、位置検出器として、ＨＭＤセンサ１２０の代わりに、センサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０自身の位置及び傾きを検出し得る。例えば、センサ１１４が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ１１４が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１１０の３軸周りの角速度を経時的に検出する。ＨＭＤ１１０は、各角速度に基づいて、ＨＭＤ１１０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。また、ＨＭＤ１１０は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、ＨＭＤ１１０に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。
【００３９】
注視センサ１４０は、ユーザ１９０の右目及び左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ１４０は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知することができる。
【００４０】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の態様において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００４１】
コントローラ１６０は、有線又は無線によりコンピュータ２００に接続される。コントローラ１６０は、ユーザ１９０からコンピュータ２００への命令の入力を受け付ける。ある態様において、コントローラ１６０は、ユーザ１９０によって把持可能に構成される。別の態様において、コントローラ１６０は、ユーザ１９０の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ１６０は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ１６０は、ユーザ１９０から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００４２】
ある態様において、モーションセンサ１３０は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ１３０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ１３０は、例えば、手袋型のコントローラ１６０Ａに設けられる。ある実施形態において、現実空間における安全のため、コントローラ１６０Ａは、手袋型のようにユーザ１９０の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、複数の操作ボタンを有する一般的な構造のコントローラ１６０Ｂが用いられてもよい。別の態様において、ユーザ１９０に装着されないセンサがユーザ１９０の手の動きを検出してもよい。ユーザ１９０の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ１９０を撮影するカメラの信号が、ユーザ１９０の動作を表す信号として、コンピュータ２００に入力されてもよい。モーションセンサ１３０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００４３】
図２を参照して、本開示の実施形態に係るコンピュータ２００について説明する。図２は、本開示の一実施形態によるコンピュータ２００の基本的なハードウェア構成の例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２０２と、メモリ２０４と、ストレージ２０６と、入出力インターフェース２０８と、通信インターフェース２１０とを備える。各構成要素は、それぞれ、バス２１２に接続される。
【００４４】
プロセッサ２０２は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２０４又はストレージ２０６に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のデバイスとして実現される。
【００４５】
メモリ２０４は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ２０６からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２０２によって生成されたデータとを含む。ある態様において、メモリ２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリとして実現される。
【００４６】
ストレージ２０６は、プログラム及びデータを永続的に保持する。ストレージ２０６は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ２０６に格納されるプログラムは、システム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラム等を含む。ストレージ２０６に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【００４７】
別の態様において、ストレージ２０６は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の態様において、コンピュータ２００に内蔵されたストレージ２０６の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４８】
ある実施形態において、入出力インターフェース２０８は、ＨＭＤ１１０、ＨＭＤセンサ１２０及びモーションセンサ１３０との間で信号を通信する。ある態様において、入出力インターフェース２０８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）等の端子を用いて実現される。なお、入出力インターフェース２０８は上述のものに限られない。
【００４９】
ある実施形態において、入出力インターフェース２０８は、さらに、コントローラ１６０と通信し得る。例えば、入出力インターフェース２０８は、コントローラ１６０及びモーションセンサ１３０から出力された信号の入力を受ける。別の態様において、入出力インターフェース２０８は、プロセッサ２０２から出力された命令を、コントローラ１６０に送る。当該命令は、振動、音声出力、発光等をコントローラ１６０に指示する。コントローラ１６０は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【００５０】
通信インターフェース２１０は、ネットワーク１９２に接続され、ネットワーク１９２に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある態様において、通信インターフェース２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線通信インターフェース、あるいは、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の無線通信インターフェースとして実現される。なお、通信インターフェース２１０は上述のものに限られない。
【００５１】
ある態様において、プロセッサ２０２は、ストレージ２０６にアクセスし、ストレージ２０６に格納されている１つ以上のプログラムをメモリ２０４にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２０２は、入出力インターフェース２０８を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいて表示部１１２に映像を表示する。
【００５２】
図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられている。しかし、別の態様において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、表示部１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００５３】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００５４】
ある実施形態において、システム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の１つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、及び前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸として規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００５５】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置及び傾きの時間的変化を検出できる。
【００５６】
グローバル座標系は現実空間の座標系と平行である。したがって、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。ＨＭＤセンサ１２０は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００５７】
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の位置及び傾きを検出する。プロセッサ２０２は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００５８】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向（ｘ軸、ｙ軸、ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）、及びロール方向（ｗ軸）として設定する。
【００５９】
ある態様において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ２０２は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、及び前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）及びロール方向（ｗ軸）に一致する。
【００６０】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、ＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）及びロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ方向周りのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー方向周りのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール方向周りのＨＭＤ１１０の傾き角度を表す。
【００６１】
ＨＭＤセンサ１２０は、検出されたＨＭＤ１１０の傾き角度に基づいて、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置及び傾きに関わらず、常に一定である。ＨＭＤ１１０の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置及び傾きが変化する。
【００６２】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係（例えば、各点間の距離等）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ２０２は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００６３】
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間４００を表現する一態様を概念的に表す図である。仮想空間４００は、中心４０６の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間４００のうちの上半分の天球が例示されている。仮想空間４００では各メッシュが規定される。各メッシュの位置は、仮想空間４００に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間４００に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間４００において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間４００をユーザに提供する。
【００６４】
ある態様において、仮想空間４００では、中心４０６を原点とするｘｙｚ座標系が規定される。ｘｙｚ座標系は、例えば、グローバル座標系に平行である。ｘｙｚ座標系は視点座標系の一種であるため、ｘｙｚ座標系における水平方向、鉛直方向（上下方向）及び前後方向は、それぞれｘ軸、ｙ軸及びｚ軸として規定される。したがって、ｘｙｚ座標系のｘ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ｘｙｚ座標系のｙ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ｘｙｚ座標系のｚ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００６５】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ４０４が、仮想空間４００の中心４０６に配置される。ある態様において、プロセッサ２０２は、仮想カメラ４０４が撮影する画像をＨＭＤ１１０の表示部１１２に表示する。仮想カメラ４０４は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間４００を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置及び向きの変化が、仮想空間４００において同様に再現され得る。
【００６６】
ＨＭＤ１１０の場合と同様に、仮想カメラ４０４には、ｕｖｗ視野座標系が規定される。仮想空間４００における仮想カメラ４０４のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定される。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ４０４の傾きも変化する。また、仮想カメラ４０４は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間４００において移動することもできる。
【００６７】
コンピュータ２００のプロセッサ２０２は、仮想カメラ４０４の配置位置と、基準視線４０８とに基づいて、仮想空間４００における視界領域４１０を規定する。視界領域４１０は、仮想空間４００のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。
【００６８】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０が表示部１１２を視認する際の視点座標系に等しい。また、仮想カメラ４０４のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある態様に従うシステム１００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ４０４のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００６９】
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した図である。
【００７０】
ある態様において、注視センサ１４０は、ユーザ１９０の右目及び左目の各視線を検出する。ある態様において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１及びＬ１を検出する。別の態様において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２及びＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２及びＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１及びＬ１がなす角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００７１】
コンピュータ２００が、視線の検出結果として、視線Ｒ１及びＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１及びＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２及びＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２及びＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視界領域４１０に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００７２】
別の態様において、システム１００は、システム１００を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間４００に対して、音声による指示を与えることができる。
【００７３】
また、別の態様において、システム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、システム１００は、仮想空間４００においてテレビ番組を表示することができる。
【００７４】
さらに別の態様において、システム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００７５】
図６及び図７を参照して、視界領域４１０について説明する。図６は、仮想空間４００において視界領域４１０をｘ方向から見たｙｚ断面を表す図である。図７は、仮想空間４００において視界領域４１０をｙ方向から見たｘｚ断面を表す図である。
【００７６】
図６に示されるように、ｙｚ断面における視界領域４１０は、領域６０２を含む。領域６０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｙｚ断面とによって定義される。プロセッサ２０２は、仮想空間おける基準視線４０８を中心として極角αを含む範囲を、領域６０２として規定する。
【００７７】
図７に示されるように、ｘｚ断面における視界領域４１０は、領域７０２を含む。領域７０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｘｚ断面とによって定義される。プロセッサ２０２は、仮想空間４００における基準視線４０８を中心とした方位角βを含む範囲を、領域７０２として規定する。極角α及びβは、仮想カメラ４０４の配置位置と仮想カメラ４０４の向きとに応じて定まる。
【００７８】
ある態様において、システム１００は、コンピュータ２００からの信号に基づいて、視界画像を表示部１１２に表示させることにより、仮想空間における視界をユーザ１９０に提供する。視界画像は、仮想空間画像４０２のうち視界領域４１０に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ４０４も動く。その結果、仮想空間４００における視界領域４１０の位置が変化する。これにより、表示部１１２に表示される視界画像は、仮想空間画像４０２のうち、仮想空間４００においてユーザが向いた方向の視界領域４１０に重畳する画像に更新される。ユーザは、仮想空間４００における所望の方向を視認することができる。
【００７９】
このように、仮想カメラ４０４の向き（傾き）は仮想空間４００におけるユーザの視線（基準視線４０８）に相当し、仮想カメラ４０４が配置される位置は、仮想空間４００におけるユーザの視点に相当する。したがって、仮想カメラ４０４を移動（配置位置を変える動作、向きを変える動作を含む）させることにより、表示部１１２に表示される画像が更新され、ユーザ１９０の視界（視点、視線を含む）が移動される。
【００８０】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間４００に展開される仮想空間画像４０２のみを視認できる。そのため、システム１００は、仮想空間４００への高い没入感覚をユーザに与えることができる。
【００８１】
ある態様において、プロセッサ２０２は、ＨＭＤ１１０を装着したユーザ１９０の現実空間における移動に連動して、仮想空間４００において仮想カメラ４０４を移動し得る。この場合、プロセッサ２０２は、仮想空間４００における仮想カメラ４０４の位置及び向きに基づいて、ＨＭＤ１１０の表示部１１２に投影される画像領域（すなわち、仮想空間４００における視界領域４１０）を特定する。
【００８２】
ある実施形態に従うと、仮想カメラ４０４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ１９０が３次元の仮想空間４００を認識できるように、適切な視差が、２つの仮想カメラに設定されてもよい。
【００８３】
図８Ａを参照して、コントローラ１６０の一例であるコントローラ１６０Ａについて説明する。図８Ａは、ある実施形態に従うコントローラ１６０Ａの概略構成を表す図である。
【００８４】
ある態様において、コントローラ１６０Ａは、右コントローラと左コントローラとを含み得る。説明を簡単にするために、図８Ａにおけるコントローラ１６０Ａは右コントローラを示す。右コントローラは、ユーザ１９０の右手で操作される。左コントローラは、ユーザ１９０の左手で操作される。ある態様において、右コントローラと左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ１９０は、右コントローラを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の態様において、コントローラ１６０は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ１６０Ａについて説明する。
【００８５】
右コントローラ１６０Ａは、グリップ８０２と、フレーム８０４と、天面８０６とを備える。グリップ８０２は、ユーザ１９０の右手によって把持されるように構成されている。例えば、グリップ８０２は、ユーザ１９０の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００８６】
グリップ８０２は、ボタン８０８及び８１０と、モーションセンサ１３０とを含む。ボタン８０８は、グリップ８０２の側面に配置され、右手の中指による操作を受け付ける。ボタン８１０は、グリップ８０２の前面に配置され、右手の人差し指による操作を受け付ける。ある態様において、ボタン８０８、８１０は、トリガー式のボタンとして構成される。モーションセンサ１３０は、グリップ８０２の筐体に内蔵されている。なお、ユーザ１９０の動作がカメラその他の装置によってユーザ１９０の周りから検出可能である場合には、グリップ８０２は、モーションセンサ１３０を備えなくてもよい。
【００８７】
フレーム８０４は、その円周方向に沿って配置された複数の赤外線ＬＥＤ８１２を含む。赤外線ＬＥＤ８１２は、コントローラ１６０Ａを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ８１２から発せられた赤外線は、右コントローラ１６０Ａと左コントローラ（図示しない）との各位置や姿勢（傾き、向き）を検出するために使用され得る。図８に示される例では、２列に配置された赤外線ＬＥＤ８１２が示されているが、配列の数は図８に示されるものに限られない。１列あるいは３列以上の配列が使用されてもよい。
【００８８】
天面８０６は、ボタン８１４及び８１６と、アナログスティック８１８とを備える。ボタン８１４及び８１６は、プッシュ式ボタンとして構成される。ボタン８１４及び８１６は、ユーザ１９０の右手の親指による操作を受け付ける。アナログスティック８１８は、ある態様において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。
【００８９】
ある態様において、右コントローラ１６０Ａ及び左コントローラは、赤外線ＬＥＤ８１２等の部材を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ１６０Ａと左コントローラは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、右コントローラ８００及び左コントローラは、ＵＳＢインターフェースを介して電力を供給され得る。
【００９０】
図８Ｂを参照して、コントローラ１６０の一例であるコントローラ１６０Ｂについて説明する。図８Ｂは、ある実施形態に従うコントローラ１６０Ｂの概略構成を表す図である。
【００９１】
コントローラ１６０Ｂは、複数のボタン８２０（８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ）及び８２２（８２２ａ、８２２ｂ、８２２ｃ、８２２ｄ）と、左右のアナログスティック８２４Ｌ及び８２４Ｒとを備える。各ボタン８２０及び８２２は、プッシュ式ボタンとして構成される。ボタン８２０及び８２２は、ユーザ１９０の手の親指による操作を受け付ける。ユーザ１９０の手の人差し指又は中指による操作を受け付けることが可能な不図示のトリガー式のボタンが、更にコントローラ１６０Ｂに設けられてもよい。アナログスティック８２４Ｌ及び８２４Ｒは、ある態様において、それぞれ初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。ボタン８２０（８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ）及び８２２（８２２ａ、８２２ｂ、８２２ｃ、８２２ｄ）並びにアナログスティック８２４Ｌ及び８２４Ｒ（更に、含まれる場合には不図示のトリガー式ボタン）には、それぞれ別個の操作コマンドが割り当てられる。操作コマンドは、例えば、仮想空間４００内のオブジェクトに指令を与えるためのコマンド、ゲームのメニュー画面等において各種の設定を行うためのコマンド、及びユーザ１９０が仮想空間４００を体験している際にコンピュータ２００に入力し得る任意の他のコマンドを含む。各ボタン又はアナログスティックに割り当てられた操作コマンドは、例えばゲームの進行や場面の変化に応じて、動的に変更されてもよい。
【００９２】
ある態様において、コントローラ１６０Ｂは、その外表面に配置された不図示の複数の赤外線ＬＥＤを含んでもよい。赤外線ＬＥＤは、コントローラ１６０Ｂを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤから発せられた赤外線は、コントローラ１６０Ｂの位置や姿勢（傾き、向き）を検出するために使用され得る。またコントローラ１６０Ｂは、内部の電子部品を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、コントローラ１６０Ｂは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、コントローラ１６０Ｂは、ＵＳＢインターフェースを介して電力を供給され得る。
【００９３】
図９は、本開示の一実施形態による、システム１００を介してユーザに仮想体験を提供するための、コンピュータ２００の機能を示すブロック図である。コンピュータ２００は、主にＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０からの入力に基づいて、様々な処理を実行する。
【００９４】
コンピュータ２００は、プロセッサ２０２と、メモリ２０４と、通信制御部２０５とを備える。プロセッサ２０２は、仮想空間特定部９０２と、ＨＭＤ動作検知部９０４と、視線検知部９０６と、基準視線決定部９０８と、視界領域決定部９１０と、仮想視点特定部９１２と、視界画像生成部９１４と、仮想カメラ制御部９１６と、感覚ズレ低減部９１８と、視界画像出力部９２４と、を含み得る。メモリ２０４は様々な情報を格納するように構成され得る。一例では、メモリ２０４は、仮想空間データ９２６、オブジェクトデータ９２８、アプリケーションデータ９３０、ユーザ操作判定データ９３２、視界変化態様データ９３４、刺激データ９３６、その他のデータ９３８を含んでもよい。メモリ２０４はまた、ＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０等からの入力に対応した出力情報をＨＭＤ１１０に関連付けられる表示部１１２へ提供するための演算に必要な、各種データを含んでもよい。オブジェクトデータ９２８は、仮想空間内に配置される様々なオブジェクトに関するデータを含んでもよい。ユーザ操作判定データ９３２は、後述の筐体に対するユーザ操作の判定に必要な種々のデータを含んでもよい。視界変化態様データ９３４は、検知したユーザ操作に対応して視界を変化させる態様を決定するための様々なデータを含んでもよい。刺激データ９３６は、その視界を変化させる態様に対応する刺激を決定するための種々のデータを含んでもよい。表示部１１２は、ＨＭＤ１１０に内蔵されてもよいし、ＨＭＤ１１０に取り付け可能な別のデバイス（例えば、スマートフォン）のディスプレイであってもよい。
【００９５】
図９においてプロセッサ２０２内に含まれるコンポーネントは、プロセッサ２０２が実行する機能を具体的なモジュールとして表現する１つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ２０２がすべてのコンポーネントの機能を実行するように構成されてもよい。
【００９６】
図１０は、ユーザが没入する仮想空間の画像を表示部１１２に表示するための一般的な処理のフロー図である。
【００９７】
図９及び図１０を参照して、仮想空間の画像を提供するためのシステム１００の一般的な処理を説明する。仮想空間４００は、ＨＭＤセンサ１２０、注視センサ１４０及びコンピュータ２００等の相互作用によって提供され得る。
【００９８】
処理はステップ１００２において開始する。一例として、アプリケーションデータ９３０に含まれるゲームアプリケーションがコンピュータ２００によって実行されてもよい。ステップ１００４において、プロセッサ２０２（又は、仮想空間特定部９０２）は、仮想空間データ９２６を参照するなどして、ユーザが没入する仮想空間４００を構成する天球状の仮想空間画像４０２を生成する。ＨＭＤセンサ１２０によってＨＭＤ１１０の位置や傾きが検知される。ＨＭＤセンサ１２０によって検知された情報はコンピュータ２００に送信される。ステップ１００６において、ＨＭＤ動作検知部９０４は、ＨＭＤ１１０の位置情報、傾き情報等を取得する。ステップ１００８において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【００９９】
注視センサ１４０がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ２００に送信される。ステップ１０１０において、視線検知部９０６は、右目及び左目の視線が向けられる方向を特定し、視線方向Ｎ０を決定する。ステップ１０１２において、基準視線決定部９０８は、ＨＭＤ１１０の傾きにより決定された視界方向又はユーザの視線方向Ｎ０を基準視線４０８として決定する。基準視線４０８はまた、ＨＭＤ１１０の位置や傾きに追随する仮想カメラ４０４の位置及び傾きに基づいて決定されてもよい。
【０１００】
ステップ１０１４において、視界領域決定部９１０は、仮想空間４００における仮想カメラ４０４の視界領域４１０を決定する。図４に示すように、視界領域４１０は、仮想空間画像４０２のうちユーザの視界を構成する部分である。視界領域４１０は基準視線４０８に基づいて決定される。視界領域４１０をｘ方向から見たｙｚ断面図及び視界領域４１０をｙ方向から見たｘｚ断面図は、既に説明した図６及び図７にそれぞれ示されている。
【０１０１】
ステップ１０１６において、視界画像生成部９１４は、視界領域４１０に基づいて視界画像を生成する。視界画像は、右目用と左目用の２つの２次元画像を含む。これらの２次元画像が表示部１１２に重畳される（より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される）ことにより、３次元画像としての仮想空間４００がユーザに提供される。ステップ１０１８において、視界画像出力部９２４は、視界画像に関する情報を表示部１１２に出力する。表示部１１２は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ１０２０において終了する。
【０１０２】
図１１は、本開示の一実施形態によるＶＲゲームシステム１１００の概略を示すブロック図である。図示のように、ＶＲゲームシステム１１００は、図９に示したコンピュータ２００及びＨＭＤ１１０に加え、筐体１１１０を備えている。ＶＲゲームシステム１１００は、さらに図９に示すその他の要素を備えているが、説明を簡略化するため、図示を省略して、筐体１１１０に関する部分のみを詳細に説明する。また、コンピュータ２００は、図９では１つのプロセッサを備えているように示したが、２以上のプロセッサを備えるようにして、別個のプロセッサで筐体１１１０を制御するようにしてもよい。尚、以下の説明では、ＶＲゲームとして、スノーボードに乗って空中を飛びながら世界を巡るというゲームを想定する。しかし、本開示は、このようなゲーム並びにスノーボードという乗り物に限定されず、その他のゲーム、スキー、スケートボードなどの乗り物にも適用することができる。
【０１０３】
詳細には、筐体１１１０は、第１のデバイス、すなわちＶＲゲームにおいてユーザが操作する対象であるユーザ操作デバイス機構１１１２（本例ではスノーボードを含む）を備え、また、このデバイス機構に対するユーザ操作を検知するためのユーザ操作検知機構１１１４を備えている。ユーザ操作検知機構１１１４から出力される検知データはコンピュータ２００に供給される。また、筐体１１１０は、第２のデバイス、すなわちユーザに対し刺激を付与するための刺激付与デバイス機構１１１６を備え、さらに、この付与デバイス機構を駆動するための刺激付与デバイス駆動機構１１１８を備えている。コンピュータ２００は、刺激付与デバイス駆動機構１１１８を制御する出力を供給する。
【０１０４】
図１２は、筐体１１１０の一実施形態の構造を示す概略図である。図示のように、この実施形態の筐体１２００は、ユーザ操作デバイス機構１１１２及びユーザ操作検知機構１１１４の組の一例としての、ユーザ１２１０がその上に乗るスノーボード機構１２２０と、刺激付与デバイス機構１１１６及び刺激付与デバイス駆動機構１１１８の組の一例としての手すり機構１２３０と、を備えている。スノーボード機構１２２０は、スノーボードの進行方向を基準方向１２１２（矢印で示す）として、全体がこの基準方向１２１２に細長い形状を有する。スノーボード機構１２２０はまた、ユーザが乗る平坦な上面を有するボード１２２２と、基準方向１２１２に平行なロール軸（図１２のZ軸）と、このロール軸と直交し筐体１１１０が載置される床と平行なピッチ軸（図１２のX軸）の２つの軸でボード１２２２を回転させることが可能な回転機構１２２４と、この回転によるボードの傾斜を検知する傾斜センサ１２２６とを備えている。この傾斜センサは、前述のコントローラ１６０を使用して実現してもよい。回転機構１２２４及び傾斜センサ１２２６の詳細については後述する。尚、本例では、ロール軸と直交し床に垂直のヨー軸での回転機構は備えていないが、ゲームの内容によってはそのような回転機構を追加してもよい。回転機構１２２４を備えることにより、ユーザ１２１０は、ＶＲ空間内で左に曲がりたい時には左エッジを立てるエッジング操作をし、右に曲がりたいときには右エッジを立てるエッジング操作をする。ユーザ１２１０はまた、ＶＲ空間内で上昇したいときにはボードを後傾、すなわち前方部分を上げ（あるいは後方部分を下げ）、下降したいときには前傾、すなわち前方部分を下げる（あるいは後方部分を上げる）、というピッチング操作をする。尚、ＶＲ空間内での移動速度は、任意の手段で行ってもよい。
【０１０５】
次に、手すり機構１２３０は、図示のように、ユーザ１２１０が掴む互いに平行の水平方向に延びた２本のバーで構成される手すり１２３２と、環状の台１２３４と、この環状の台に手すり１２３２を支持して固定する垂直方向に延びた４本の支持棒１２３６と、環状の台を２軸で回動させる２軸回転機構１２３８とを備えている。２本の手すり１２３２は、基準方向１２１２に平行に延びていて、一方はユーザの右手、他方がユーザの左手で掴まれるような長さ及び配置を有する。２軸回転機構１２３８は、図示のように、環状の台の形状と同じ環状構造を有し、その環状構造の中央の空間にスノーボード機構１２２０を収容している。環状の台及び２軸回転機構１２３８の環状構造は、環状構造の中央（ユーザ１２１０がスノーボード機構１２２０の乗る位置近辺）を中心として、基準方向１２１２を基準とするヨー軸とピッチ軸の２つの軸で回転可能である。この２軸回転機構１２３８の詳細については後述する。
【０１０６】
図１３は、本開示の一実施形態による感覚ズレ低減方法１３００のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図１３に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、少なくともプロセッサを備え、当該プロセッサの制御により感覚ズレ低減方法１３００を実行するコンピュータとして実施することもできる。
【０１０７】
以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、前述のように、ユーザが、ボード１２２２で表すスノーボードに乗って空中を飛びながら世界を巡るというＶＲゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【０１０８】
図１３の感覚ズレ低減方法１３００はステップ１３０２で始まり、ＶＲゲームの仮想空間が定義される。次いで、ステップ１３０４において仮想空間における視界が特定される。次いで、ステップ１３０６において、この特定された視界がユーザに提供される。これらステップ１３０２ないし１３０６の詳細は、図１０を参照して説明した通りであるが、本例のＶＲゲームでは、視界の特定、すなわち視界領域の決定に、ボード１２２２の傾きも使用する。ボード１２２２の傾きとして、最初はデフォルトの傾き（すなわち、傾斜なし）を使用する。
【０１０９】
処理はステップ１３０８に進み、感覚ズレ低減部９１８が、筐体１１１０のボード１２２２に対してユーザが操作をしたか否かを、傾斜センサ１２２６からの出力により判定する。ユーザ操作が検知されない場合、ボード１２２２の傾斜に変化なしと判断される。この場合、処理はステップ１３０６に戻り、最初に特定された視界をユーザに提供し続ける。尚、この最初に特定された視界の提供を開始した後は、ボード１２２２の傾きに変化がなくても、ＨＭＤの位置及び／又は角度、ユーザの視線方向などが変化したときは、その変化に基づいて視界が変化させられる。一方、ステップ１３０８でユーザ操作によるボード１２２２の傾斜が検知されると、処理はステップ１３１０に進む。ステップ１３１０において、感覚ズレ低減部９１８は、検知した操作に基づいて視界変化態様を特定する。ここで、視界変化態様とは、視界を変化させる態様を指す。本例において、ボードのエッジング操作、すなわちロール軸の回転操作の時の態様は、視界のヨーイングすなわち視界の左右方向の変化であり、ボードのピッチ軸の回転操作（ボードの後傾操作（又は前方部分を上げる操作）又は前傾操作（又は前方部分を下げる操作）の時の態様は、視界のピッチングすなわち視界の上下方向の変化である。ロール軸とピッチ軸の両方の回転操作が同時にされたときの態様としては、視界のヨーイングとピッチングを、それら操作量に応じたヨーイング量及びピッチング量で同時に実行させる。
【０１１０】
次いで、ステップ１３１２において、視界領域決定部９１０は、上記のようにして特定された視界変化態様に基づいて視界を更新する。処理はステップ１３１４に進み、感覚ズレ低減部９１８は、刺激データ９３６を参照して、特定された視界変化態様に対応する刺激を特定し、この特定した刺激をユーザに付与する。この付与は、手すり機構１２３０の２軸回転機構１２３８を制御することにより行われる。ここで、ユーザが操作する対象のデバイスと、このデバイスに対するユーザ操作によって生ずるデバイスの挙動との関係は、そのデバイスに依存する。例えば、デバイスが本例のようなスノーボードの場合、エッジング操作が左右方向のターンという挙動を生じさせる。この点に鑑み、感覚ズレ低減部９１８が参照する刺激データ９３６は、デバイス及びデバイスに対するユーザ操作に応じてユーザに与える刺激を定めるデータを含むように構成されてもよい。また、ＶＲゲームでは、デバイスに対する特定のユーザ操作に対し、現実空間においては起きないデバイスの挙動を定めることもできる。例えば、本例のゲームでは、スノーボードの前傾及び後傾操作によって、現実空間では起きない空間内での上昇及び下降という挙動をさせている。このため、刺激データ９３６は、スノーボードの前傾及び後傾操作によってピッチ軸回転という刺激を定めるデータを含んでもよい。
【０１１１】
ここで、図１４も参照して、視界変化態様と、これに対応する刺激との関係の一例について詳細に説明する。図１４は、仮想空間、仮想空間内の視界、当該視界の動き方向、手すり１２３０（図１４では、図示を簡略化するために、ボードの左側の一本のみを示す）、ボード１２２２（図１４では、図示を簡略化するために、ボードの四角の枠のみ示す）に対する操作の関係を概略的に示す図である。本例では、ユーザが操作するデバイスはスノーボードであるので、例えば左に曲がるときにはボードの左エッジを立てるエッジング操作が行われる。このときには、左に曲がっていることを示すために、視界変化態様は視界の左方向ＹＬへのヨーイングとなる。この場合、基準方向１２１２を前方としたときに、手すりの前方側を左方向ＴＬへ移動させるという刺激や、ユーザの上方から見たときの反時計回り方向にヨー軸回転させるという刺激をユーザに与える。これにより、ユーザが乗っているボードの向きは現実空間においては変化しないが、左方向のヨー軸回転という刺激が手すりを介してユーザに加わるので、左方向へ曲がっているという感覚をユーザに与えることができる。すなわち、視界変化態様に対応する変化が現実空間で起きた場合にユーザの身体に加わるはずの刺激に対し、同じ方向の刺激を与える。このときの刺激の大きさは、視界変化態様に対応する変化が現実空間で起きた場合にユーザの身体に加わるはずの刺激の大きさと比べると、小さいものとすることができる。すなわち、左方向へのヨー軸回転の量あるいは角度は、左エッジを立てる量あるいはボードの左傾斜の量に応じた量であってもよいし、一定の量であってもよいが、その刺激の大きさは小さくてよい。小さな刺激であっても、ユーザが仮想空間から受ける左方向に曲がっているという感覚とのズレを補償あるいは少なくとも低減でき、ＶＲ酔い低減という効果を発揮する。また、小さな刺激を用いることにより、コード絡まりの問題も軽減される。また、刺激の付与によってユーザの動きが更に複雑になるという問題を回避あるいは軽減することができる。
【０１１２】
一方、右に曲がる場合には、ボードの右エッジを立てるエッジング操作が行われる。右に曲がっていることを示すために、視界変化態様は視界の右方向ＹＲへのヨーイングとなる。そのときの刺激の方向は、基準方向１２１２を前方としたときの右方向ＴＲ、あるいはユーザの上方から見たときの時計回り方向となる。このような刺激を付与することにより、上述の例と同様に、ユーザが仮想空間から受ける右方向に曲がっているという感覚とのズレを補償あるいは少なくとも低減でき、ＶＲ酔い低減の効果が生ずる。
【０１１３】
さらに、スノーボードの前方部分あるいは後方部分を上げるピッチング操作が行われるときの刺激について説明する。本ゲームでは、前述のように、ボードを後傾させる（あるいは前方部分を上げる）と仮想空間内で上昇し、逆に前傾させる（あるいは前方部分を下げる）と仮想空間内で下降する、という視界変化態様を設定している。ピッチング操作によるこのような視界変化は、現実空間では起きえないが、空中を飛びながら世界を巡るというゲームのプレイのために設定されている。先ず、上昇するためにユーザがボードを後傾させたとき、その時の視界変化態様は、視界の上方方向ＰＵへのピッチングである。このときにユーザに加える刺激として、上方へ移動しているという感覚をユーザに与えるために、手すりの前方部分を、上方向ＴＵに動かすか、あるいはピッチ軸回転させる。逆に、下降するためにユーザがボードを前傾させたとき、その時の視界変化態様は、視界の下方向ＰＤへのピッチングである。このときにユーザに加える刺激として、下方へ移動しているという感覚をユーザに与えるために、手すりの前方部分を、下方向ＴＤに動かすか、あるいはピッチ軸回転させる。このような刺激の付与によって、ボードの前傾あるいは後傾操作に対応する刺激をユーザに与えることにより、ユーザが仮想空間から受ける上方向または下方向に移動しているという感覚とのズレを補償あるいは少なくとも低減でき、これによりＶＲ酔いを低減させることができる。
【０１１４】
以上説明した刺激付与ステップ１３１４が終了すると、処理はステップ１３０６に戻り、ステップ１３１２で更新された視界がユーザに提供され、以降のステップ１３０８〜１３１４が繰り返される。これにより、現実空間と仮想空間とから受ける感覚のズレの低減及びＶＲ酔いの軽減を図ることができる。
【０１１５】
図１５は、図１２のスノーボード機構１２２０のより具体的な実施形態を示す概略図である。図示のように、この実施形態のスノーボード機構１５００は、平らなボード１５０２と、ボード１５０２がその上に載置されてボード１５０２の２軸での回動を可能にする２軸回転機構１５０４と、ボード上に設置した傾斜センサとして作用するコントローラ１５０６とを備えている。２軸回転機構１５０４の２つの回転軸は、エッジング操作による回動を可能にするためのロール軸１５０８と、前傾あるいは後傾操作による回動を可能にするためのピッチ軸１５１０とを含む。ここで、２軸回転機構はそれ自体よく知られているので、その詳細な構造の説明は省略する。尚、ボードを平らな状態に保持するための力を付与したり、ボードの急激な動きを抑制したりしてボードの操作性を向上させるために、必要に応じてダンパーやスプリングなどを使用してもよい。コントローラ１５０６は、前述のようなコントローラ１６０と同様の構成を有してもよい。コントローラ１５０６からのボード傾斜を示すデータから、ボードに対しどのようなユーザ操作がされたのかを、必要に応じてユーザ操作判定データに含まれるデータを参照しながら判定が行われる。ユーザ操作判定データは、例えば、傾斜有りと判定するためのしきい値、傾斜の上限値などのデータを含んでもよい。
【０１１６】
図１６は、図１２のスノーボード機構１２２０のより具体的な別の実施形態を示す概略図である。図示のように、この実施形態のスノーボード機構１６００は、ボード上でのユーザの重心移動あるいは体重移動をユーザ操作入力として検知するものである。この例は、図１２のスノーボード機構１２２０及び図１５のスノーボード機構１５００のような、ボードの傾斜をユーザ操作入力として検知する例とは異なる。詳しくは、スノーボード機構１６００は、平らなボード１６０２と、このボードがその上に載置される台１６０４と、この台とボード１６０２との間に配置された薄い平板状の４つの圧力センサ１６０６とを備えている。４つの圧力センサ１６０６は、ボード１６０２の４隅に配置され、センサ出力はコンピュータ２００に供給される。
【０１１７】
この構成により、ボードの進行方向左側の１つ以上の圧力センサと、進行方向右側の１つ以上の圧力センサとにより検知される圧力の差に基づいて、左側が大きいときにはユーザが左に体重移動させたと判定され、右側の圧力が大きいときにはユーザが右に体重移動させたと判定される。このように、ユーザが左に曲がりたいときに進行方向左側へ体重移動させると、圧力センサがこの左方向への体重移動を検知し、前述の左エッジを立てる操作を検知したときと同じ処理が行われる。逆に、ユーザが右に曲がりたいときに進行方向右側へ体重移動させると、圧力センサがこの右方向への体重移動を検知し、前述の右エッジを立てる操作を検知したときと同じ処理が行われる。
【０１１８】
進行方向前方または進行方向後方への体重移動に関して、前方の１つ以上の圧力センサと後方の１つ以上の圧力センサとで検知される圧力の差に基づき、前方側が大きいときにはユーザが前方に体重移動させたと判定され、後方側の圧力が大きいときにはユーザが後方に体重移動させたと判定される。このように、ユーザが上昇したいときに進行方向後方側へ体重移動させると、圧力センサがこの後方側への体重移動を検知し、前述の後傾操作を検知したときと同じ処理が行われる。逆に、ユーザが下降したいときに進行方向前方側へ体重移動させると、圧力センサがこの前方側への体重移動を検知し、前述の前傾操作を検知したときと同じ処理が行われる。この実施形態のスノーボード機構では、可動部分がほとんどないので、構成が簡単になるという利点がある。尚、上述の例では、４つの圧力センサの配置位置はボードの４隅であるが、実施形態はこの構成に限定されない。圧力センサはボードの矩形形状の各辺の中央位置に配置されてもよい。その場合の圧力差の検知方法は、センサ配置位置に応じて変更されてもよい。
【０１１９】
図１２のスノーボード機構１２２０のより具体的なさらに別の実施形態として、スノーボード機構１５００に対し、スノーボード機構１６００における４つの圧力センサを追加してもよい。これら４つの圧力センサを、ボード１５０２と２軸回転機構１５０４との間に配置することにより、ボードの傾斜操作だけでなく、ボード上での重心移動によるユーザ操作を検知することができ、より細かなあるいはより緻密なユーザ操作入力を可能にすることができる。
【０１２０】
図１７は、図１１に示した刺激付与デバイス機構１１１６及び刺激付与デバイス駆動機構１１１８の組の別の実施形態である、手すり機構１７００を示す概略図である。この手すり機構１７００は、図示されるように、ユーザ１７０２が掴む、水平方向に延在する１本の半円形状のバーで構成される手すり１７０４と、環状の台１７０６と、この環状の台に手すり１７０４を支持して固定する３本の指示棒１７０８と、環状の台を２軸で回動させる２軸回転機構１７１０とを備えている。環状の台１７０６及び２軸回転機構１７１０は、図１２の環状の台１２３４及び２軸回転機構１２３８と同様のものとしてよい。図１２の実施形態では、スノーボード機構１２２０の各側に一本ずつ存在する手すりを含む、一対の手すり１２３２が設けられる。これに対して、図１７の実施形態においては、図１２のスノーボード機構１２２０と同様のスノーボード機構１７１２の前方側に１本の手すり１７０４が設けられる。本実施形態では、１７１２の前方側に手すりを配置することにより、この同じ手すりをユーザが両手で掴むことができるので、ヨー軸回転及びピッチ軸回転の刺激をユーザに伝えやすくなる。
【０１２１】
図１８は、図１１の刺激付与デバイス機構１１１６及び刺激付与デバイス駆動機構１１１８の組の別の実施形態である座席状機構１８００を示す概略図である。座席状機構１８００は、ユーザ１８０２の腰を支えるための上方から見て半円形形状の座席状部材１８０４と、この座席状部材が固定される水平方向に延びたＴ字状のバー１８０６と、環状の台１８０８と、環状の台１８０８にＴ字状のバー１８０６を支持して固定するための垂直方向に延びた３本の支持棒１８１０と、環状の台１８０８を２軸で回転させる２軸回転機構１８１２とを備えている。座席状部材１８０４は、進行方向に足を広げながらボードに乗っているユーザの腰を支えやすくするために、ボードの幅方向すなわちＸ軸方向に概して向いて配置されている。環状の台１８０８及び２軸回転機構１８１２は、図１２の環状の台１２３４及び２軸回転機構１２３８と同様のものとしてよい。図１２及び図１７の実施形態ではユーザが掴む手すりが設けられる。これに対して、図１８の本実施形態では、ユーザの腰を支えることができるので、ＶＲゲームのプレイ中のユーザの安全性をより確保することができる。また、座席状部材１８０４にシートベルト（不図示）を設けてユーザの体を座席状部材１８０４から離脱するのを防ぐことにより、更に安全性を高めることができる。尚、本実施形態では、座席状部材を用いているが、ユーザの体を支えてユーザに対し刺激を付与できれば、座席のような形状は必須ではなく、その他の任意の形状を用いてもよい。
【０１２２】
図１９は、図１２、図１７及び図１８に示した２軸回転機構の具体的な一実施形態である２軸回転機構１９００を示す概略図である。図示されるように、２軸回転機構１９００は、床に固定される環状の基台１９０２と、基台１９０２に対し垂直方向に可動に載置される環状の可動台１９０４と、環状の可動台１９０４に対し回転可能に載置される回転台１９０６とを備えている。回転台１９０６の上には、図１２の環状の台１２３４、図１７の環状の台１７０６又は図１８の環状の台１８０８が固定される。
【０１２３】
詳細には、可動台１９０４は、垂直方向に延びた４本の電動シリンダ１９０８で基台１９０２上に支持される（図２０も参照）。図示されるように、電動シリンダ１９０８は、環状のリング上に互いに等間隔に配置され、且つ、図示されないボードの幅方向の中心軸（図１９では水平方向であるＸ軸）について前後対称の位置に配置されてもよい。これにより、ボードの前方側の２つの電動シリンダが後方側の２つの電動シリンダよりも伸張すると、ピッチ軸（図１９ではＸ軸）回転で可動台１９０４が後傾する。他方、ボードの後方側の２つの電動シリンダが前方側の２つの電動シリンダよりも伸張すると、ピッチ軸回転によって可動台１９０４が前傾する。これにより、可動台１９及びこの上に置かれた回転台１９０６、さらには回転台１９０６上に置かれる環状の台１２３４、１７０６又は１８０８がピッチ軸回転させられる。したがって、ボードの前傾又は後傾の操作による上下方向への視界変化に対応してユーザにその方向と同じ方向のピッチ軸回転という刺激を与えることができる。
【０１２４】
尚、説明に使用しているＶＲゲームではロール軸（図１９では前後方向であるＺ軸）回転を使用しない。但し、ＶＲゲームの内容によっては、図１９の２軸回転機構１９００の構成に基づいて、そのようなロール軸回転をも提供する３軸回転機構を提供してもよい。その場合、ボードの前方方向右側及び前方方向左側の一方の電動シリンダを他方の電動シリンダよりも伸張させることによりロール軸回転を生成することができる。
【０１２５】
図２０は、図１９の回転台１９０６を可動台１９０４に対して回転させる機構の詳細を説明するために、図１９の線Ｉ−Ｉに沿って見た断面の概略図である。図示のように、回転台１９０６に電動モータ１９１０が固定され、可動台１９０４の環状部分の内周１９１２にラックピニオン機構のラック１９１６が固定される。ラック１９１６に係合するピニオンギヤ１９１８が電動モータ１９１０により駆動される。この構成により、可動台１９０４に対し回転台１９０６がヨー軸（図１９では鉛直方向であるＹ軸）回転させられる。また、回転台１９０６上に置かれる環状の台１２３４、１７０６又は１８０８もヨー軸回転させられる。したがって、ボードのエッジング操作による左右方向への視界変化に対応して、その方向と同じ方向のヨー軸回転という刺激をユーザに与えることができる。
【０１２６】
上述した図１９の２軸回転機構１９００においては、図１１の刺激付与デバイス駆動機構１１１８の一例として、電動シリンダ、ラックピニオン機構及び電動モータの組み合わせを用いて２軸回転が実現される。しかし、本開示は、このような手段に限定されるものではなく、他の任意の２軸回転機構を使用してもよい。例えば、ラックピニオン機構及び電動モータの組み合わせの代わりに、１つの電動シリンダを回転台１９０６と可動台１９０４との間に配置し、その伸縮によって回転台と可動台と間の相対的な回転が付与されてもよい。また、電動シリンダの代わりに、油圧又は空圧のシリンダ、ラックピニオン以外のギヤ機構などの種々の他の方法を用いて、２軸回転機構が実現されてもよい。
【０１２７】
以上、本開示の実施形態を説明したが、これらは例示にすぎず、本開示の範囲を限定するものではないことは理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることは理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によって規定されるべきである。
【符号の説明】
【０１２８】
１００…システム、１１２…表示部、１１４…センサ、１２０…ＨＭＤセンサ、１３０…モーションセンサ、１４０…注視センサ、１５０…サーバ、１６０Ａ、１６０Ｂ…コントローラ、１９０…頭部、１９２…ネットワーク、２００…コンピュータ、２０２…プロセッサ、２０４…メモリ、２０５…通信制御部、２０６…ストレージ、２０８…入出力インターフェース、２１０…通信インターフェース、２１２…バス、４００…仮想空間、４０２…仮想空間画像、４０４…仮想カメラ、４０６…中心、４０８…基準視線、４１０…視界領域、８００…右コントローラ、８０２…グリップ、８０４…フレーム、８０６…天面、８０８、８１０、８１４、８１６…ボタン、８１２…赤外線ＬＥＤ、８１８…アナログスティック、８２０、８２２…ボタン、８２４Ｒ、８２４Ｌ…アナログスティック、９０２…仮想空間特定部、９０４…ＨＭＤ動作検知部、９０６…視線検知部、９０８…基準視線決定部、９１０…視界領域決定部、９１２…仮想視点特定部、９１４…視界画像生成部、９１６…仮想カメラ制御部、９１８…感覚ズレ低減部、９２４…視界画像出力部、９２６…仮想空間データ、９２８…オブジェクトデータ、９３０…アプリケーションデータ、９３２…ユーザ操作判定データ、９３４視界変化態様データ、９３６…刺激データ、１１００…ＶＲゲームシステム、１１１０…筐体、１１１２…ユーザ操作デバイス機構、１１１４…ユーザ操作検知機構、１１１６…刺激付与デバイス機構、１１１８…刺激付与デバイス駆動機構、１２２０…スノーボード機構、１２３０…手すり機構、１７００…手すり機構、１８００…座席状機構、１９００…２軸回転機構
【図１】
2020004263.tif 000003
【図２】
2020004263.tif 000004
【図３】
2020004263.tif 000005
【図４】
2020004263.tif 000006
【図５】
2020004263.tif 000007
【図６】
2020004263.tif 000008
【図７】
2020004263.tif 000009
【図８Ａ】
2020004263.tif 000010
【図８Ｂ】
2020004263.tif 000011
【図９】
2020004263.tif 000012
【図１０】
2020004263.tif 000013
【図１１】
2020004263.tif 000014
【図１２】
2020004263.tif 000015
【図１３】
2020004263.tif 000016
【図１４】
2020004263.tif 000017
【図１５】
2020004263.tif 000018
【図１６】
2020004263.tif 000019
【図１７】
2020004263.tif 000020
【図１８】
2020004263.tif 000021
【図１９】
2020004263.tif 000022
【図２０】
2020004263.tif 000023