(57)【要約】【課題】仮想空間内で生じるイベントに関する仮想体験をユーザに提供する場合に、ユーザの仮想体験を損なうことなくＶＲ酔いを低減するための新規な手法を提供する。【解決手段】ユーザの頭部に関連付けられる画像表示装置を介してユーザに仮想体験を提供するコンピュータに、仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、画像表示装置の動きに基づいて仮想空間内で仮想視点からの視界を制御するステップと、仮想空間内でイベントを生じさせるステップと、仮想視点からの視界内におけるイベントの視認度合いが条件を満たさない場合に、ユーザの注意をイベントに向けるための行動を、仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、行動が行われている間に、視界内におけるイベントの視認度合いが条件を満たすように視界を制御するステップとを実行させるプログラムが提供される。【選択図】図１１
2019074953.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータに、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
を実行させるためのプログラム。
【請求項２】
前記処理を実行するステップが、
前記行動が行われることを示唆する音声を出力するステップを含み、
前記１つ又は複数のキャラクタオブジェクトが、前記音声に関連付けられる１つ又は複数のキャラクタオブジェクトである、請求項１に記載のプログラム。
【請求項３】
前記処理を実行するステップが、
前記行動として、前記１つ又は複数のキャラクタオブジェクトによって前記視界を覆わせる第１の行動と、前記イベントの視認度合いが条件を満たすように前記視界が制御される契機となる第２の行動とを、前記１つ又は複数のキャラクタオブジェクトに行わせる処理を実行する、請求項１又は２に記載のプログラム。
【請求項４】
前記イベントは、１つ又は複数のオブジェクトが登場するイベントであり、
前記１つ又は複数のオブジェクトのうち所定の数以上のオブジェクトが前記視界内に含まれていない場合に、前記視界内における前記イベントの視認度合いが前記条件を満たしていないと判断するステップを前記コンピュータに更に実行させるための、請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
前記イベントは、１つ又は複数のオブジェクトが登場するイベントであり、
前記１つ又は複数のオブジェクトについて予め設定された１つ又は複数の特徴点のうち所定の特徴点が前記視界内に含まれていない場合に、前記視界内における前記イベントの視認度合いが前記条件を満たしていないと判断するステップを前記コンピュータに更に実行させるための、請求項１から３のいずれか１項に記載のプログラム。
【請求項６】
前記イベントは、１つ又は複数のオブジェクトが登場するイベントであり、
前記判断するステップは、所定の期間内に前記視界内に現れる前記１つ又は複数のオブジェクトの数に基づく値が所定の数未満である場合に、前記視界内における前記イベントの視認度合いが前記条件を満たしていないと判断するステップを含む、請求項１から３のいずれか１項に記載のプログラム。
【請求項７】
前記イベントは、前記１つ又は複数のキャラクタオブジェクトのうちの少なくとも１つが登場するイベントであり、
前記１つ又は複数のキャラクタオブジェクトのうち前記行動を行うキャラクタオブジェクトと、前記１つ又は複数のキャラクタオブジェクトのうち前記イベントに登場するキャラクタオブジェクトとが、共通の属性を有し、
前記共通の属性が、性別、服装、所属集団及び大きさのうちの少なくとも１つを含む、請求項１から６のいずれか１項に記載のプログラム。
【請求項８】
コンピュータであって、
前記コンピュータが備えるプロセッサによる、ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するための制御により、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
が実行されるコンピュータ。
【請求項９】
ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータにより実行される方法であって、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、仮想体験をユーザに提供するための方法、プログラム及びコンピュータに関する。
【背景技術】
【０００２】
特許文献１には、ヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）の動きと同期せずにユーザの視野画像が更新される場合に、仮想現実（ＶＲ：Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間における酔い（いわゆる「ＶＲ酔い」）を低減させる技術が開示されている。当該技術によると、外部コントローラからの入力によって仮想カメラが動かされるとき、ユーザの視線を誘導するための視線誘導領域が生成される。この視線誘導領域によってユーザの視野画像の一部を隠すことにより、仮想カメラが動くときのＶＲ酔いが低減される。
【０００３】
今後、仮想空間におけるユーザの仮想体験を損なうことなくＶＲ酔いを低減するための様々な技術の開発が進むものと考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６０８７４５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、仮想空間内で生じるイベントに関する仮想体験をユーザに提供する場合に、ユーザの仮想体験を損なうことなくＶＲ酔いを低減するための新規な手法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示の一実施形態によれば、ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータに、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
を実行させるためのプログラムが提供される。
【０００７】
本開示の別の実施形態によれば、コンピュータであって、
前記コンピュータが備えるプロセッサによる、ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するための制御により、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
が実行されるコンピュータが提供される。
【０００８】
本開示の別の実施形態によれば、ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータにより実行される方法であって、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
を含む、方法が提供される。
【発明の効果】
【０００９】
本開示の実施形態により、仮想空間内で生じるイベントに関する仮想体験をユーザに提供する場合に、ユーザの仮想体験を損なうことなくＶＲ酔いを低減するための新規な手法を提供することができる。
【００１０】
本開示のその他の特徴及び利点は、後述する実施形態の説明、添付の図面及び特許請求の範囲の記載から明らかなものとなる。
【図面の簡単な説明】
【００１１】
【図１】ＨＭＤシステムの構成を概略的に示す図である。
【図２】本開示の一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。
【図３】一実施形態に従う、ＨＭＤに設定されるｕｖｗ視野座標系を概念的に表す図である。
【図４】一実施形態に従う、仮想空間を表現する一態様を概念的に表す図である。
【図５】一実施形態に従う、ＨＭＤを装着するユーザの頭部を上から表した図である。
【図６】仮想空間において視認領域をｘ方向から見たｙｚ断面を表す図である。
【図７】仮想空間において視認領域をｙ方向から見たｘｚ断面を表す図である。
【図８Ａ】一実施形態に従う、コントローラの概略構成を表す図である。
【図８Ｂ】一実施形態に従う、コントローラの概略構成を表す図である。
【図９】本開示の一実施形態による、ＨＭＤシステムを介してユーザに仮想体験を提供するための、コンピュータの機能を示すブロック図である。
【図１０】ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。
【図１１】本開示の一実施形態による方法のフローチャートである。
【図１２】ステップ１１１０及び１１１２において実行される処理の具体例を示すフローチャートである。
【図１３】ゲームのプレイ中にイベントが生じた様子を概略的に表す図である。
【図１４】図１３に示すシーンに関してユーザに提供される視界画像の例を示す図である。
【図１５】ステップ１１１６において実行される処理の具体例を示すフローチャートである。
【図１６Ａ】ステップ１５０２において行われる処理の様子を模式的に示す図である。
【図１６Ｂ】ステップ１５０２において行われる処理の様子を模式的に示す図である。
【図１６Ｃ】ステップ１５０２において行われる処理の様子を模式的に示す図である。
【図１７Ａ】ステップ１５０４において行われる処理の様子を模式的に示す図である。
【図１７Ｂ】ステップ１５０４において行われる処理の様子を模式的に示す図である。
【図１７Ｃ】ステップ１５０４において行われる処理の様子を模式的に示す図である。
【図１８】ステップ１１１８において実行される処理の具体例を示すフローチャートである。
【図１９】ユーザの仮想視点を動かす様子を説明する図である。
【図２０】視界画像の中心点が基準点に一致するように仮想カメラを移動させた後の視界画像を示す図である。
【図２１】ステップ１１１０及び１１１２において実行される処理の具体例を示すフローチャートである。
【図２２】オブジェクトに設定された特徴点と視界画像との間の関係を説明する図である。
【図２３】ステップ１１１０及び１１１２において実行される処理の具体例を示すフローチャートである。
【図２４】所定期間内に得られた視界内のオブジェクトの数及びこれに基づく値の例を示す図である。
【発明を実施するための形態】
【００１２】
［本開示の実施形態の説明］
はじめに、本開示の例示的な実施形態の構成を列記して説明する。本開示の実施形態による方法、プログラム及びコンピュータは、以下のような構成を備えてもよい。
【００１３】
（項目１）
ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータに、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
を実行させるためのプログラム。
【００１４】
（項目２）
前記処理を実行するステップが、
前記行動が行われることを示唆する音声を出力するステップを含み、
前記１つ又は複数のキャラクタオブジェクトが、前記音声に関連付けられる１つ又は複数のキャラクタオブジェクトである、項目１に記載のプログラム。
【００１５】
（項目３）
前記処理を実行するステップが、
前記行動として、前記１つ又は複数のキャラクタオブジェクトによって前記視界を覆わせる第１の行動と、前記イベントの視認度合いが条件を満たすように前記視界が制御される契機となる第２の行動とを、前記１つ又は複数のキャラクタオブジェクトに行わせる処理を実行する、項目１又は２に記載のプログラム。
【００１６】
（項目４）
前記イベントは、１つ又は複数のオブジェクトが登場するイベントであり、
前記１つ又は複数のオブジェクトのうち所定の数以上のオブジェクトが前記視界内に含まれていない場合に、前記視界内における前記イベントの視認度合いが前記条件を満たしていないと判断するステップを前記コンピュータに更に実行させるための、項目１から３のいずれか１項に記載のプログラム。
【００１７】
（項目５）
前記イベントは、１つ又は複数のオブジェクトが登場するイベントであり、
前記１つ又は複数のオブジェクトについて予め設定された１つ又は複数の特徴点のうち所定の特徴点が前記視界内に含まれていない場合に、前記視界内における前記イベントの視認度合いが前記条件を満たしていないと判断するステップを前記コンピュータに更に実行させるための、項目１から３のいずれか１項に記載のプログラム。
【００１８】
（項目６）
前記イベントは、１つ又は複数のオブジェクトが登場するイベントであり、
前記判断するステップは、所定の期間内に前記視界内に現れる前記１つ又は複数のオブジェクトの数に基づく値が所定の数未満である場合に、前記視界内における前記イベントの視認度合いが前記条件を満たしていないと判断するステップを含む、項目１から３のいずれか１項に記載のプログラム。
【００１９】
（項目７）
前記イベントは、前記１つ又は複数のキャラクタオブジェクトのうちの少なくとも１つが登場するイベントであり、
前記１つ又は複数のキャラクタオブジェクトのうち前記行動を行うキャラクタオブジェクトと、前記１つ又は複数のキャラクタオブジェクトのうち前記イベントに登場するキャラクタオブジェクトとが、共通の属性を有し、
前記共通の属性が、性別、服装、所属集団及び大きさのうちの少なくとも１つを含む、項目１から６のいずれか１項に記載のプログラム。
【００２０】
（項目８）
コンピュータであって、
前記コンピュータが備えるプロセッサによる、ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するための制御により、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
が実行されるコンピュータ。
【００２１】
（項目９）
ユーザの頭部に関連付けられる画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータにより実行される方法であって、
前記仮想体験を提供するための仮想空間を規定する仮想空間データを特定するステップと、
前記画像表示装置の動きに基づいて、前記仮想空間内で仮想視点からの視界を制御するステップと、
前記仮想空間内でイベントを生じさせるステップと、
前記仮想視点からの視界内における前記イベントの視認度合いが条件を満たさない場合に、前記ユーザの注意を前記イベントに向けるための行動を、前記仮想空間内に存在する１つ又は複数のキャラクタオブジェクトに行わせる処理を実行するステップと、
前記行動が行われている間に、前記視界内における前記イベントの視認度合いが条件を満たすように前記視界を制御するステップと
を含む、方法。
【００２２】
［本開示の実施形態の詳細］
以下、図面を参照しつつ、本開示の実施形態について説明する。以下の説明では、同様の要素には同様の符号を付してある。それらの名称及び機能も同様である。このような要素については重複する説明が省略される。
【００２３】
図１を参照して、ヘッドマウントデバイス（Ｈｅａｄ−Ｍｏｕｎｔｅｄ  Ｄｅｖｉｃｅ、ＨＭＤ）システム１００の構成について説明する。図１は、ＨＭＤシステム１００の構成を概略的に示す。一例では、ＨＭＤシステム１００は、家庭用のシステム又は業務用のシステムとして提供される。ＨＭＤは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。
【００２４】
ＨＭＤシステム１００は、ＨＭＤ１１０と、ＨＭＤセンサ１２０と、コントローラ１６０と、コンピュータ２００とを備える。ＨＭＤ１１０は、表示部１１２と、注視センサ１４０とを含む。コントローラ１６０は、モーションセンサ１３０を含んでもよい。
【００２５】
一例では、コンピュータ２００は、インターネット等のネットワーク１９２に接続可能であってもよく、ネットワーク１９２に接続されるサーバ１５０等のコンピュータと通信可能であってもよい。別の態様において、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりにセンサ１１４を含んでもよい。
【００２６】
ＨＭＤ１１０は、ユーザ１９０の頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、ＨＭＤ１１０は、右目用の画像及び左目用の画像を表示部１１２にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を３次元の画像として認識し得る。
【００２７】
表示部１１２は、例えば、非透過型の表示装置として実現される。一例では、表示部１１２は、ユーザの両目の前方に位置するように、ＨＭＤ１１０の本体に配置される。したがって、ユーザは、表示部１１２に表示される３次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部１１２は、スマートフォン等の情報表示端末が備える液晶表示部又は有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）表示部として実現され得る。
【００２８】
一例では、表示部１１２は、右目用の画像を表示するためのサブ表示部と、左目用の画像を表示するためのサブ表示部とを含み得る。別の態様において、表示部１１２は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、表示部１１２は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
【００２９】
一例では、ＨＭＤ１１０は、複数の光源（図示せず）を含む。各光源は、例えば、赤外線を発するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）により実現される。ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きを検出するためのポジショントラッキング機能を有する。より具体的には、ＨＭＤセンサ１２０は、ＨＭＤ１１０が発する複数の赤外線を読み取り、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出してもよい。
【００３０】
ある態様において、ＨＭＤセンサ１２０は、カメラにより実現されてもよい。この場合、ＨＭＤセンサ１２０は、カメラから出力されるＨＭＤ１１０の画像情報を用いて、画像解析処理を実行することにより、ＨＭＤ１１０の位置及び傾きを検出することができる。
【００３１】
別の態様において、ＨＭＤ１１０は、位置検出器として、ＨＭＤセンサ１２０の代わりに、センサ１１４を備えてもよい。ＨＭＤ１１０は、センサ１１４を用いて、ＨＭＤ１１０自身の位置及び傾きを検出し得る。例えば、センサ１１４が角速度センサ、地磁気センサ、加速度センサ、ジャイロセンサ等である場合、ＨＭＤ１１０は、ＨＭＤセンサ１２０の代わりに、これらの各センサのいずれかを用いて、自身の位置及び傾きを検出し得る。一例として、センサ１１４が角速度センサである場合、角速度センサは、現実空間におけるＨＭＤ１１０の３軸周りの角速度を経時的に検出する。ＨＭＤ１１０は、各角速度に基づいて、ＨＭＤ１１０の３軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、ＨＭＤ１１０の傾きを算出する。また、ＨＭＤ１１０は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は、仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、ＨＭＤ１１０に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。
【００３２】
注視センサ１４０は、ユーザ１９０の右目及び左目の視線が向けられる方向（視線）を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ１４０は、当該アイトラッキング機能を有するセンサにより実現される。ある態様において、注視センサ１４０は、右目用のセンサ及び左目用のセンサを含むことが好ましい。注視センサ１４０は、例えば、ユーザ１９０の右目及び左目に赤外光を照射するとともに、照射光に対する角膜及び虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ１４０は、検出した各回転角に基づいて、ユーザ１９０の視線を検知することができる。
【００３３】
サーバ１５０は、コンピュータ２００にプログラムを送信し得る。別の態様において、サーバ１５０は、他のユーザによって使用されるＨＭＤに仮想現実を提供するための他のコンピュータ２００と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行う場合、各コンピュータ２００は、各ユーザの動作に基づく信号を他のコンピュータ２００と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
【００３４】
コントローラ１６０は、有線又は無線によりコンピュータ２００に接続される。コントローラ１６０は、ユーザ１９０からコンピュータ２００への命令の入力を受け付ける。ある態様において、コントローラ１６０は、ユーザ１９０によって把持可能に構成される。別の態様において、コントローラ１６０は、ユーザ１９０の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ１６０は、コンピュータ２００から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ１６０は、ユーザ１９０から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。
【００３５】
ある態様において、モーションセンサ１３０は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ１３０は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ２００に送られる。モーションセンサ１３０は、例えば、手袋型のコントローラ１６０Ａに設けられる。ある実施形態において、現実空間における安全のため、コントローラ１６０Ａは、手袋型のようにユーザ１９０の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、複数の操作ボタンを有する一般的な構造のコントローラ１６０Ｂが用いられてもよい。別の態様において、ユーザ１９０に装着されないセンサがユーザ１９０の手の動きを検出してもよい。ユーザ１９０の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ１９０を撮影するカメラの信号が、ユーザ１９０の動作を表す信号として、コンピュータ２００に入力されてもよい。モーションセンサ１３０とコンピュータ２００とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）その他の公知の通信手法が用いられる。
【００３６】
図２を参照して、本開示の実施形態に係るコンピュータ２００について説明する。図２は、本開示の一実施形態によるコンピュータ２００の基本的なハードウェア構成の例を表すブロック図である。コンピュータ２００は、主たる構成要素として、プロセッサ２０２と、メモリ２０４と、ストレージ２０６と、入出力インターフェース２０８と、通信インターフェース２１０とを備える。各構成要素は、それぞれ、バス２１２に接続される。
【００３７】
プロセッサ２０２は、コンピュータ２００に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ２０４又はストレージ２０６に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ２０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のデバイスとして実現される。
【００３８】
メモリ２０４は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ２０６からロードされる。データは、コンピュータ２００に入力されたデータと、プロセッサ２０２によって生成されたデータとを含む。ある態様において、メモリ２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリとして実現される。
【００３９】
ストレージ２０６は、プログラム及びデータを永続的に保持する。ストレージ２０６は、例えば、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ハードディスク装置、フラッシュメモリ等の不揮発性記憶装置として実現される。ストレージ２０６に格納されるプログラムは、ＨＭＤシステム１００において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ２００との通信を実現するためのプログラム等を含む。ストレージ２０６に格納されるデータは、仮想空間を規定するためのデータ及びオブジェクト等を含む。
【００４０】
別の態様において、ストレージ２０６は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の態様において、コンピュータ２００に内蔵されたストレージ２０６の代わりに、外部の記憶装置に保存されているプログラム及びデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のＨＭＤシステム１００が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。
【００４１】
ある実施形態において、入出力インターフェース２０８は、ＨＭＤ１１０、ＨＭＤセンサ１２０及びモーションセンサ１３０との間で信号を通信する。ある態様において、入出力インターフェース２０８は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）等の端子を用いて実現される。なお、入出力インターフェース２０８は上述のものに限られない。
【００４２】
ある実施形態において、入出力インターフェース２０８は、さらに、コントローラ１６０と通信し得る。例えば、入出力インターフェース２０８は、コントローラ１６０及びモーションセンサ１３０から出力された信号の入力を受ける。別の態様において、入出力インターフェース２０８は、プロセッサ２０２から出力された命令を、コントローラ１６０に送る。当該命令は、振動、音声出力、発光等をコントローラ１６０に指示する。コントローラ１６０は、当該命令を受信すると、その命令に応じて、振動、音声出力、発光等を実行する。
【００４３】
通信インターフェース２１０は、ネットワーク１９２に接続され、ネットワーク１９２に接続されている他のコンピュータ（例えば、サーバ１５０）と通信する。ある態様において、通信インターフェース２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線通信インターフェース、あるいは、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の無線通信インターフェースとして実現される。なお、通信インターフェース２１０は上述のものに限られない。
【００４４】
ある態様において、プロセッサ２０２は、ストレージ２０６にアクセスし、ストレージ２０６に格納されている１つ以上のプログラムをメモリ２０４にロードし、当該プログラムに含まれる一連の命令を実行する。当該１つ以上のプログラムは、コンピュータ２００のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ２０２は、入出力インターフェース２０８を介して、仮想空間を提供するための信号をＨＭＤ１１０に送る。ＨＭＤ１１０は、その信号に基づいて表示部１１２に映像を表示する。
【００４５】
図２に示される例では、コンピュータ２００は、ＨＭＤ１１０の外部に設けられている。しかし、別の態様において、コンピュータ２００は、ＨＭＤ１１０に内蔵されてもよい。一例として、表示部１１２を含む携帯型の情報通信端末（例えば、スマートフォン）がコンピュータ２００として機能してもよい。
【００４６】
また、コンピュータ２００は、複数のＨＭＤ１１０に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
【００４７】
ある実施形態において、ＨＭＤシステム１００では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向及び水平方向の双方に直交する前後方向にそれぞれ平行な、３つの基準方向（軸）を有する。本実施形態では、グローバル座標系は視点座標系の１つである。そこで、グローバル座標系における水平方向、鉛直方向（上下方向）、及び前後方向は、それぞれ、ｘ軸、ｙ軸、ｚ軸として規定される。より具体的には、グローバル座標系において、ｘ軸は現実空間の水平方向に平行である。ｙ軸は、現実空間の鉛直方向に平行である。ｚ軸は現実空間の前後方向に平行である。
【００４８】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサを含む。赤外線センサが、ＨＭＤ１１０の各光源から発せられた赤外線をそれぞれ検出すると、ＨＭＤ１１０の存在を検出する。ＨＭＤセンサ１２０は、さらに、各点の値（グローバル座標系における各座標値）に基づいて、ＨＭＤ１１０を装着したユーザ１９０の動きに応じた、現実空間内におけるＨＭＤ１１０の位置及び傾きを検出する。より詳しくは、ＨＭＤセンサ１２０は、経時的に検出された各値を用いて、ＨＭＤ１１０の位置及び傾きの時間的変化を検出できる。
【００４９】
グローバル座標系は現実空間の座標系と平行である。したがって、ＨＭＤセンサ１２０によって検出されたＨＭＤ１１０の各傾きは、グローバル座標系におけるＨＭＤ１１０の３軸周りの各傾きに相当する。ＨＭＤセンサ１２０は、グローバル座標系におけるＨＭＤ１１０の傾きに基づき、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。ＨＭＤ１１０に設定されるｕｖｗ視野座標系は、ＨＭＤ１１０を装着したユーザ１９０が仮想空間において物体を見る際の視点座標系に対応する。
【００５０】
図３を参照して、ｕｖｗ視野座標系について説明する。図３は、ある実施形態に従うＨＭＤ１１０に設定されるｕｖｗ視野座標系を概念的に表す図である。ＨＭＤセンサ１２０は、ＨＭＤ１１０の起動時に、グローバル座標系におけるＨＭＤ１１０の位置及び傾きを検出する。プロセッサ２０２は、検出された値に基づいて、ｕｖｗ視野座標系をＨＭＤ１１０に設定する。
【００５１】
図３に示されるように、ＨＭＤ１１０は、ＨＭＤ１１０を装着したユーザの頭部を中心（原点）とした３次元のｕｖｗ視野座標系を設定する。より具体的には、ＨＭＤ１１０は、グローバル座標系を規定する水平方向、鉛直方向、及び前後方向（ｘ軸、ｙ軸、ｚ軸）を、グローバル座標系内においてＨＭＤ１１０の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる３つの方向を、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）、及びロール方向（ｗ軸）として設定する。
【００５２】
ある態様において、ＨＭＤ１１０を装着したユーザ１９０が直立し、かつ、正面を視認している場合、プロセッサ２０２は、グローバル座標系に平行なｕｖｗ視野座標系をＨＭＤ１１０に設定する。この場合、グローバル座標系における水平方向（ｘ軸）、鉛直方向（ｙ軸）、及び前後方向（ｚ軸）は、ＨＭＤ１１０におけるｕｖｗ視野座標系のピッチ方向（ｕ軸）、ヨー方向（ｖ軸）及びロール方向（ｗ軸）に一致する。
【００５３】
ｕｖｗ視野座標系がＨＭＤ１１０に設定された後、ＨＭＤセンサ１２０は、ＨＭＤ１１０の動きに基づいて、設定されたｕｖｗ視野座標系におけるＨＭＤ１１０の傾き（傾きの変化量）を検出できる。この場合、ＨＭＤセンサ１２０は、ＨＭＤ１１０の傾きとして、ｕｖｗ視野座標系におけるＨＭＤ１１０のピッチ角（θｕ）、ヨー角（θｖ）及びロール角（θｗ）をそれぞれ検出する。ピッチ角（θｕ）は、ｕｖｗ視野座標系におけるピッチ方向周りのＨＭＤ１１０の傾き角度を表す。ヨー角（θｖ）は、ｕｖｗ視野座標系におけるヨー方向周りのＨＭＤ１１０の傾き角度を表す。ロール角（θｗ）は、ｕｖｗ視野座標系におけるロール方向周りのＨＭＤ１１０の傾き角度を表す。
【００５４】
ＨＭＤセンサ１２０は、検出されたＨＭＤ１１０の傾き角度に基づいて、ＨＭＤ１１０が動いた後のＨＭＤ１１０におけるｕｖｗ視野座標系を、ＨＭＤ１１０に設定する。ＨＭＤ１１０と、ＨＭＤ１１０のｕｖｗ視野座標系との関係は、ＨＭＤ１１０の位置及び傾きに関わらず、常に一定である。ＨＭＤ１１０の位置及び傾きが変わると、当該位置及び傾きの変化に連動して、グローバル座標系におけるＨＭＤ１１０のｕｖｗ視野座標系の位置及び傾きが変化する。
【００５５】
ある態様において、ＨＭＤセンサ１２０は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係（例えば、各点間の距離等）に基づいて、ＨＭＤ１１０の現実空間内における位置を、ＨＭＤセンサ１２０に対する相対位置として特定してもよい。また、プロセッサ２０２は、特定された相対位置に基づいて、現実空間内（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系の原点を決定してもよい。
【００５６】
図４を参照して、仮想空間についてさらに説明する。図４は、ある実施形態に従う仮想空間４００を表現する一態様を概念的に表す図である。仮想空間４００は、中心４０６の３６０度方向の全体を覆う全天球状の構造を有する。図４では、説明を複雑にしないために、仮想空間４００のうちの上半分の天球が例示されている。仮想空間４００では各メッシュが規定される。各メッシュの位置は、仮想空間４００に規定されるＸＹＺ座標系における座標値として予め規定されている。コンピュータ２００は、仮想空間４００に展開可能なコンテンツ（静止画、動画等）を構成する各部分画像を、仮想空間４００において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像が展開される仮想空間４００をユーザに提供する。
【００５７】
ある態様において、仮想空間４００では、中心４０６を原点とするｘｙｚ座標系が規定される。ｘｙｚ座標系は、例えば、グローバル座標系に平行である。ｘｙｚ座標系は視点座標系の一種であるため、ｘｙｚ座標系における水平方向、鉛直方向（上下方向）及び前後方向は、それぞれｘ軸、ｙ軸及びｚ軸として規定される。したがって、ｘｙｚ座標系のｘ軸（水平方向）がグローバル座標系のｘ軸と平行であり、ｘｙｚ座標系のｙ軸（鉛直方向）がグローバル座標系のｙ軸と平行であり、ｘｙｚ座標系のｚ軸（前後方向）がグローバル座標系のｚ軸と平行である。
【００５８】
ＨＭＤ１１０の起動時、すなわちＨＭＤ１１０の初期状態において、仮想カメラ４０４が、仮想空間４００の中心４０６に配置される。ある態様において、プロセッサ２０２は、仮想カメラ４０４が撮影する画像をＨＭＤ１１０の表示部１１２に表示する。仮想カメラ４０４は、現実空間におけるＨＭＤ１１０の動きに連動して、仮想空間４００を同様に移動する。これにより、現実空間におけるＨＭＤ１１０の位置及び向きの変化が、仮想空間４００において同様に再現され得る。
【００５９】
ＨＭＤ１１０の場合と同様に、仮想カメラ４０４には、ｕｖｗ視野座標系が規定される。仮想空間４００における仮想カメラ４０４のｕｖｗ視野座標系は、現実空間（グローバル座標系）におけるＨＭＤ１１０のｕｖｗ視野座標系に連動するように規定される。したがって、ＨＭＤ１１０の傾きが変化すると、それに応じて、仮想カメラ４０４の傾きも変化する。また、仮想カメラ４０４は、ＨＭＤ１１０を装着したユーザの現実空間における移動に連動して、仮想空間４００において移動することもできる。
【００６０】
コンピュータ２００のプロセッサ２０２は、仮想カメラ４０４の配置位置と、基準視線４０８とに基づいて、仮想空間４００における視認領域４１０を規定する。視認領域４１０は、仮想空間４００のうち、ＨＭＤ１１０を装着したユーザが視認する領域に対応する。
【００６１】
注視センサ１４０によって検出されるユーザ１９０の視線は、ユーザ１９０が物体を視認する際の視点座標系における方向である。ＨＭＤ１１０のｕｖｗ視野座標系は、ユーザ１９０が表示部１１２を視認する際の視点座標系に等しい。また、仮想カメラ４０４のｕｖｗ視野座標系は、ＨＭＤ１１０のｕｖｗ視野座標系に連動している。したがって、ある態様に従うＨＭＤシステム１００は、注視センサ１４０によって検出されたユーザ１９０の視線を、仮想カメラ４０４のｕｖｗ視野座標系におけるユーザの視線とみなすことができる。
【００６２】
図５を参照して、ユーザの視線の決定について説明する。図５は、ある実施形態に従うＨＭＤ１１０を装着するユーザ１９０の頭部を上から表した図である。
【００６３】
ある態様において、注視センサ１４０は、ユーザ１９０の右目及び左目の各視線を検出する。ある態様において、ユーザ１９０が近くを見ている場合、注視センサ１４０は、視線Ｒ１及びＬ１を検出する。別の態様において、ユーザ１９０が遠くを見ている場合、注視センサ１４０は、視線Ｒ２及びＬ２を検出する。この場合、ロール方向ｗに対して視線Ｒ２及びＬ２がなす角度は、ロール方向ｗに対して視線Ｒ１及びＬ１がなす角度よりも小さい。注視センサ１４０は、検出結果をコンピュータ２００に送信する。
【００６４】
コンピュータ２００が、視線の検出結果として、視線Ｒ１及びＬ１の検出値を注視センサ１４０から受信した場合には、その検出値に基づいて、視線Ｒ１及びＬ１の交点である注視点Ｎ１を特定する。一方、コンピュータ２００は、視線Ｒ２及びＬ２の検出値を注視センサ１４０から受信した場合には、視線Ｒ２及びＬ２の交点を注視点として特定する。コンピュータ２００は、特定した注視点Ｎ１の位置に基づき、ユーザ１９０の視線Ｎ０を特定する。コンピュータ２００は、例えば、ユーザ１９０の右目Ｒと左目Ｌとを結ぶ直線の中点と、注視点Ｎ１とを通る直線の延びる方向を、視線Ｎ０として検出する。視線Ｎ０は、ユーザ１９０が両目により実際に視線を向けている方向である。また、視線Ｎ０は、視認領域４１０に対してユーザ１９０が実際に視線を向けている方向に相当する。
【００６５】
別の態様において、ＨＭＤシステム１００は、ＨＭＤシステム１００を構成するいずれかの部分に、マイク及びスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間４００に対して、音声による指示を与えることができる。
【００６６】
また、別の態様において、ＨＭＤシステム１００は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、ＨＭＤシステム１００は、仮想空間４００においてテレビ番組を表示することができる。
【００６７】
さらに別の態様において、ＨＭＤシステム１００は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
【００６８】
図６及び図７を参照して、視認領域４１０について説明する。図６は、仮想空間４００において視認領域４１０をｘ方向から見たｙｚ断面を表す図である。図７は、仮想空間４００において視認領域４１０をｙ方向から見たｘｚ断面を表す図である。
【００６９】
図６に示されるように、ｙｚ断面における視認領域４１０は、領域６０２を含む。領域６０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｙｚ断面とによって定義される。プロセッサ２０２は、仮想空間おける基準視線４０８を中心として極角αを含む範囲を、領域６０２として規定する。
【００７０】
図７に示されるように、ｘｚ断面における視認領域４１０は、領域７０２を含む。領域７０２は、仮想カメラ４０４の配置位置と基準視線４０８と仮想空間４００のｘｚ断面とによって定義される。プロセッサ２０２は、仮想空間４００における基準視線４０８を中心とした方位角βを含む範囲を、領域７０２として規定する。極角α及びβは、仮想カメラ４０４の配置位置と仮想カメラ４０４の向きとに応じて定まる。
【００７１】
ある態様において、ＨＭＤシステム１００は、コンピュータ２００からの信号に基づいて、視界画像を表示部１１２に表示させることにより、仮想空間における視界をユーザ１９０に提供する。視界画像は、仮想空間画像４０２のうち視認領域４１０に重畳する部分に相当する。ユーザ１９０が、頭に装着したＨＭＤ１１０を動かすと、その動きに連動して仮想カメラ４０４も動く。その結果、仮想空間４００における視認領域４１０の位置が変化する。これにより、表示部１１２に表示される視界画像は、仮想空間画像４０２のうち、仮想空間４００においてユーザが向いた方向の視認領域４１０に重畳する画像に更新される。ユーザは、仮想空間４００における所望の方向を視認することができる。
【００７２】
このように、仮想カメラ４０４の向き（傾き）は仮想空間４００におけるユーザの視線（基準視線４０８）に相当し、仮想カメラ４０４が配置される位置は、仮想空間４００におけるユーザの視点に相当する。したがって、仮想カメラ４０４を移動（配置位置を変える動作、向きを変える動作を含む）させることにより、表示部１１２に表示される画像が更新され、ユーザ１９０の視界（視点、視線を含む）が移動される。
【００７３】
ユーザ１９０は、ＨＭＤ１１０を装着している間、現実世界を視認することなく、仮想空間４００に展開される仮想空間画像４０２のみを視認できる。そのため、ＨＭＤシステム１００は、仮想空間４００への高い没入感覚をユーザに与えることができる。
【００７４】
ある態様において、プロセッサ２０２は、ＨＭＤ１１０を装着したユーザ１９０の現実空間における移動に連動して、仮想空間４００において仮想カメラ４０４を移動し得る。この場合、プロセッサ２０２は、仮想空間４００における仮想カメラ４０４の位置及び向きに基づいて、ＨＭＤ１１０の表示部１１２に投影される画像領域（すなわち、仮想空間４００における視認領域４１０）を特定する。
【００７５】
ある実施形態に従うと、仮想カメラ４０４は、２つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ１９０が３次元の仮想空間４００を認識できるように、適切な視差が、２つの仮想カメラに設定されてもよい。
【００７６】
図８Ａを参照して、コントローラ１６０の一例であるコントローラ１６０Ａについて説明する。図８Ａは、ある実施形態に従うコントローラ１６０Ａの概略構成を表す図である。
【００７７】
ある態様において、コントローラ１６０Ａは、右コントローラと左コントローラとを含み得る。説明を簡単にするために、図８Ａにおけるコントローラ１６０Ａは右コントローラを示す。右コントローラは、ユーザ１９０の右手で操作される。左コントローラは、ユーザ１９０の左手で操作される。ある態様において、右コントローラと左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ１９０は、右コントローラを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の態様において、コントローラ１６０は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ１６０Ａについて説明する。
【００７８】
右コントローラ１６０Ａは、グリップ８０２と、フレーム８０４と、天面８０６とを備える。グリップ８０２は、ユーザ１９０の右手によって把持されるように構成されている。例えば、グリップ８０２は、ユーザ１９０の右手の掌と３本の指（中指、薬指、小指）とによって保持され得る。
【００７９】
グリップ８０２は、ボタン８０８及び８１０と、モーションセンサ１３０とを含む。ボタン８０８は、グリップ８０２の側面に配置され、右手の中指による操作を受け付ける。ボタン８１０は、グリップ８０２の前面に配置され、右手の人差し指による操作を受け付ける。ある態様において、ボタン８０８、８１０は、トリガー式のボタンとして構成される。モーションセンサ１３０は、グリップ８０２の筐体に内蔵されている。なお、ユーザ１９０の動作がカメラその他の装置によってユーザ１９０の周りから検出可能である場合には、グリップ８０２は、モーションセンサ１３０を備えなくてもよい。
【００８０】
フレーム８０４は、その円周方向に沿って配置された複数の赤外線ＬＥＤ８１２を含む。赤外線ＬＥＤ８１２は、コントローラ１６０Ａを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤ８１２から発せられた赤外線は、右コントローラ１６０Ａと左コントローラ（図示しない）との各位置や姿勢（傾き、向き）を検出するために使用され得る。図８に示される例では、２列に配置された赤外線ＬＥＤ８１２が示されているが、配列の数は図８に示されるものに限られない。１列あるいは３列以上の配列が使用されてもよい。
【００８１】
天面８０６は、ボタン８１４及び８１６と、アナログスティック８１８とを備える。ボタン８１４及び８１６は、プッシュ式ボタンとして構成される。ボタン８１４及び８１６は、ユーザ１９０の右手の親指による操作を受け付ける。アナログスティック８１８は、ある態様において、初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。
【００８２】
ある態様において、右コントローラ１６０Ａ及び左コントローラは、赤外線ＬＥＤ８１２等の部材を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ１６０Ａと左コントローラは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、右コントローラ８００及び左コントローラは、ＵＳＢインターフェースを介して電力を供給され得る。
【００８３】
図８Ｂを参照して、コントローラ１６０の一例であるコントローラ１６０Ｂについて説明する。図８Ｂは、ある実施形態に従うコントローラ１６０Ｂの概略構成を表す図である。
【００８４】
コントローラ１６０Ｂは、複数のボタン８２０（８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ）及び８２２（８２２ａ、８２２ｂ、８２２ｃ、８２２ｄ）と、左右のアナログスティック８２４Ｌ及び８２４Ｒとを備える。各ボタン８２０及び８２２は、プッシュ式ボタンとして構成される。ボタン８２０及び８２２は、ユーザ１９０の手の親指による操作を受け付ける。ユーザ１９０の手の人差し指又は中指による操作を受け付けることが可能な不図示のトリガー式のボタンが、更にコントローラ１６０Ｂに設けられてもよい。アナログスティック８２４Ｌ及び８２４Ｒは、ある態様において、それぞれ初期位置（ニュートラルの位置）から３６０度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間４００に配置されるオブジェクトを移動するための操作を含む。ボタン８２０（８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ）及び８２２（８２２ａ、８２２ｂ、８２２ｃ、８２２ｄ）並びにアナログスティック８２４Ｌ及び８２４Ｒ（更に、含まれる場合には不図示のトリガー式ボタン）には、それぞれ別個の操作コマンドが割り当てられる。操作コマンドは、例えば、仮想空間４００内のオブジェクトに指令を与えるためのコマンド、ゲームのメニュー画面等において各種の設定を行うためのコマンド、及びユーザ１９０が仮想空間４００を体験している際にコンピュータ２００に入力し得る任意の他のコマンドを含む。各ボタン又はアナログスティックに割り当てられた操作コマンドは、例えばゲームの進行や場面の変化に応じて、動的に変更されてもよい。
【００８５】
ある態様において、コントローラ１６０Ｂは、その外表面に配置された不図示の複数の赤外線ＬＥＤを含んでもよい。赤外線ＬＥＤは、コントローラ１６０Ｂを使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線ＬＥＤから発せられた赤外線は、コントローラ１６０Ｂの位置や姿勢（傾き、向き）を検出するために使用され得る。またコントローラ１６０Ｂは、内部の電子部品を駆動するための電池を含む。電池は、１次電池及び２次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、コントローラ１６０Ｂは、例えば、コンピュータ２００のＵＳＢインターフェースに接続され得る。この場合、コントローラ１６０Ｂは、ＵＳＢインターフェースを介して電力を供給され得る。
図９は、本開示の一実施形態による、ＨＭＤシステム１００を介してユーザに仮想体験を提供するための、コンピュータ２００の機能を示すブロック図である。コンピュータ２００は、主にＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０からの入力に基づいて、様々な処理を実行する。
【００８６】
コンピュータ２００は、プロセッサ２０２と、メモリ２０４と、通信制御部２０５とを備える。プロセッサ２０２は、仮想空間特定部９０２と、ＨＭＤ動作検知部９０４と、視線検知部９０６と、基準視線決定部９０８と、視界領域決定部９１０と、仮想視点特定部９１２と、視界画像生成部９１４と、仮想カメラ制御部９１６と、イベント生成部９１８と、視認度合い特定部９２０と、条件判定部９２２と、オブジェクト制御部９２３と、視界画像出力部９２４と、を含み得る。メモリ２０４は様々な情報を格納するように構成され得る。一例では、メモリ２０４は、仮想空間データ９２６、オブジェクトデータ９２８、アプリケーションデータ９３０、イベントデータ９３２、視認度合い条件９３４、行動データ９３６、その他のデータ９３８を含んでもよい。メモリ２０４はまた、ＨＭＤセンサ１２０、モーションセンサ１３０、注視センサ１４０、コントローラ１６０等からの入力に対応した出力情報をＨＭＤ１１０に関連付けられる表示部１１２へ提供するための演算に必要な、各種データを含んでもよい。オブジェクトデータ９２８は、仮想空間内に配置される様々なオブジェクトに関するデータを含んでもよい。イベントデータ９３２は、仮想空間内で生じるイベントに関する様々なデータを含んでもよい。イベントは、仮想空間におけるシナリオの進行に応じて生じてもよい。視認度合い条件９３４は、イベントをユーザが視認しているかどうかの判定に関する情報（例えば、視認度合いを満たすのに必要な、後述のオブジェクト数や特徴点数など）を含んでもよい。行動データ９３６は、ユーザの注意を誘導するために仮想空間内のオブジェクトによって行われる行動に関するデータを含んでもよい。表示部１１２は、ＨＭＤ１１０に内蔵されてもよいし、ＨＭＤ１１０に取り付け可能な別のデバイス（例えば、スマートフォン）のディスプレイであってもよい。本開示の実施形態において、ＨＭＤ１１０は、ユーザの頭部に関連付けられる画像表示装置として構成される様々な装置を含み得る。
【００８７】
図９においてプロセッサ２０２内に含まれるコンポーネントは、プロセッサ２０２が実行する機能を具体的なモジュールとして表現する１つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ２０２がすべてのコンポーネントの機能を実行するように構成されてもよい。
【００８８】
図１０は、ユーザが没入する仮想空間の画像を表示部１１２に表示するための一般的な処理のフロー図である。
【００８９】
図９及び図１０を参照して、仮想空間の画像を提供するためのＨＭＤシステム１００の一般的な処理を説明する。仮想空間４００は、ＨＭＤセンサ１２０、注視センサ１４０及びコンピュータ２００等の相互作用によって提供され得る。
【００９０】
処理はステップ１００２において開始する。一例として、アプリケーションデータ９３０に含まれるゲームアプリケーションがコンピュータ２００によって実行されてもよい。ステップ１００４において、プロセッサ２０２（又は、仮想空間特定部９０２）は、仮想空間データ９２６を参照するなどして、ユーザが没入する仮想空間４００を構成する天球状の仮想空間画像４０２を生成する。ＨＭＤセンサ１２０によってＨＭＤ１１０の位置や傾きが検知される。ＨＭＤセンサ１２０によって検知された情報はコンピュータ２００に送信される。ステップ１００６において、ＨＭＤ動作検知部９０４は、ＨＭＤ１１０の位置情報、傾き情報等を取得する。ステップ１００８において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。
【００９１】
注視センサ１４０がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ２００に送信される。ステップ１０１０において、視線検知部９０６は、右目及び左目の視線が向けられる方向を特定し、視線方向Ｎ０を決定する。ステップ１０１２において、基準視線決定部９０８は、ＨＭＤ１１０の傾きにより決定された視界方向又はユーザの視線方向Ｎ０を基準視線４０８として決定する。基準視線４０８はまた、ＨＭＤ１１０の位置や傾きに追随する仮想カメラ４０４の位置及び傾きに基づいて決定されてもよい。
【００９２】
ステップ１０１４において、視界領域決定部９１０は、仮想空間４００における仮想カメラ４０４の視界領域４１０を決定する。図４に示すように、視界領域４１０は、仮想空間画像４０２のうちユーザの視界を構成する部分である。視界領域４１０は基準視線４０８に基づいて決定される。視界領域４１０をｘ方向から見たｙｚ断面図及び視界領域４１０をｙ方向から見たｘｚ断面図は、既に説明した図６及び図７にそれぞれ示されている。
【００９３】
ステップ１０１６において、視界画像生成部９１４は、視界領域４１０に基づいて視界画像を生成する。視界画像は、右目用と左目用の２つの２次元画像を含む。これらの２次元画像が表示部１１２に重畳される（より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される）ことにより、３次元画像としての仮想空間４００がユーザに提供される。ステップ１０１８において、視界画像出力部９２４は、視界画像に関する情報を表示部１１２に出力する。表示部１１２は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ１０２０において終了する。
【００９４】
図１１は、本開示の一実施形態による方法１１００のフローチャートである。図１１のステップ１１１０、１１１２、１１１６及び１１１８において実行される処理の具体例を示すフローチャートは、後述する図１２、図１５、図１９、図２１及び図２３に示される。本開示の一実施形態において、コンピュータプログラムが、図１１、図１２、図１５、図１９、図２１及び図２３に示される各ステップをプロセッサ２０２（又はコンピュータ２００）に実行させてもよい。また、本開示の別の実施形態は、少なくともプロセッサを備え、当該プロセッサの制御により方法１１００を実行するコンピュータとして実施することもできる。
【００９５】
以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、ユーザが、当該ユーザに関連付けられるアバター、他のオブジェクト等が配置された仮想空間に没入して楽しむことができるゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
【００９６】
図１３は、ゲームのプレイ中にイベントが生じた様子を概略的に表す図である。以下では、具体例として「女の子と一緒に犬を散歩させる」というイベントが生じた場合について、本開示の実施形態を説明する。しかし、イベントはこの種のものに限られず、ＲＰＧゲーム、シューティングゲームなどを含む様々なアプリケーションにおいて生じるイベントであってもよい。例えば、イベントは、旅行、観光、レッスン、講習などの、様々なシナリオを含むイベントであってもよい。
【００９７】
ユーザ１３０４はＨＭＤ１１０を頭部に装着する。この例では、ユーザ１３０４は、図８Ｂに示す構成を有するコントローラ１６０Ｂを操作してもよい。これはコントローラの一例にすぎないことが理解されよう。図８Ａに示すコントローラ１６０Ａなどの、ユーザの身体に装着可能な他の態様のコントローラを含む、様々なコントローラを本開示の実施形態に適用することができる。別の例において、ユーザ１３０４がコントローラを装着せず、ユーザ１３０４に装着されないセンサがユーザ１３０４の動きを検出してもよい。例えば、ユーザ１３０４を撮影するカメラの信号が、ユーザ１３０４の動きを表す信号として、コンピュータ２００に入力されてもよい。
【００９８】
仮想空間１３００内には、ユーザ１３０４によって操作されるアバター１３０６が配置される。ゲームのプレイ中、ユーザ１３０４は、コントローラ１６０Ｂを操作すること、ＨＭＤ１１０が装着された頭部を動かすこと等によって、ユーザ１３０４に関連付けられるアバター１３０６に様々な動作を行わせることができる。
【００９９】
図１３に示されるように、アバター１３０６の位置（例えば、アバター１３０６の目の位置）に仮想カメラ１３０２が配置されてもよい。ユーザ１３０４は、仮想カメラ１３０２により（アバター１３０６の視点から）得られた仮想空間１３００の映像を見ることができる。この例では、ユーザ１３０４のアバター１３０６が、女の子１３１０、犬１３１２、リード１３１４、犬小屋１３１６などのオブジェクト、及び他の任意の背景画像を含むシーン１３１８の近傍にいるものと仮定する。
【０１００】
図１１に戻り、処理はステップ１１０２において開始する。プロセッサ２０２は、メモリ２０４に格納されているアプリケーションデータ９３０に含まれるゲームプログラムを読み出して実行する。仮想空間特定部９０２は、仮想空間データ９２６、オブジェクトデータ９２８等に基づいて、実行されたゲームのための仮想空間データを特定する。アバター１３０６及びシーン１３１８内に現れるオブジェクトに関するデータは、オブジェクトデータ９２８、アプリケーションデータ９３０等に含まれてもよい。仮想空間データは、ユーザ１３０４に関連付けられるアバター１３０６を含む仮想空間を規定する。イベントに関するデータは、イベントデータ９３２に含まれてもよい。
【０１０１】
処理はステップ１１０４に進み、仮想カメラ制御部９１６は、ユーザ１３０４による操作に基づいて、仮想空間１３００内で仮想カメラ１３０２を動かす（仮想視点からの視界を制御する）。仮想カメラ１３０２は、ユーザ１３０４によるコントローラ１６０Ｂに対する操作、ユーザ１３０４の頭部１９０の動きに伴うＨＭＤ１１０の動き、アプリケーションによって予め規定される仮想カメラ１３０２の移動等によって動かされてもよい。
【０１０２】
処理はステップ１１０６に進み、イベント生成部９１８は、ゲームの進行状況等に応じて生じるイベント（この例では散歩イベント）を、イベントデータ９３２、オブジェクトデータ９２８、アプリケーションデータ９３０等に基づいて生成する。
【０１０３】
図１３の例において、シーン１３１８は、女の子１３１０、犬１３１２、リード１３１４及び犬小屋１３１６を含む。アバター１３０６の視線の方向、すなわち仮想カメラ１３０２の向き（又は、仮想視点の向き）は、矢印１３１２により示されている。
【０１０４】
処理はステップ１１０８に進む。視界画像生成部９１４は、仮想空間データ９２６、イベントデータ９３２、仮想カメラ１３０２の位置及び向き等に基づいて、視界画像を生成する。視界画像は、例えば、図１０に関連して既に説明された処理によって生成される。
【０１０５】
処理はステップ１１１０に進み、視認度合い特定部９２０は、ステップ１１０６において生成されたイベントをユーザ１３０４がどの程度視認しているかを示す視認度合いを特定する。
【０１０６】
処理はステップ１１１２に進み、条件判定部９２２は、視認度合い条件９３４等に基づいて、ステップ１１１０で特定された視認度合いが所定の条件を満たしているか否かを判定する。
【０１０７】
図１２は、ステップ１１１０及び１１１２において実行される処理の具体例を示すフローチャートである。
【０１０８】
ステップ１２０２において、視認度合い特定部９２０は、ステップ１１０６において生成されたイベントに登場するオブジェクトのうち視界内に含まれるオブジェクトの数を算出する。一例として、オブジェクトが視界内に含まれるか否かは、ステップ１１０８により生成された視界画像内に当該オブジェクトのうち少なくとも所定の部分が含まれるか否かに基づいて判断されてもよい。
【０１０９】
図１４は、図１３に示したシーン１３１８に関してユーザに提供される視界画像の例を示す。図１４においては、オブジェクト１３１０、１３１２及び１３１６が、四隅の座標により定まる、点線で示される矩形領域１４０２、１４０４及び１４０６を有するように設定されている。このような矩形領域を設定することは、視界内にオブジェクトが含まれるか否かを判断するための手法の一例にすぎない。様々な手法を用い得ることが当業者に理解されよう。図示されていないが、リード１３１４についても領域が定められてもよい。
【０１１０】
ステップ１１０８によって視界画像１４１０が生成される場合、イベントに関連するシーン１３１８内のオブジェクトは視界画像１４１０に一切含まれない。すなわち、このとき、アバター１３０６の視線は発生しているイベントの方向に向いていない。この場合、ステップ１２０２において、視認度合い特定部９２０は、視界内に各オブジェクト（又は、各オブジェクトについて設定される領域１４０２、１４０４及び１４０６）のいずれも含まれていないと判断し、視界内のオブジェクトの数がゼロであると特定する。ステップ１２０２において、視認度合い特定部９２０は、オブジェクトの領域の全体が視界内に含まれるときにのみ、当該オブジェクトが視界内に含まれると判定してもよい。あるいは、視認度合い特定部９２０は、オブジェクトの領域のうち所定の一部のみが視界内に含まれる場合であっても、当該オブジェクトが視界内に含まれると判定してもよい。
【０１１１】
別の例において、ステップ１１０８によって視界画像１４１２が生成される場合、女の子１３１０、犬１３１２及びリード１３１４が視界内に含まれ、犬小屋１３１６は視界内に含まれない。このとき、視認度合い特定部９２０は、視界内のオブジェクトの数が３であると特定する。さらに別の例において、視界画像１４１４が生成される場合、視認度合い特定部９２０は、女の子１３１０が視界内に含まれていると判断し、視界内のオブジェクトの数が１であると特定してもよい。さらに別の例において、視界画像１４１６が生成される場合、視認度合い特定部９２０は、犬小屋１３１６及び女の子１３１０が視界内に含まれていると判断し、視界内のオブジェクトの数が２であると特定してもよい。
【０１１２】
図１４に関する上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で実行されてもよい。例えば、ｕｖｗ視野座標系のｖを縦軸、ｕを横軸として、上述の処理を、視界画像を生成する前に行うようにしてもよい。また例えば、視界とオブジェクトとのコリジョン判定により、視界内に各オブジェクトが含まれているか否かを判定してもよい。この場合、視界には当該視界の形状に相当するコリジョン領域を設け、オブジェクトにも当該オブジェクトの少なくとも一部を覆う形状のコリジョン領域を設ける。視界のコリジョン領域と各オブジェクトのコリジョン領域との衝突（コリジョン）の有無で、視界内に各オブジェクトが含まれているか否かを特定すればよい。
【０１１３】
図１２に戻り、処理はステップ１２０４に進む。ステップ１２０４において、条件判定部９２２は、ステップ１２０２により算出された視界内のオブジェクトの数が所定数Ｊ以上であるか否かを判定する。所定数Ｊは視認度合い条件９３４内に格納されていてもよい。例えば、図１４の例において、所定数Ｊ＝２と設定されてもよい。
【０１１４】
視界画像１４１２及び１４１６の場合のように、視界内のオブジェクトの数が所定数Ｊ以上であるとき（ステップ１２０４の「Ｙ」）、処理はステップ１２０６に進む。視認度合い特定部９２０は、イベントの視認度合いが条件を満たす（図１１のステップ１１１２の「Ｙ」）と判断する。したがって、図１１の処理は終了する。
【０１１５】
他方、視界画像１４１０及び１４１４の場合のように、視界内のオブジェクトの数が所定数Ｊ未満であるとき（ステップ１２０４の「Ｎ」）、処理はステップ１２０８に進む。視認度合い特定部９２０は、イベントの視認度合いが条件を満たしていない（図１１のステップ１１１２の「Ｎ」）と判断する。したがって、図１１の処理はステップ１１１４に進む。
【０１１６】
視界画像を用いる上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で上述した手法で実行されてもよい。
【０１１７】
図１１に戻り、ステップ１１１４において、オブジェクト制御部９２３は、ユーザに見て欲しいイベントへとユーザの注意を向けるための誘導行動が行われることを予め示唆する処理を実行する。当該処理は、仮想空間内で所定のオブジェクトに所定の行動（以下、「予告行動」とも呼ぶ）を行わせる処理であってもよい。予告行動に関するデータは行動データ９３６内に格納されていてもよい。予告行動は、ユーザ１３０４の意思とは無関係にユーザ１３０４の仮想視点の位置、向き等が変更されることをユーザに事前に知らせるために、様々な態様をとることができる。例えば、予告行動として、「どこ見ているの？」、「あっちで何かやっているよ、見ようよ。」などの内容を含む音声が出力され、ユーザに提供されてもよい。当該音声は、仮想空間内の１つ又は複数のキャラクタオブジェクトに関連付けられてもよい。
【０１１８】
予告行動が音声の出力である場合、イベントの内容に応じて当該音声は様々な内容を含み得る。例えば、旅行関連のアプリケーションにおいて生じる観光案内のイベントの場合、「右手をご覧下さい。」、「左前方をご覧下さい。」などの音声が出力されてもよい。ショッピングのイベントの場合、「右の棚をご覧下さい」などの音声が出力されてもよい。講習、レッスンなどのイベントの場合、「右のボードをご覧下さい。」などの音声が出力されてもよい。このような音声を予め出力することにより、仮想空間内のユーザ１３０４の視点が向いている方向とは異なる方向において何かが起きていることをユーザ１３０４に知らせることができる。さらに、予告行動は、音声出力に加えて、あるいは音声出力に代えて、画像、動画の表示などを含んでもよい。また、音声の内容は、仮想空間内のユーザ１３０４の視点の方向とイベントの方向との間の乖離の度合いに応じて異なってもよい。例えば、当該乖離の度合いが大きい場合、音声は、厳しい言葉、厳しい口調などをもって提供されてもよい。乖離の度合いが小さい場合、音声は、穏やかな言葉、穏やかな口調などをもって提供されてもよい。一例として、ステップ１１１０及び１１１２において図１２の処理が実行される場合、乖離の度合いの大きさは、視界内のオブジェクトの数が所定数Ｊと比較してどの程度少ないかに応じて決定されてもよい。なお、ステップ１１１４の処理は、処理１１００において必須ではなく、オプションの処理である。しかし、ステップ１１１４の処理により、ユーザ１３０４は、自身の視点が何らかの手法で変更され得ることを察知することができる。したがって、ステップ１１１４の処理を実行することにより、当該処理が実行されない場合と比較して、ユーザ１３０４のＶＲ酔いをさらに低減することができる。
【０１１９】
処理はステップ１１１６に進み、オブジェクト制御部９２３は、キャラクタオブジェクトに誘導行動を行わせる。誘導行動は、ユーザに見て欲しいイベントへとユーザの注意を向けるための行動である。誘導行動は、発生しているイベントに含まれない仮想空間内の１つ又は複数のキャラクタオブジェクトにより行われてもよい。誘導行動はまた、発生しているイベントに含まれる１つ又は複数のキャラクタオブジェクトによって行われてもよい。これらのキャラクタオブジェクトは、例えば、他のプレイヤーに関連付けられるアバター、ＮＰＣ（ノンプレイヤーキャラクタ）などであってもよい。
【０１２０】
図１５は、ステップ１１１６において実行される処理の具体例を示すフローチャートである。一例において、誘導行動は、１つ又は複数のキャラクタオブジェクトがユーザの視界を覆う第１の行動と、イベントの視認度合いが条件を満たすように仮想カメラ１３０２（又は、仮想視点）を動かす（仮想視点からの視界を制御する）ための契機となる第２の行動とを含む。誘導行動は上記の行動に限定されず、他の行動を含んでもよい。
【０１２１】
ステップ１５０２において、オブジェクト制御部９２３は、キャラクタオブジェクトに第１の行動を行わせる。例えば、オブジェクト制御部９２３は、行動データ９３６に含まれるデータに基づいて、ユーザの視界を覆う動作をキャラクタオブジェクトに行わせる。当該動作は、例えば、キャラクタオブジェクトがキャラクタオブジェクトの手でアバター１３０６の顔、目等を覆う動作、キャラクタオブジェクトが手以外の何らかの手段を用いてアバター１３０６の顔、目等を覆う動作を含んでもよい。
【０１２２】
図１６Ａ〜図１６Ｃは、ステップ１５０２において行われる処理の様子を模式的に示す。ここでは、一例として、当初はユーザの視界内に存在しなかったキャラクタオブジェクトが、第１の行動として、当該キャラクタオブジェクトの両手を用いてアバター１３０６の顔を覆うことを想定する。視界画像１４１０の外側は実際にはユーザには見えないが、図１６Ａ〜図１６Ｃにおいては、実施形態を説明し易くするために、視界画像１４１０の外部の一部も図示されている。
【０１２３】
既に説明された図１３及び図１４を再度参照しつつ、図１６Ａ〜図１６Ｃの例について説明する。この例において、キャラクタオブジェクト１６０２は、図１３及び図１４に示されるシーン１３１８内に登場しないキャラクタオブジェクトである。第１の行動の最初の段階においては、図１６Ａに示すように、キャラクタオブジェクト１６０２を視界（ここでは、視界画像１４１０）の外側の、アバター１３０６から離れた位置に配置してもよい。図示されるように、オブジェクト制御部９２３は、ユーザの顔を覆うために両手１６０４を揃えて前に突き出すようにキャラクタオブジェクト１６０２を制御してもよい。次に、オブジェクト制御部９２３は、キャラクタオブジェクト１６０２をアバター１３０６に接近させながら向かって左方向へ移動させて、視界内に両手１６０４が入るようにする。オブジェクト制御部９２３は、さらに、アバター１３０６に対するキャラクタオブジェクト１６０２の接近及び左方向への移動を続ける。その結果、図１６Ｃに示すように、両手１６０４の中央部分が視界の大部分を覆う。すなわち、このとき、仮想カメラ１３０２の視界を覆う場所に両手１６０４が位置することになる。したがって、ユーザ１３０４は、キャラクタオブジェクト１６０２によって仮想空間内で目隠しをされたような体験をする。図１６Ｃの例では、視界は両手１６０４によって完全には覆われず、背景部分１６１０が見えている。別の例において、視界を完全に覆うようにキャラクタオブジェクト１６０２を制御してもよい。
【０１２４】
視界画像を用いる上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で上述した手法で実行されてもよい。
【０１２５】
図１６Ａ〜図１６Ｃに示した例とは異なり、第１の行動はキャラクタオブジェクト１６０２の片手により行われてもよい。また、他のプレイヤーのアバターなどの任意のキャラクタオブジェクトに第１の行動を行わせてもよい。第１の行動を含む誘導行動は、イベントに登場する１つ又は複数のキャラクタオブジェクトのうちの少なくとも１つにより行われてもよい。この場合、当該１つ又は複数のキャラクタオブジェクトのうち誘導行動を行うキャラクタオブジェクトは、当該１つ又は複数のキャラクタオブジェクトのうちの他のキャラクタオブジェクトと共通の属性を有してもよい。これにより、実行されているゲーム等におけるユーザの没入感が損なわれることを防止できる。誘導行動は、複数のキャラクタオブジェクトによって行われてもよい。例えば、２人のキャラクタオブジェクトが手でアバター１３０６の顔、目等を覆ってもよい。
【０１２６】
上記の共通の属性の例は、性別、服装、所属集団及び大きさのうちの少なくとも１つを含んでもよい。所属集団の例は、女の子１３１０の家族、女の子１３１０が属しているグループやチームなどを含んでもよい。所属集団が女の子１３１０の家族である場合、キャラクタオブジェクト１６０２は女の子１３１０の母親であってもよい。この場合、ステップ１１１４において出力される音声は、「うちの子はあっちよ。犬の散歩の付き添いよろしくね。」という内容を含んでもよい。服装の例は、学校の制服、企業の制服、音楽バンド又は芸能グループなどにおける共通のスタイルの服装などを含み得る。
【０１２７】
処理はステップ１５０４に進み、オブジェクト制御部９２３は、キャラクタオブジェクトに第２の行動を行わせる。例えば、オブジェクト制御部９２３は、行動データ９３６に含まれるデータに基づいて、両手１６０４でアバター１３０６の顔をつかんで回転させる動作をキャラクタオブジェクトに行わせてもよい。この第２の行動は、イベントの視認度合いが所定の条件を満たすように仮想視点からの視界を制御するための契機として使用される。
【０１２８】
図１７Ａ〜図１７Ｃは、ステップ１５０４において行われる処理の様子を模式的に示す。視界画像１４１０の外側は、実際にはユーザ１３０４には見えないが、ここでは説明を分かりやすくするため図示されている。図１７Ａは、図１６Ｃとほぼ同じ図であり、第１の行動の結果としてキャラクタオブジェクトが両手１６０４でユーザの顔を覆っている状態を示す。図１７Ｂは、キャラクタオブジェクトがアバター１３０６の顔を左方向に回転させるときの様子を示す。詳細には、仮想カメラ１３０２をＹ軸の反時計周りに回転させるときの様子を示す。図示されるように、オブジェクト制御部９２３は、両手１６０４を左方向に移動させる。このとき、オブジェクト制御部９２３は、アバター１３０６の顔をつかむために両手１６０４の形態を変化させてもよい。この第２の行動により、自分の視線の向きが左方向に移動又は回転させられるという示唆をユーザ１３０４に与えることができる。図１７Ｃは、別の例として、キャラクタオブジェクトがアバター１３０６の顔を上方向へ回転させるときの様子を示す。詳細には、仮想カメラ１３０２をＸ軸の反時計周りに回転させるときの様子を示す。図１７Ａ〜図１７Ｃにおいては背景のごく一部が視認できるが、両手１６０４が視界を完全に覆うようにキャラクタオブジェクトを制御してもよい。本実施形態によれば、背景のわずかな一部が見える状態でアバター１３０６の視点が動かされるので、視界の変化をユーザ１３０４に対して過度に感じさせることなく、自分の視線の向きが移動又は回転させられているという感覚をユーザに与えることができる。これにより、ゲームに対するユーザの没入感を保ったまま、ＶＲ酔いを低減させることができる。加えて、第２の行動の間、ほぼ同じ状態の両手１６０４の画像が視界画像１４１０の大部分を占めるので、視界画像１４１０の生成に必要なデータ量を低減することができる。
【０１２９】
第２の行動は、図１７Ｂ及び図１７Ｃに示すような動作の結果、両手１６０４によるアバター１３０６の顔の回転が完了したときに終了してもよい。別の例において、アバター１３０６の顔の回転が完了した後、オブジェクト制御部９２３は、仮想空間内の別の場所へ移動するようにキャラクタオブジェクト１６０２を制御してもよい。例えば、図１７Ｂに示される回転が終了した後、キャラクタオブジェクト１６０２は、図１６Ａに示される位置に移動してもよい。これにより、キャラクタオブジェクト１６０２に実体験に近い自然な行動をとらせることができ、ゲームへのユーザ１３０４の没入感をより向上させることができる。
【０１３０】
視界画像を用いる上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で上述した手法で実行されてもよい。
【０１３１】
図１１に戻り、処理はステップ１１１８に進む。ステップ１１１６において誘導行動（例えば、ステップ１５０４の第２の行動）が行われている間、仮想カメラ制御部９１６は、仮想空間データ９２６、オブジェクトデータ９２８、イベントデータ９３２、視認度合い条件９３４等に基づいて、イベントの視認度合いが所定の条件を満たすように仮想カメラ（又はユーザ１３０４の仮想視点）を動かす（仮想視点からの視界を制御する）。
【０１３２】
図１８は、ステップ１１１８において実行される処理の具体例を示すフローチャートである。一例では、ステップ１８０２において、仮想カメラ制御部９１６は、視界画像１４１０の中央に配置すべきシーン１３１８の基準点を特定する。
【０１３３】
図１９は、図１４と同様の図であり、ステップ１１１８における仮想カメラ１３０２（ユーザ１３０４の仮想視点）を動かす（仮想視点からの視界を制御する）処理を説明するための図である。図１９において、視界画像１４１０の中心１９０２（黒丸で示される）、シーン１３１８の基準点１９０４（十字で示される）、基準点１９０４に基づく所定の角度範囲１９０６（点線の円で示される）が示されている。これらの情報は、イベントの視認度合いの条件を満たすためのデータとしてイベントごとに設定されてもよく、視認度合い条件９３４内に予め格納されていてもよい。基準点１９０４は、イベントに応じて、主要な登場人物（例えば、女の子１３１０の中心点又はその近傍など）に設定されてもよいし、女の子１３１０と犬１３１２との間の位置に設定されてもよい。角度範囲１９０６は、仮想カメラ１３０２の基準視線が基準点１９０４を向いているときの方向と比較した、基準視線の成す許容される角度として設定されてもよい。
【０１３４】
処理はステップ１８０４に進み、一例において、仮想カメラ制御部９１６は、視界画像１４１０の中心点１９０２がシーン１３１８の基準点１９０４と一致するように仮想カメラ１３０２を動かす（仮想視点からの視界を制御する）。この場合、仮想カメラ制御部９１６は、中心点１９０２の座標から基準点１９０４の座標へのベクトルを計算し、これに基づいて仮想カメラ１３０２を移動させてもよい。あるいは、仮想カメラ制御部９１６は、視界画像１４１０の中心点１９０２が角度範囲１９０６内に含まれるように、仮想カメラ１３０２を移動させてもよい。
【０１３５】
図２０は、視界画像１４１０の中心点１９０２が基準点１９０４に一致するように仮想カメラ１３０２を移動させたときの視界画像２００２を示す。仮想カメラ１３０２の移動に伴い、ユーザ１３０４に提供される視界画像は、視界画像１４１０から視界画像２００２へと変化する。図１９及び図２０においては省略されているが、図１７Ａ〜図１７Ｃに関連して説明したように、視界画像１４１０から視界画像２００２への遷移の間、視界の大部分は両手１６０４などによって覆われることに留意されたい。
【０１３６】
図１８、図１９及び図２０に示した例では、視界画像の中心点１９０２がシーン１３１８の基準点に一致するように処理が行われる。しかし、このような処理に代えて、シーン１３１８に登場する主要キャラクタ（例えば、女の子１３１０）を囲む所定の領域（例えば、矩形領域１４０２）、主要キャラクタが占める領域の少なくとも一部、又は当該領域の中央部が視界画像に含まれるように、仮想カメラ１３０２を移動させてもよい。
【０１３７】
視界画像を用いる上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で上述した手法で実行されてもよい。
【０１３８】
図１１に戻り、処理はステップ１１２０に進む。ステップ１１２０において、視界画像生成部９１４は、ステップ１１１８において動かされた仮想カメラ１３０２により取得される視界画像を生成する。視界画像出力部９２４は、生成された視界画像を、ＨＭＤ１１０に関連付けられる表示部１１２に出力する。この処理によって、イベントの視認度合いの条件を満たす視界画像がユーザ１３０４に提供されるので、ユーザ１３０４は、仮想空間内で生じているイベントを十分に見ることができる。
【０１３９】
このように、本実施形態によれば、ユーザの仮想視点がイベントの方向に向いていないときに、ユーザに不自然さを感じさせない手法で仮想視点からの視界を制御することができる。したがって、ゲームなどへのユーザの没入感を損なうことなく、ＶＲ酔いを抑制しながら、仮想視点からの視界を制御してユーザにイベントを見せることができる。
【０１４０】
図２１は、図１１のステップ１１１０及び１１１２において実行される処理の具体例を示すフローチャートである。この例では、イベントに登場するオブジェクトに対して設定された特徴点を利用して、視界内のイベントの視認度合いが所定の条件を満たしているか否かが判断される。
【０１４１】
ステップ２１０２において、視認度合い特定部９２０は、図１１のステップ１１０６において生成されたイベントに登場するオブジェクトに予め設定された特徴点のうちの、ステップ１１０８において生成された視界画像内に含まれる特徴点を特定する。
【０１４２】
図２２は、オブジェクトに設定された特徴点と視界画像との間の関係を説明するための図である。一例において、特徴点は、女の子１３１０の顔、腰、手及び足に対して設定された特徴点２２０２、２２０４、２２０６及び２２０８、犬１３１２の頭に対して設定された特徴点２２１０、犬小屋１３１６に対して設定された特徴点２２１２を含んでもよい。これらの特徴点のデータは、オブジェクトデータ９２８、イベントデータ９３２等に格納されていてもよい。なお、各オブジェクトに設定する特徴点の数は様々であってよく、特徴点が設定される位置は必要に応じて変更されてもよい。また、上記のオブジェクト以外の背景に含まれるオブジェクト等に特徴点を設定してもよい。
【０１４３】
図２２に示したシーン１３１８の例において、視界画像２２２０の場合、視界内特徴点は存在しない。視界画像２２２２の場合、視界内特徴点は犬の頭の特徴点２２１０である。視界画像２２２４の場合、視界内特徴点は、女の子１３１０の顔の特徴点２２０２である。視界画像２２２６の場合、視界内特徴点は、犬小屋の特徴点２２１２及び女の子１３１０の足の特徴点２２０８である。視界画像２２２８の場合、視界内特徴点は、女の子１３１０及び犬１３１２に設定された全ての特徴点である。
【０１４４】
処理はステップ２１０４に進み、条件判定部９２２は、ステップ２１０２で特定された特徴点が所定の特徴点を含むか否かを判定する。ここで、所定の特徴点は、イベントごとに任意に設定されてもよい。例えば、図２２の例のイベントにおいて、ユーザに特に見てもらいたいオブジェクトが女の子１３１０である場合、所定の特徴点は、女の子１３１０の顔、腰、手及び足の特徴点２２０２、２２０４、２２０６及び２２０８の少なくとも１つを含んでもよい。この例において、ユーザ１３０４に視界画像２２２０又は２２２２が提供される場合、視界内特徴点が所定の特徴点を含まないので（ステップ２１０４の「Ｎ」）、処理はステップ２１０６に進む。ステップ２１０６において、視認度合い特定部９２０は、イベントの視認度合いが所定の条件を満たしていないと判定する。他方、ユーザ１３０４に視界画像２２２４、２２２６又は２２２８が提供される場合、視界内特徴点が所定の特徴点を含むので（ステップ２１０４の「Ｙ」）、処理はステップ２１０８に進む。ステップ２１０８において、視認度合い特定部９２０は、イベントの視認度合いが条件を満たしていると判定する。本実施形態によれば、オブジェクトごとに設定された特徴点がイベントの視認度合いの判定に使用されるので、特徴点の設定の仕方に応じて様々な精度で視認度合いを判定することができる。
【０１４５】
視界画像を用いる上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で上述した手法で実行されてもよい。
【０１４６】
図２３は、図１１のステップ１１１０及び１１１２において実行される処理の具体例を示すフローチャートである。この例では、所定の期間にわたって特定されたオブジェクトの数に基づく値が視認度合いの判定に利用される。
【０１４７】
ステップ２３０２において、視認度合い特定部９２０は、図１１のステップ１１０６において生成されたイベントに登場するオブジェクトのうち、ステップ１１０８において生成された視界画像内に現れるオブジェクトの数ＯＢを算出する。所定期間Ｔ（例えば、５秒間）の計測を開始するために、ステップ２３０２において、タイマーがセットされてもよい。図１４に示したシーン１３１８の例では、視界画像１４１０の場合ＯＢ＝０、視界画像１４１２の場合ＯＢ＝３、視界画像１４１６の場合ＯＢ＝２である。
【０１４８】
処理はステップ２３０４に進み、条件判定部９２２（又は、他のコンポーネント）は、タイマーにより計測される時間に基づいて、所定期間Ｔが経過したか否かを判定する。所定期間Ｔが経過していないとき（ステップ２３０４の「Ｎ」）、処理はステップ２３０２の前に戻る。所定期間Ｔが経過したとき（ステップ２３０４の「Ｙ」）、処理はステップ２３０６に進む。
【０１４９】
ステップ２３０６において、視認度合い特定部９２０は、所定期間Ｔ内に視界内に現れたオブジェクトの数ＯＢに基づく値Ｖを算出する。一例において、値Ｖは、所定期間Ｔに含まれる短い時間期間の各々において視界内に現れたオブジェクトの数ＯＢの平均値であってもよい。
【０１５０】
図２４は、所定期間Ｔ内に得られた視界内オブジェクト数ＯＢ及びこれに基づく値Ｖの例を示す図である。この例では、所定期間Ｔ内にｎ個のＯＢ（ＯＢ１〜ＯＢｎ）が得られ、その平均値が値Ｖとして算出されると仮定する。具体的には、図２４の例１においては、ＯＢ１〜ＯＢｎはいずれも０であり、したがってＶ＝０である。このことは、所定期間Ｔにわたって、図１４の視界画像１４１０の場合のように、ユーザ１３０４の仮想視点の方向がイベントの方を向いていないことを意味している。図２４の例２において、ＯＢ１〜ＯＢｎは、それぞれ、１、２、０、・・・、及び１であり、Ｖ＝１である。このことは、所定期間Ｔ中の少なくともある期間において、ユーザ１３０４の仮想視点がイベントの方向を向いていること、視界画像１４１０だけでなく、視界画像１４１４、１４１６などがユーザ１３０４に提供されることを意味する。図２４の例３において、ＯＢ１〜ＯＢｎは、それぞれ、２、３、３、・・・、及び３であり、Ｖ＝３である。このことは、所定期間Ｔの大部分にわたって、ユーザ１３０４の仮想視点がイベントの方向を向いていること、視界画像１４１２又はこれに近い領域の視界画像がユーザ１３０４に提供されることを意味する。
【０１５１】
処理はステップ２３０８に進み、条件判定部９２２は、値Ｖが所定値Ｋより大きいか否かを判定する。この例において、所定値Ｋ＝２と設定されてもよい。所定値Ｋは、イベントの内容に応じて任意の値に設定することができる。値Ｖが所定値Ｋ以上である場合（ステップ２３０８の「Ｙ」）、処理はステップ２３１０に進む。ステップ２３１０において、値Ｖはクリアされ（例えば、ゼロへと初期化され）、処理はステップ２３０２の前に戻る。値Ｖが所定値Ｋ未満である場合（ステップ２３０８の「Ｎ」）、処理はステップ２３１２に進む。ステップ２３１２において、視認性度合い特定部９２０は、イベントの視認度合いが所定の条件を満たしていないと判定する。したがって、図１１の例において、ステップ１１１４〜１１２０の処理が実行される。
【０１５２】
図２３の実施形態によれば、ユーザが一時的にイベントを見ているかどうかではなく、ユーザがある程度の期間の間継続してイベントを見ているかどうかを判定することができる。ユーザ１３０４の仮想視点が基本的にイベントの方向を向いている場合であっても、ユーザがイベント以外の場所、イベント内の主要キャラクタオブジェクト以外のオブジェクト等を時折見ることがあり得る。このような場合、本実施形態によれば、所定期間Ｔの間にユーザが短期間のよそ見をしているときに、仮想視点の方向が強制的にイベントの方向へと向けられることを防止できる。したがって、ユーザ１３０４は、イベントの発生中に当該イベントのみを見ることを強制されず、仮想空間内の様々な場所をより自由に見ることができる。このため、ゲーム等に対するユーザの没入感を向上させることができる。
【０１５３】
図２３及び図２４の実施形態において、視界内オブジェクト数に代えて、図２１及び２２の実施例で示したような視界内特徴点を用いて処理が行われてもよい。例えば、図２３のステップ２３０２において、イベントに登場するオブジェクトに設定された特徴点のうち視界内に現れる特徴点の数が算出されてもよい。そして、ステップ２３０６において、所定期間Ｔ内に視界内に現れた特徴点の数に基づいて値Ｖが算出されてもよい。
【０１５４】
視界画像を用いる上述の処理は、一例として、２次元の視界画像を用いて実行されるように説明された。しかし、当該処理は、３次元の仮想空間内で上述した手法で実行されてもよい。
【０１５５】
上述のように、本開示の実施形態によれば、イベントが発生したときにユーザの仮想視点が当該イベントの方向を向いていない場合に、ユーザの仮想体験を損なうことなく、ＶＲ酔いを低減しつつ、ユーザの仮想視点を当該イベントへと向けることができる。
【０１５６】
本開示の実施形態を、プロセッサ２０２（又は、コンピュータ２００）、方法１１００、プロセッサ２０２（又は、コンピュータ２００）に方法１１００を実行させるコンピュータプログラム等として実施することができることは、当業者にとって明らかであろう。
【０１５７】
上述の実施形態においては、ＨＭＤ装置によってユーザが没入する仮想空間（ＶＲ空間）を例示して説明したが、ＨＭＤ装置として、透過型のＨＭＤ装置を採用してもよい。この場合、透過型のＨＭＤ装置を介してユーザが視認する現実空間に仮想空間を構成する画像の一部を合成した視界画像を出力することにより、拡張現実（ＡＲ：Ａｕｇｕｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）空間又は複合現実（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）空間における仮想体験をユーザに提供してもよい。この場合、手オブジェクトに代えて、ユーザの手の動きに基づいて、仮想空間内における対象オブジェクトへの作用を生じさせてもよい。具体的には、プロセッサは、現実空間におけるユーザの手の位置の座標情報を特定するとともに、仮想空間内における対象オブジェクトの位置を現実空間における座標情報との関係で定義してもよい。これにより、プロセッサは、現実空間におけるユーザの手と仮想空間における対象オブジェクトとの位置関係を把握し、ユーザの手と対象オブジェクトとの間でコリジョン制御等に対応する処理を実行可能となる。その結果、ユーザの手の動きに基づいて対象オブジェクトに作用を与えることが可能となる。
【０１５８】
本開示の実施形態が説明されたが、これらが例示にすぎず、本開示の範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることが理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によって規定されるべきである。
【符号の説明】
【０１５９】
１００…ＨＭＤシステム、１１２…表示部、１１４…センサ、１２０…ＨＭＤセンサ、１３０…モーションセンサ、１４０…注視センサ、１５０…サーバ、１６０Ａ、１６０Ｂ…コントローラ、１９０…頭部、１９２…ネットワーク、２００…コンピュータ、２０２…プロセッサ、２０４…メモリ、２０５…通信制御部、２０６…ストレージ、２０８…入出力インターフェース、２１０…通信インターフェース、２１２…バス、４００…仮想空間、４０２…仮想空間画像、４０４…仮想カメラ、４０６…中心、４０８…基準視線、４１０…視界領域、８００…右コントローラ、８０２…グリップ、８０４…フレーム、８０６…天面、８０８、８１０、８１４、８１６…ボタン、８１２…赤外線ＬＥＤ、８１８…アナログスティック、８２０、８２２…ボタン、８２４Ｒ、８２４Ｌ…アナログスティック、９０２…仮想空間特定部、９０４…ＨＭＤ動作検知部、９０６…視線検知部、９０８…基準視線決定部、９１０…視界領域決定部、９１２…仮想視点特定部、９１４…視界画像生成部、９１６…仮想カメラ制御部、９１８…イベント生成部、９２０…視認度合い特定部、９２２…条件判定部、９２３…オブジェクト制御部、９２４…視界画像出力部、９２６…仮想空間データ、９２８…オブジェクトデータ、９３０…アプリケーションデータ、９３２…イベントデータ、９３４…視認度合い条件、９３６…行動データ、９３８…その他のデータ、１３００…仮想空間、１３０２…仮想カメラ、１３０４…ユーザ、１３０６…アバター、１３１８…シーン、１３１０…女の子、１３１２…犬、１３１４…リード、１３１６…犬小屋、１４０２、１４０４、１４０６…矩形領域、１４１０、１４１２、１４１４、１４１６、２２２０、２２２２、２２２４、２２２６、２２２８…視界画像、１６０２…キャラクタオブジェクト、１６０４…両手、１９０２、２００４…中心点、１９０４…基準点、１９０６…角度範囲、２２０２、２２０４、２２０６、２２０８、２２１０、２２１２…特徴点
【図１】
2019074953.tif 000003
【図２】
2019074953.tif 000004
【図３】
2019074953.tif 000005
【図４】
2019074953.tif 000006
【図５】
2019074953.tif 000007
【図６】
2019074953.tif 000008
【図７】
2019074953.tif 000009
【図８Ａ】
2019074953.tif 000010
【図８Ｂ】
2019074953.tif 000011
【図９】
2019074953.tif 000012
【図１０】
2019074953.tif 000013
【図１１】
2019074953.tif 000014
【図１２】
2019074953.tif 000015
【図１３】
2019074953.tif 000016
【図１４】
2019074953.tif 000017
【図１５】
2019074953.tif 000018
【図１６Ａ】
2019074953.tif 000019
【図１６Ｂ】
2019074953.tif 000020
【図１６Ｃ】
2019074953.tif 000021
【図１７Ａ】
2019074953.tif 000022
【図１７Ｂ】
2019074953.tif 000023
【図１７Ｃ】
2019074953.tif 000024
【図１８】
2019074953.tif 000025
【図１９】
2019074953.tif 000026
【図２０】
2019074953.tif 000027
【図２１】
2019074953.tif 000028
【図２２】
2019074953.tif 000029
【図２３】
2019074953.tif 000030
【図２４】
2019074953.tif 000031