(57)【要約】【課題】ユーザの仮想体験を向上させることが可能なプログラムを提供する。【解決手段】ユーザＢに仮想体験を提供するためにコンピュータによって実行されるプログラムは、ユーザＢの身体の一部の動きに応じて、仮想空間２００Ｂ内で操作オブジェクト４００を動かすステップと、ユーザＢとは異なる他のユーザＡの動きに基づいて仮想空間２００Ｂ内での動作が制御可能な仮想オブジェクト４Ａに対して、操作オブジェクト４００による第１アクションを実行するステップと、第１アクションの実行に基づいて、他のユーザＡに対する第２アクションを実行するステップと、を含む。【選択図】図２０
2019058324.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに仮想体験を提供するためのコンピュータに、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
を実行させるための、プログラム。
【請求項２】
前記他のユーザにより前記仮想オブジェクトが制御されていない状態において前記第１アクションが実行された場合に、前記第２アクションを実行する、請求項１に記載のプログラム。
【請求項３】
前記第１アクションは、前記操作オブジェクトの反復運動の過程で前記仮想オブジェクトに接触する動作を含む、請求項１または２に記載のプログラム。
【請求項４】
前記第１アクションは、一定値以上の加速度での前記反復運動の過程における前記仮想オブジェクトへの接触動作を含む、請求項３に記載のプログラム。
【請求項５】
前記第１アクションは、前記仮想オブジェクトに関連付けられた相対座標を一定時間内に所定の回数以上通過する動作を含む、請求項３または４に記載のプログラム。
【請求項６】
前記第２アクションは、前記他のユーザの前記仮想空間への参加を促す通知を含む、請求項１から５のいずれか一項に記載のプログラム。
【請求項７】
前記第２アクションに対するリアクションが行われた場合に、前記仮想オブジェクトを第１状態から第２状態へと遷移させるステップと、
前記第２状態への遷移後に、一定時間内に前記他のユーザにより前記仮想オブジェクトが制御されている状態になった場合には、前記仮想オブジェクトを第３状態へと遷移させるステップと、
をさらに前記コンピュータに実行させるための、請求項６に記載のプログラム。
【請求項８】
前記第２状態への遷移後に、一定時間内に前記他のユーザにより前記仮想オブジェクトが制御されている状態にならない場合には、前記仮想オブジェクトを前記第１状態へ戻すステップをさらに前記コンピュータに実行させるための、請求項７に記載のプログラム。
【請求項９】
前記仮想オブジェクトに対する前記第１アクションの動作の強度と前記第１アクションの種類との少なくとも一方に応じて、前記通知の内容が異なっている、請求項６から８のいずれか一項に記載のプログラム。
【請求項１０】
前記仮想空間内での動作がコンピュータ制御可能な他の仮想オブジェクトに対し、前記操作オブジェクトにより前記第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記仮想空間において提供されるゲームを第１シーンから第２シーンへと遷移させるステップと、
をさらに前記コンピュータに実行させるための、請求項１から９のいずれか一項に記載のプログラム。
【請求項１１】
ユーザに仮想体験を提供するための情報処理装置であって、
前記情報処理装置が備えるプロセッサの制御により、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
が実行される、情報処理装置。
【請求項１２】
ユーザに仮想体験を提供するための情報処理システムであって、
前記情報処理システムが備える複数のプロセッサの制御により、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
が実行される、情報処理システム。
【請求項１３】
ユーザに仮想体験を提供するためにコンピュータによって実行される情報処理方法であって、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。
【背景技術】
【０００２】
非特許文献１のように、仮想空間を共有する複数のユーザ間で、仮想手等を用いてボディランゲージを交えたコミュニケーションを楽しむことができるサービスが知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Social VR Demo - Selfie Stick and 360 Photo Spheres - Oculus”、[online]、平成２８年４月１３日、Oculus、[平成２９年８月１０日検索]、インターネット＜https://youtu.be/-pumFtAjgLY?t=5＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の非特許文献１のようなサービスにおいては、ユーザの仮想体験を向上させるためには改善の余地がある。
【０００５】
本開示は、ユーザの仮想体験を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本開示が示すプログラムの一態様によれば、
ユーザに仮想体験を提供するためのコンピュータに、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
を実行させる。
【発明の効果】
【０００７】
本開示によれば、ユーザの仮想体験を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態（以下、単に本実施形態という。）に係る仮想空間配信システムを示す概略図である。
【図２】ユーザ端末を示す概略図である。
【図３】ＨＭＤを装着したユーザの頭部を示す図である。
【図４】制御装置のハードウェア構成を示す図である。
【図５】視野画像をＨＭＤに表示する処理を示すフローチャートである。
【図６】仮想空間の一例を示すｘｙｚ空間図である。
【図７】状態（ａ）は、図６に示す仮想空間のｙｘ平面図である。状態（ｂ）は、図６に示す仮想空間のｚｘ平面図である。
【図８】ＨＭＤに表示された視野画像の一例を示す図である。
【図９】図１に示すサーバのハードウェア構成を示す図である。
【図１０】状態（ａ）は、ユーザＡに提供される仮想空間を示す図である。状態（ｂ）は、ユーザＢに提供される仮想空間を示す図である。
【図１１】ユーザ端末間において各アバターの動きを同期させる処理の一例を説明するためのシーケンス図である。
【図１２】ユーザＡがＨＭＤを取り外した場合における本実施形態に係る情報処理方法を説明するためのフローチャートの一例である。
【図１３】状態（ａ）は、ＨＭＤセンサを用いてユーザＡがＨＭＤを取り外したかどうかを判定するための処理を説明するためのフローチャートの一例である。状態（ｂ）は、装着センサを用いてユーザＡがＨＭＤを取り外したかどうかを判定するための処理を説明するためのフローチャートの一例である。
【図１４】本実施形態に係る情報処理方法を説明するためのユーザＢに提供される仮想空間の一例を示す図である。
【図１５】本実施形態に係る情報処理方法を説明するためのユーザＢに提供される仮想空間の他の一例を示す図である。
【図１６】ユーザＡがＨＭＤを再び装着した場合における本実施形態に係る情報処理方法を説明するためのフローチャートの一例である。
【図１７】本実施形態に係る情報処理方法を説明するためのユーザＢに提供される仮想空間の他の一例を示す図である。
【図１８】変形例１に係る情報処理方法を説明するためのフローチャートの一例である。
【図１９】変形例１に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【図２０】変形例１に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【図２１】変形例１に係る情報処理方法を説明するためのユーザＡに関連付けられたユーザ端末５の表示例を示す図である。
【図２２】変形例１に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【図２３】変形例１に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【図２４】ユーザＡが既読情報の受信から一定時間内にＨＭＤを装着していない場合における変形例１に係る情報処理方法を説明するためのフローチャートの一例である。
【図２５】変形例２に係る情報処理方法を説明するためのフローチャートの一例である。
【図２６】変形例２に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【図２７】変形例２に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【図２８】変形例２に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【発明を実施するための形態】
【０００９】
［本開示が示す実施形態の説明］
本開示が示す実施形態の概要を説明する。
（１）第１ユーザの頭部に装着される第１ヘッドマウントデバイスを有する第１ユーザ端末と、第２ユーザの頭部に装着される第２ヘッドマウントデバイスを有する第２ユーザ端末と、を備えた仮想空間配信システムにおいてコンピュータによって実行される情報処理方法であって、
前記情報処理方法は、
（ａ）前記第１ユーザに関連付けられた第１アバターと、前記第２ユーザに関連付けられた第２アバターとを含む仮想空間を規定する仮想空間データを生成するステップと、
（ｂ）前記第２ヘッドマウントデバイスの動きと前記仮想空間データに基づいて、前記第２ヘッドマウントデバイスに表示される視野画像を更新するステップと、
（ｄ）前記第１ユーザが前記第１ヘッドマウントデバイスを装着していないことを示す非装着情報を受信した場合に、前記第１ユーザが前記第１ヘッドマウントデバイスを装着していないことを前記第２ユーザ端末によって前記第２ユーザに提示するステップと、を含む、情報処理方法。
【００１０】
上記方法によれば、第１ユーザが第１ヘッドマウントデバイス（以下、第１ＨＭＤ）を装着していないことを示す非装着情報が受信された場合に、第２ユーザ端末によって第１ユーザが第１ＨＭＤを装着していないことが第２ユーザに提示される。このように、第２ユーザは、仮想空間上において第１ユーザとコミュニケーションを行っているときに、第１ユーザが第１ＨＭＤを装着していないことを容易に把握することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【００１１】
特に、第２ユーザは、第１ユーザが第１ＨＭＤを装着していないことを把握してなければ、リアクションを示さない第１ユーザに対して違和感を抱く場合がある。このように、第１ユーザが第１ＨＭＤを装着していないことを第２ユーザに把握させることで、第２ユーザがリアクションを示さない第１ユーザに対して違和感を抱くといった状況を回避することが可能となる。
【００１２】
（２）前記ステップ（ｄ）は、
前記非装着情報を受信した場合に、前記第１ユーザが前記第１ヘッドマウントデバイスを装着していないことを前記第２ヘッドマウントデバイスに表示される視野画像上において可視化するステップを含む、項目（１）に記載の情報処理方法。
【００１３】
上記方法によれば、第１ユーザが第１ヘッドマウントデバイス（第１ＨＭＤ）を装着していないことを示す非装着情報が受信された場合に、第１ユーザが第１ＨＭＤを装着していないことを示す情報が第２ヘッドマウントデバイス（第２ＨＭＤ）に表示される視野画像上において可視化される。このように、第２ユーザは、仮想空間上において第１ユーザとコミュニケーションを行っているときに、第２ＨＭＤを通じて第１ユーザが第１ＨＭＤを装着していないことを示す情報を視認することで、第１ユーザが第１ＨＭＤを装着していないことを容易に把握することができる。
【００１４】
（３）（ｅ）前記第１アバターの顔の表情を示す顔情報を受信した場合に、前記顔情報に基づいて、前記第１アバターの顔の表情を更新するステップをさらに含み、
前記ステップ（ｄ）は、
前記非装着情報を受信した場合に、表情が第１の態様に設定された第１アバターを前記第２ヘッドマウントデバイスに表示される視野画像上において可視化するステップを含む、項目（１）又は（２）に記載の情報処理方法。 
【００１５】
上記方法によれば、第１ユーザが第１ヘッドマウントデバイス（第１ＨＭＤ）を装着していないことを示す非装着情報が受信された場合に、表情が第１の態様に設定された第１アバターが第２ヘッドマウントデバイス（第２ＨＭＤ）に表示される視野画像上において可視化される。このように、第２ユーザは、仮想空間上において第１ユーザとコミュニケーションを行っているときに、第１アバターの顔の表情が所定の表情となっていることを視認することで、第１ユーザが第１ＨＭＤを装着していないことを容易に把握することができる。
【００１６】
特に、第１ユーザが第１ＨＭＤを装着していない場合には、第１アバターの顔の表情が全く更新されない。このため、第２ユーザは、第１ユーザが第１ＨＭＤを装着していないことを把握してなければ、第１ユーザに対して違和感を抱く場合がある。このように、第１ユーザが第１ＨＭＤを装着していないことを第２ユーザに把握させることで、第２ユーザがリアクションを示さない第１ユーザに対して違和感を抱くといった状況を回避することが可能となる。
【００１７】
（４）前記第１の態様は、デフォルト設定された前記第１アバターの顔の表情である、項目（３）に記載の情報処理方法。
【００１８】
上記方法によれば、第１ユーザが第１ヘッドマウントデバイス（第１ＨＭＤ）を装着していないことを示す非装着情報が受信された場合に、第１アバターの顔の表情がデフォルト設定された第１アバターの顔の表情となる。このように、第２ユーザは、仮想空間上において第１ユーザとコミュニケーションを行っているときに、第１アバターの顔の表情がデフォルト設定された顔の表情になっていることを視認することで、第１ユーザが第１ＨＭＤを装着していないことを容易に把握することができる。
【００１９】
（５）前記第１の態様は、前記第１ユーザが前記第１ヘッドマウントデバイスを装着していないことを示す態様として予め選択された表情である、項目（３）に記載の情報処理方法。
【００２０】
上記方法によれば、第１ユーザが第１ヘッドマウントデバイス（第１ＨＭＤ）を装着していないことを示す非装着情報が受信された場合に、第１アバターの顔の表情が第１ユーザが第１ヘッドマウントデバイスを装着していないことを示す態様として第１ユーザによって予め選択された表情（以下、選択表情という。）に設定される。このように、第２ユーザは、仮想空間上において第１ユーザとコミュニケーションを行っているときに、第１アバターの顔の表情が選択表情になっていることを視認することで、第１ユーザが第１ＨＭＤを装着していないことを容易に把握することができる。
【００２１】
（６）前記第１ユーザ端末は、前記第１ユーザが前記第１ヘッドマウントデバイスを装着しているかどうかを検出するように構成された装着センサをさらに備え、
前記第１ユーザが前記第１ヘッドマウントデバイスを装着していないことを前記装着センサが検出した場合に、前記第１ユーザ端末は、前記非装着情報を出力し、前記第２ユーザ端末は、出力された前記非装着情報を前記第１ユーザ端末から受信する、項目（１）から（５）のうちいずれか一項に記載の情報処理方法。
【００２２】
上記方法によれば、第１ユーザ端末の装着センサから送信された情報に応じて、第１ユーザが第１ヘッドマウントデバイス（第１ＨＭＤ）を装着していないことが特定される。その後、第１ユーザが第１ＨＭＤを装着していないことを示す非装着情報が送信される。このように、第１ユーザ端末の装着センサから出力された情報に応じて、第１ユーザが第１ＨＭＤを装着していないことを自動的に特定することが可能となる。
【００２３】
（７）（ｆ）前記第１ヘッドマウントデバイスが前記第１ユーザから取り外された後に再び装着されたことを示す装着情報を受信した場合、前記第１ユーザが前記第１ヘッドマウントデバイスを装着していることを前記第２ユーザ端末によって前記第２ユーザに提示するステップをさらに含む、項目（１）から（６）のうちいずれか一項に記載の情報処理方法。
【００２４】
上記方法によれば、第１ヘッドマウントデバイス（第１ＨＭＤ）が第１ユーザから取り外された後に再び装着されたことを示す装着情報が受信された場合、第２ユーザ端末によって第１ユーザが第１ＨＭＤを装着していることが第２ユーザに提示される。このように、第２ユーザは、第１ユーザが第１ＨＭＤを再び装着したことを容易に把握することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【００２５】
（８）項目（１）から（７）のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
【００２６】
上記プログラムによれば、ユーザにリッチな仮想体験を提供することができる。
【００２７】
（９）第１ユーザの頭部に装着される第１ヘッドマウントデバイスを有する第１ユーザ端末と、第２ユーザの頭部に装着される第２ヘッドマウントデバイスを有する第２ユーザ端末と、を備え、項目（１）から（７）のうちいずれか一項に記載の情報処理方法を実行するように構成された、仮想空間配信システム。
【００２８】
上記仮想空間配信システムによれば、ユーザにリッチな仮想体験を提供することができる。
【００２９】
（１０）プロセッサと、
コンピュータ可読命令を記憶するメモリと、を備えた装置であって、
前記コンピュータ可読命令が前記プロセッサにより実行されると、前記装置は項目（１）から（７）のうちいずれか一項に記載の情報処理方法を実行する、装置。
【００３０】
上記装置によれば、ユーザにリッチな仮想体験を提供することができる。
【００３１】
（１１）ユーザに仮想体験を提供するためのコンピュータに、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
を実行させるための、プログラム。
【００３２】
上記プログラムによれば、ユーザの仮想体験を向上させることができる。特に、操作オブジェクトを用いた直感的な操作により仮想空間を共有する複数のユーザ間でアクションを実行することで、仮想空間におけるコミュニケーションを、没入感を損なうことなく円滑に行うことができる。
【００３３】
（１２）前記他のユーザにより前記仮想オブジェクトが制御されていない状態において前記第１アクションが実行された場合に、前記第２アクションを実行する、項目（１１）に記載のプログラム。
【００３４】
上記プログラムによれば、制御されていない状態の仮想オブジェクトに対して第２アクションを実行することで、他のユーザを仮想空間へ誘引させることができる。
【００３５】
（１３）前記第１アクションは、前記操作オブジェクトの反復運動の過程で前記仮想オブジェクトに接触する動作を含む、項目（１１）または（１２）に記載のプログラム。
【００３６】
（１４）前記第１アクションは、一定値以上の加速度での前記反復運動の過程における前記仮想オブジェクトへの接触動作を含む、項目（１３）に記載のプログラム。
【００３７】
（１５）前記第１アクションは、前記仮想オブジェクトに関連付けられた相対座標を一定時間内に所定の回数以上通過する動作を含む、項目（１３）または（１４）に記載のプログラム。
【００３８】
これらのプログラムによれば、誤って操作オブジェクトが仮想オブジェクトに接触してしまった場合を勘案しないことで、操作オブジェクトの動作の誤検知を防止することができる。
【００３９】
（１６）前記第２アクションは、前記他のユーザの前記仮想空間への参加を促す通知を含む、項目（１１）から（１５）のいずれかに記載のプログラム。
【００４０】
上記プログラムによれば、仮想空間を共有する他のユーザに対して、例えばマルチプレイが打診されていることを容易に認識させることができ、マルチプレイの利用を促進させることができる。
【００４１】
（１７）前記第２アクションに対するリアクションが行われた場合に、前記仮想オブジェクトを第１状態から第２状態へと遷移させるステップと、
前記第２状態への遷移後に、一定時間内に前記他のユーザにより前記仮想オブジェクトが制御されている状態になった場合には、前記仮想オブジェクトを第３状態へと遷移させるステップと、
をさらに前記コンピュータに実行させるための、項目（１６）に記載のプログラム。
【００４２】
上記プログラムによれば、他のユーザからリアクションがあったことや、他のユーザにより仮想オブジェクトが制御された状態となったことを、第１アクションを実行したユーザが容易に把握することができる。
【００４３】
（１８）前記第２状態への遷移後に、一定時間内に前記他のユーザにより前記仮想オブジェクトが制御されている状態にならない場合には、前記仮想オブジェクトを前記第１状態へ戻すステップをさらに前記コンピュータに実行させるための、項目（１７）に記載のプログラム。
【００４４】
上記プログラムによれば、第２アクションを実行したにも関わらず他のユーザにより仮想オブジェクトが制御されている状態にならないことを、第１アクションを実行したユーザが容易に把握することができる。
【００４５】
（１９）前記仮想オブジェクトに対する前記第１アクションの動作の強度と前記第１アクションの種類との少なくとも一方に応じて、前記通知の内容が異なっている、項目（１６）から（１８）のいずれかに記載のプログラム。
【００４６】
上記方法によれば、他のユーザは、第１アクションを実行したユーザからのマルチプレイの要望度の高低を把握することができ、要望度の高さに応じて仮想空間へ参加するかどうかを決定することができる。
【００４７】
（２０）前記仮想空間内での動作がコンピュータ制御可能な他の仮想オブジェクトに対し、前記操作オブジェクトにより前記第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記仮想空間において提供されるゲームを第１シーンから第２シーンへと遷移させるステップと、
をさらに前記コンピュータに実行させるための、項目（１１）から（１９）のいずれかに記載のプログラム。
【００４８】
上記プログラムによれば、ユーザの仮想空間への没入感を損なわずにゲームを進行させることができる。
【００４９】
（２１）ユーザに仮想体験を提供するための情報処理装置であって、
前記情報処理装置が備えるプロセッサの制御により、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
が実行される、情報処理装置。
【００５０】
上記情報処理装置によれば、ユーザの仮想体験を向上させることができる。
【００５１】
（２２）ユーザに仮想体験を提供するための情報処理システムであって、
前記情報処理システムが備える複数のプロセッサの制御により、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
が実行される、情報処理システム。
【００５２】
上記情報処理システムによれば、ユーザの仮想体験を向上させることができる。
【００５３】
（２３）ユーザに仮想体験を提供するためにコンピュータによって実行される情報処理方法であって、
前記ユーザの身体の一部の動きに応じて、仮想空間内で操作オブジェクトを動かすステップと、
前記ユーザとは異なる他のユーザの動きに基づいて前記仮想空間内での動作が制御可能な仮想オブジェクトに対して、前記操作オブジェクトによる第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記他のユーザに対する第２アクションを実行するステップと、
を含む、情報処理方法。
【００５４】
上記情報処理方法によれば、ユーザの仮想体験を向上させることができる。
【００５５】
（２４）ユーザに仮想体験を提供するためのコンピュータに、
仮想空間内で第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記ユーザとは異なる他のユーザに対する第２アクションを実行するステップと、
前記第２アクションに対するリアクションに基づいて、前記仮想空間内で第３アクションを実行するステップと、
を実行させるための、プログラム。
【００５６】
上記プログラムによれば、ユーザの仮想体験を向上させることができる。特に、他のユーザに対して実行される第２アクションに対するリアクションに基づいて仮想空間内で第３アクションを実行することで、現実空間と仮想空間との境界がシームレスとなる新規な仮想体験を提供することができる。
【００５７】
（２５）前記第１アクションは、前記他のユーザを特定するためのアクションであり、前記第３アクションは、前記仮想空間内において前記他のユーザに関連付けられた仮想オブジェクトが実行するアクションである、項目（２４）に記載のプログラム。
【００５８】
上記プログラムによれば、仮想空間を共有する複数のユーザ間でアクションが実行されることで、仮想空間におけるコミュニケーションを円滑に行うことができる。
【００５９】
（２６）前記ユーザの身体の一部の動きに応じて、前記仮想空間内で操作オブジェクトを動かすステップを、さらに前記コンピュータに実行させ、
前記第１アクションは前記操作オブジェクトを用いて実行される、項目（２４）または（２５）に記載のプログラム。
【００６０】
上記プログラムによれば、仮想空間を共有する複数のユーザ間で、操作オブジェクトを用いた直感的な操作によりアクションを実行することができ、ユーザの没入感を損なうことない。
【００６１】
（２７）前記第２アクションは、前記他のユーザの前記仮想空間への参加を促す通知を含む、項目（２４）から（２６）のいずれかに記載のプログラム。
【００６２】
上記プログラムによれば、仮想空間を共有する他のユーザに対して、例えばマルチプレイが打診されていることを容易に認識させることができ、マルチプレイの利用を促進させることができる。
【００６３】
（２８）前記第３アクションは、前記仮想空間内において前記他のユーザに関連付けられた仮想オブジェクトが実行するアクションを、第１状態から第２状態へと遷移させることを含む、項目（２４）から（２７）のいずれかに記載のプログラム。
【００６４】
上記方法によれば、他のユーザによるリアクションの有無を、第１アクションを実行したユーザが容易に把握することができる。
【００６５】
（２９）ユーザに仮想体験を提供するための情報処理装置であって、
前記情報処理装置が備えるプロセッサの制御により、
仮想空間内で第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記ユーザとは異なる他のユーザに対する第２アクションを実行するステップと、
前記第２アクションに対するリアクションに基づいて、前記仮想空間内で第３アクションを実行するステップと、
が実行される、情報処理装置。
【００６６】
上記情報処理装置によれば、ユーザの仮想体験を向上させることができる。
【００６７】
（３０）ユーザに仮想体験を提供するための情報処理システムであって、
前記情報処理システムが備える複数のプロセッサの制御により、
仮想空間内で第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記ユーザとは異なる他のユーザに対する第２アクションを実行するステップと、
前記第２アクションに対するリアクションに基づいて、前記仮想空間内で第３アクションを実行するステップと、
が実行される、情報処理システム。
【００６８】
上記情報処理システムによれば、ユーザの仮想体験を向上させることができる。
【００６９】
（３１）ユーザに仮想体験を提供するためにコンピュータによって実行される情報処理方法であって、
仮想空間内で第１アクションを実行するステップと、
前記第１アクションの実行に基づいて、前記ユーザとは異なる他のユーザに対する第２アクションを実行するステップと、
前記第２アクションに対するリアクションに基づいて、前記仮想空間内で第３アクションを実行するステップと、
を含む、情報処理方法。
【００７０】
上記情報処理方法によれば、ユーザの仮想体験を向上させることができる。
【００７１】
［本開示が示す実施形態の詳細］
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された要素と同一の参照番号を有する要素については、説明の便宜上、その説明は繰り返さない。
【００７２】
最初に、仮想空間配信システム１００の構成の概略について図１を参照して説明する。図１は、仮想空間配信システム１００（以下、単に配信システム１００という。）の概略図である。図１に示すように、配信システム１００は、ヘッドマウントデバイス（ＨＭＤ）１１０（第１ＨＭＤ）を装着したユーザＡ（第１ユーザ）によって操作されるユーザ端末１Ａ（第１ユーザ端末）と、ＨＭＤ１１０（第２ＨＭＤ）を装着したユーザＢ（第２ユーザ）によって操作されるユーザ端末１Ｂ（第２ユーザ端末）と、サーバ２とを備える。ユーザ端末１Ａ，１Ｂは、インターネット等の通信ネットワーク３を介してサーバ２に通信可能に接続されている。尚、本実施形態において、仮想空間とは、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）空間を含むものである。また、以降では、説明の便宜上、各ユーザ端末１Ａ，１Ｂを単にユーザ端末１と総称する場合がある。さらに、各ユーザＡ，Ｂを単にユーザＵと総称する場合がある。また、本実施形態では、ユーザ端末１Ａ，１Ｂは、同一の構成を備えているものとする。
【００７３】
次に、図２を参照してユーザ端末１の構成について説明する。図２は、ユーザ端末１を示す概略図である。図２に示すように、ユーザ端末１は、ユーザＵの頭部に装着されたヘッドマウントデバイス（ＨＭＤ）１１０と、ヘッドフォン１１６と、フェイスカメラ１１７と、マイク１１８と、位置センサ１３０と、外部コントローラ３２０と、制御装置１２０とを備える。
【００７４】
ＨＭＤ１１０は、表示部１１２と、ＨＭＤセンサ１１４と、注視センサ１４０と、フェイスカメラ１１３と、装着センサ１１５とを備えている。表示部１１２は、ＨＭＤ１１０を装着したユーザＵの視界（視野）を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザＵは、表示部１１２に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部１１２は、ユーザＵの左目に画像を提供するように構成された左目用表示部と、ユーザＵの右目に画像を提供するように構成された右目用表示部とから構成されてもよい。また、ＨＭＤ１１０は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。
【００７５】
ＨＭＤセンサ１１４は、ＨＭＤ１１０の表示部１１２の近傍に搭載される。ＨＭＤセンサ１１４は、地磁気センサ、加速度センサ、傾きセンサ（角速度センサやジャイロセンサ等）のうちの少なくとも１つを含み、ユーザＵの頭部に装着されたＨＭＤ１１０の各種動き（傾き等）を検出することができる。
【００７６】
注視センサ１４０は、ユーザＵの視線を検出するアイトラッキング機能を有する。注視センサ１４０は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザＵの右目に例えば赤外光を照射して、右目（特に、角膜や虹彩）から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザＵの左目に例えば赤外光を照射して、左目（特に、角膜や虹彩）から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
【００７７】
フェイスカメラ１１３は、ＨＭＤ１１０がユーザＵに装着された状態でユーザＵの目（左目と右目）とまゆげ（左まゆげと右まゆげ）が表示された画像（特に、動画像）を取得するように構成されている。フェイスカメラ１１３は、ユーザＵの目とまゆげを撮像可能なようにＨＭＤ１１０の内側の所定箇所に配置されている。フェイスカメラ１１３によって取得される動画像のフレームレートは、ＨＭＤ１１０に表示される視野画像（後述する）のフレームレートよりも大きくてもよい。
【００７８】
装着センサ１１５は、ユーザＵがＨＭＤ１１０を装着しているかどうかを示すためのイベント情報を生成するように構成されている。具体的には、ユーザＵがＨＭＤ１１０を取り外したときに（ＨＭＤ１１０の状態が装着状態から非装着状態に遷移したときに）、装着センサ１１５は、イベント情報を生成した上で、当該イベント情報を制御装置１２０に送信する。また、ユーザＵがＨＭＤ１１０を装着したときに（ＨＭＤ１１０の状態が非装着状態から装着状態に遷移したときに）、装着センサ１１５は、イベント情報を生成した上で、当該イベント情報を制御装置１２０に送信する。また、装着センサ１１５の構成は特に限定されない。例えば、ユーザＵがＨＭＤ１１０を装着したときに、ＨＭＤ１１０に設けられたバネの弾性力が変化すると仮定する。この場合、装着センサ１１５は、このバネの弾性力の変化に基づいて、イベント情報を生成してもよい。さらに、ユーザＵがＨＭＤ１１０を装着したときに、ＨＭＤ１１０に設けられた身体の一部（鼻部分）に接触する２つのパッド間を流れる電流が変化すると仮定する。この場合、装着センサ１１５は、この２つのパッド間を流れる電流の変化に基づいて、イベント情報を生成してもよい。
【００７９】
ヘッドフォン１１６（音声出力部）は、ユーザＵの左耳と右耳にそれぞれ装着されている。ヘッドフォン１１６は、制御装置１２０から音声データ（電気信号）を受信し、当該受信した音声データに基づいて音声を出力するように構成されている。マイク１１８（音声入力部）は、ユーザＵから発声された音声を収集し、当該収集された音声に基づいて音声データ（電気信号）を生成するように構成されている。さらに、マイク１１８は、音声データを制御装置１２０に送信するように構成されている。
【００８０】
フェイスカメラ１１７は、ユーザＵの口及びその周辺が表示された画像（特に、動画像）を取得するように構成されている。フェイスカメラ１１７は、ユーザＵの口及びその周辺を撮像可能なようにユーザＵの口に対向する位置に配置されてもよい。また、フェイスカメラ１１７は、ＨＭＤ１１０と連結されていてもよい。フェイスカメラ１１７によって取得される動画像のフレームレートは、ＨＭＤ１１０に表示される視野画像のフレームレートよりも大きくてもよい。
【００８１】
位置センサ１３０は、例えば、ポジション・トラッキング・カメラにより構成され、ＨＭＤ１１０と外部コントローラ３２０の位置を検出するように構成されている。位置センサ１３０は、制御装置１２０に無線又は有線により通信可能に接続されており、ＨＭＤ１１０に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ１３０は、外部コントローラ３２０に設けられた図示しない複数の検知点の位置、傾き及び／又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ１３０は、赤外線センサや複数の光学カメラを含んでもよい。
【００８２】
外部コントローラ３２０は、ユーザＵの身体の一部（頭部以外の部位であり、本実施形態においてはユーザＵの手）の動きを検知することにより、仮想空間内に表示されるアバターの手の動作を制御するために使用される。外部コントローラ３２０は、ユーザＵの右手によって操作される右手用外部コントローラ３２０Ｒ（以下、単にコントローラ３２０Ｒという。）と、ユーザＵの左手によって操作される左手用外部コントローラ３２０Ｌ（以下、単にコントローラ３２０Ｌという。）と、を有する。コントローラ３２０Ｒは、ユーザＵの右手の位置や右手の手指の動きを示す装置である。また、コントローラ３２０Ｒの動きに応じて仮想空間内に存在するアバターの右手が動く。コントローラ３２０Ｌは、ユーザＵの左手の位置や左手の手指の動きを示す装置である。また、コントローラ３２０Ｌの動きに応じて仮想空間内に存在するアバターの左手が動く。
【００８３】
制御装置１２０は、ＨＭＤ１１０を制御するように構成されたコンピュータである。制御装置１２０は、位置センサ１３０から取得された情報に基づいて、ＨＭＤ１１０の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置（アバターの位置）と、現実空間におけるＨＭＤ１１０を装着したユーザＵの位置を正確に対応付けることができる。さらに、制御装置１２０は、位置センサ１３０及び／又は外部コントローラ３２０に内蔵されたセンサから取得された情報に基づいて、外部コントローラ３２０の動作を特定し、当該特定された外部コントローラ３２０の動作に基づいて、仮想空間内に表示されるアバターの手の動作と現実空間における外部コントローラ３２０の動作を正確に対応付けることができる。特に、制御装置１２０は、位置センサ１３０及び／又はコントローラ３２０Ｌに内蔵されたセンサから取得された情報に基づいて、コントローラ３２０Ｌの動作を特定し、当該特定されたコントローラ３２０Ｌの動作に基づいて、仮想空間内に表示されるアバターの左手の動作と現実空間におけるコントローラ３２０Ｌの動作（ユーザＵの左手の動作）を正確に対応付けることができる。同様に、制御装置１２０は、位置センサ及び／コントローラ３２０Ｒに内蔵されたセンサから取得された情報に基づいて、コントローラ３２０Ｒの動作を特定し、当該特定されたコントローラ３２０Ｒの動作に基づいて、仮想空間内に表示されるアバターの右手の動作と現実空間におけるコントローラ３２０Ｒの動作（ユーザＵの右手の動作）を正確に対応付けることができる。
【００８４】
また、制御部１２１は、フェイスカメラ１１３，１１７によって取得された動画像に基づいて、ユーザＵの顔の表情（状態）とユーザＵのアバターの顔の表情（状態）を対応付けることができる。ユーザＵの顔の表情とアバターの顔の表情を互いに対応づける処理の詳細については後述する。
【００８５】
また、制御装置１２０は、注視センサ１４０（左目用注視センサと右目用注視センサ）から送信された情報に基づいて、ユーザＵの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置１２０は、特定された注視点に基づいて、ユーザＵの両目の視線（ユーザＵの視線）を特定することができる。ここで、ユーザＵの視線は、ユーザＵの両目の視線であって、ユーザＵの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
【００８６】
次に、図３を参照して、ＨＭＤ１１０の位置や傾きに関する情報を取得する方法について説明する。図３は、ＨＭＤ１１０を装着したユーザＵの頭部を示す図である。ＨＭＤ１１０を装着したユーザＵの頭部の動きに連動したＨＭＤ１１０の位置や傾きに関する情報は、位置センサ１３０及び／又はＨＭＤ１１０に搭載されたＨＭＤセンサ１１４により検出可能である。図２に示すように、ＨＭＤ１１０を装着したユーザＵの頭部を中心として、３次元座標（ｕｖｗ座標）が規定される。ユーザＵが直立する垂直方向をｖ軸として規定し、ｖ軸と直交しＨＭＤ１１０の中心を通る方向をｗ軸として規定し、ｖ軸およびｗ軸と直交する方向をｕ軸として規定する。位置センサ１３０及び／又はＨＭＤセンサ１１４は、各ｕｖｗ軸回りの角度（すなわち、ｖ軸を中心とする回転を示すヨー角、ｕ軸を中心とした回転を示すピッチ角、ｗ軸を中心とした回転を示すロール角で決定される傾き）を検出する。制御装置１２０は、検出された各ｕｖｗ軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
【００８７】
次に、図４を参照することで、制御装置１２０のハードウェア構成について説明する。図４は、制御装置１２０のハードウェア構成を示す図である。図４に示すように、制御装置１２０は、制御部１２１と、記憶部１２３と、Ｉ／Ｏ（入出力）インターフェース１２４と、通信インターフェース１２５と、バス１２６とを備える。制御部１２１と、記憶部１２３と、Ｉ／Ｏインターフェース１２４と、通信インターフェース１２５は、バス１２６を介して互いに通信可能に接続されている。
【００８８】
制御装置１２０は、ＨＭＤ１１０とは別体に、パーソナルコンピュータ、スマートフォン、ファブレット、タブレット又はウェアラブルデバイスとして構成されてもよいし、ＨＭＤ１１０に内蔵されていてもよい。また、制御装置１２０の一部の機能がＨＭＤ１１０に搭載されると共に、制御装置１２０の残りの機能がＨＭＤ１１０とは別体の他の装置に搭載されてもよい。
【００８９】
制御部１２１は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成される。プロセッサは、例えばＣＰＵ(Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ)、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び／又はＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であって、ＲＯＭに組み込まれた各種プログラムから指定されたプログラムをＲＡＭ上に展開し、ＲＡＭとの協働で各種処理を実行するように構成されている。
【００９０】
特に、プロセッサが制御プログラムをＲＡＭ上に展開し、ＲＡＭとの協働で制御プログラムを実行することで、制御部１２１は、制御装置１２０の各種動作を制御してもよい。制御部１２１は、視野画像データに基づいてＨＭＤ１１０の表示部１１２に視野画像を表示する。これにより、ユーザＵは、仮想空間に没入することができる。
【００９１】
記憶部（ストレージ）１２３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部１２３は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現するための制御プログラムを格納してもよい。また、記憶部１２３には、ユーザＵの認証プログラムや各種画像やオブジェクト（例えば、アバター等）に関するデータが格納されてもよい。さらに、記憶部１２３には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
【００９２】
Ｉ／Ｏインターフェース１２４は、ＨＭＤ１１０と、位置センサ１３０と、外部コントローラ３２０と、ヘッドフォン１１６と、フェイスカメラ１１７と、マイク１１８とをそれぞれ制御装置１２０に通信可能に接続するように構成されており、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ―Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子等により構成されている。尚、制御装置１２０は、ＨＭＤ１１０と、位置センサ１３０と、外部コントローラ３２０と、ヘッドフォン１１６と、フェイスカメラ１１７と、マイク１１８とのそれぞれと無線接続されていてもよい。
【００９３】
通信インターフェース１２５は、制御装置１２０をＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はインターネット等の通信ネットワーク３に接続させるように構成されている。通信インターフェース１２５は、通信ネットワーク３を介してサーバ２等の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク３を介して通信するための通信規格に適合するように構成されている。
【００９４】
次に、図５から図８を参照することで視野画像をＨＭＤ１１０に表示するための処理について説明する。図５は、視野画像をＨＭＤ１１０に表示する処理を示すフローチャートである。図６は、仮想空間２００の一例を示すｘｙｚ空間図である。図７の状態（ａ）は、図６に示す仮想空間２００のｙｘ平面図である。図７の状態（ｂ）は、図６に示す仮想空間２００のｚｘ平面図である。図８は、ＨＭＤ１１０に表示された視野画像Ｖの一例を示す図である。
【００９５】
図５に示すように、ステップＳ１において、制御部１２１（図４参照）は、仮想カメラ３００と、各種オブジェクトとを含む仮想空間２００を示す仮想空間データを生成する。図６に示すように、仮想空間２００は、中心位置２１０を中心とした全天球として規定される（図６では、上半分の天球のみが図示されている）。また、仮想空間２００では、中心位置２１０を原点とするｘｙｚ座標系が設定されている。仮想カメラ３００は、ＨＭＤ１１０に表示される視野画像Ｖ（図８参照）を特定するための視軸Ｌを規定している。仮想カメラ３００の視野を定義するｕｖｗ座標系は、現実空間におけるユーザＵの頭部を中心として規定されたｕｖｗ座標系に連動するように決定される。また、ＨＭＤ１１０を装着したユーザＵの現実空間における移動に連動して、制御部１２１は、仮想カメラ３００を仮想空間２００内で移動させてもよい。
【００９６】
次に、ステップＳ２において、制御部１２１は、仮想カメラ３００の視野ＣＶ（図７参照）を特定する。具体的には、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の状態を示すデータに基づいて、ＨＭＤ１１０の位置や傾きに関する情報を取得する。次に、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想空間２００内における仮想カメラ３００の位置や向きを特定する。次に、制御部１２１は、仮想カメラ３００の位置や向きから仮想カメラ３００の視軸Ｌを決定し、決定された視軸Ｌから仮想カメラ３００の視野ＣＶを特定する。ここで、仮想カメラ３００の視野ＣＶは、ＨＭＤ１１０を装着したユーザＵが視認可能な仮想空間２００の一部の領域に相当する（換言すれば、ＨＭＤ１１０に表示される仮想空間２００の一部の領域に相当する）。また、視野ＣＶは、図７の状態（ａ）に示すｘｙ平面において、視軸Ｌを中心とした極角αの角度範囲として設定される第１領域ＣＶａと、図７の状態（ｂ）に示すｘｚ平面において、視軸Ｌを中心とした方位角βの角度範囲として設定される第２領域ＣＶｂとを有する。尚、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線を示すデータに基づいてユーザＵの視線を特定し、特定されたユーザＵの視線とＨＭＤ１１０の位置や傾きに関する情報に基づいて、仮想カメラ３００の向き（仮想カメラの視軸Ｌ）を決定してもよい。また、後述するように、制御部１２１は、ＨＭＤ１１０の位置や傾きに関する情報に基づいて、ユーザＵのアバターの顔の向きを決定してもよい。
【００９７】
このように、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４からのデータに基づいて、仮想カメラ３００の視野ＣＶを特定することができる。ここで、ＨＭＤ１１０を装着したユーザＵが動くと、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４から送信されたＨＭＤ１１０の動きを示すデータに基づいて、仮想カメラ３００の視野ＣＶを更新することができる。つまり、制御部１２１は、ＨＭＤ１１０の動きに応じて、視野ＣＶを更新することができる。同様に、ユーザＵの視線が変化すると、制御部１２１は、注視センサ１４０から送信されたユーザＵの視線を示すデータに基づいて、仮想カメラ３００の視野ＣＶを更新してもよい。つまり、制御部１２１は、ユーザＵの視線の変化に応じて、視野ＣＶを変化させてもよい。
【００９８】
次に、ステップＳ３において、制御部１２１は、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖを示す視野画像データを生成する。具体的には、制御部１２１は、仮想空間２００を規定する仮想空間データと、仮想カメラ３００の視野ＣＶとに基づいて、視野画像データを生成する。
【００９９】
次に、ステップＳ４において、制御部１２１は、視野画像データに基づいて、ＨＭＤ１１０の表示部１１２に視野画像Ｖを表示する（図７参照）。このように、ＨＭＤ１１０を装着しているユーザＵの動きに応じて、仮想カメラ３００の視野ＣＶが変化し、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが変化するので、ユーザＵは仮想空間２００に没入することができる。
【０１００】
尚、仮想カメラ３００は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部１２１は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部１２１は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部１２１は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザＵは、左目用視野画像と右目用視野画像との間の視差により、視野画像を３次元的に視認することができる。尚、仮想カメラは、後述するように、ユーザによって操作されるアバターの目の位置に配置されてもよい。例えば、左目用仮想カメラは、アバターの左目に配置される一方で、右目用仮想カメラは、アバターの右目に配置されてもよい。
【０１０１】
また、図５に示すステップＳ１〜Ｓ４の処理は１フレーム（動画を構成する静止画像）毎に実行されてもよい。例えば、動画のフレームレートが９０ｆｐｓである場合、ステップＳ１〜Ｓ４の処理はΔＴ＝１／９０（秒）間隔で繰り返し実行されてもよい。このように、ステップＳ１〜Ｓ４の処理が所定間隔ごとに繰り返し実行されるため、ＨＭＤ１１０の動作に応じて仮想カメラ３００の視野が更新されると共に、ＨＭＤ１１０の表示部１１２に表示される視野画像Ｖが更新される。
【０１０２】
次に、図１に示すサーバ２のハードウェア構成について図９を参照して説明する。図９は、サーバ２のハードウェア構成を示す図である。図９に示すように、サーバ２は、制御部２３と、記憶部２２と、通信インターフェース２１と、バス２４とを備える。制御部２３と、記憶部２２と、通信インターフェース２１は、バス２４を介して互いに通信可能に接続されている。制御部２３は、メモリとプロセッサを備えており、メモリは、例えば、ＲＯＭ及びＲＡＭ等から構成されると共に、プロセッサは、例えば、ＣＰＵ、ＭＰＵ及び／又はＧＰＵにより構成される。
【０１０３】
記憶部（ストレージ）２２は、例えば、大容量のＨＤＤ等である。記憶部２２は、本実施形態に係る情報処理方法の少なくとも一部をコンピュータに実行させるための制御プログラムや、複数のユーザによる仮想空間の共有を実現させるための制御プログラムを格納してもよい。また、記憶部２２は、各ユーザを管理するためのユーザ管理情報や各種画像やオブジェクト（例えば、アバター等）に関するデータを格納してもよい。通信インターフェース２１は、サーバ２を通信ネットワーク３に接続させるように構成されている。
【０１０４】
次に、図１，１０及び１１を参照してユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させる処理の一例について説明する。図１０の状態（ａ）は、ユーザＡに提供される仮想空間２００Ａを示す図である。図１０の状態（ｂ）は、ユーザＢに提供される仮想空間２００Ｂを示す図である。図１１は、ユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させる処理の一例を説明するためのシーケンス図である。本説明では、前提条件として、図１０に示すように、ユーザ端末１Ａ（ユーザＡ）に関連付けられたアバター４Ａ（第１アバター）と、ユーザ端末１Ｂ（ユーザＢ）に関連付けられたアバター４Ｂ（第２アバター）が同一の仮想空間を共有しているものとする。つまり、通信ネットワーク３を介してユーザＡとユーザＢが一つの仮想空間を共有するものとする。
【０１０５】
図１０の状態（ａ）に示すように、ユーザＡの仮想空間２００Ａは、アバター４Ａと、アバター４Ｂとを含む。アバター４Ａは、ユーザＡによって操作されると共に、ユーザＡの動作に連動する。アバター４Ａは、ユーザ端末１Ａのコントローラ３２０Ｌの動作（ユーザＡの左手の動作）に連動する左手（アバター４Ａの仮想身体の一部）と、ユーザ端末１Ａのコントローラ３２０Ｒの動作（ユーザＡの右手の動作）に連動する右手と、表情がユーザＡの顔の表情に連動する顔を有する。アバター４Ａの顔は、複数の顔パーツ（例えば、目、まゆげ、口等）を有する。アバター４Ｂは、ユーザＢによって操作されると共に、ユーザＢの動作に連動する。アバター４Ｂは、ユーザＢの左手の動作を示すユーザ端末１Ｂのコントローラ３２０Ｌの動作に連動する左手と、ユーザＢの右手の動作を示すユーザ端末１Ｂのコントローラ３２０Ｒの動作に連動する右手と、表情がユーザＢの顔の表情と連動する顔を有する。アバター４Ｂの顔は、複数の顔パーツ（例えば、目、まゆげ、口等）を有する。
【０１０６】
尚、ユーザＡに提供される仮想空間２００Ａでは、アバター４Ａが可視化されない場合も想定される。この場合、仮想空間２００Ａに配置されるアバター４Ａは、少なくともユーザ端末１ＡのＨＭＤ１１０の動きに連動する仮想カメラ３００を含む。
【０１０７】
また、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の位置に応じてアバター４Ａ，４Ｂの位置が特定されてもよい。同様に、ユーザ端末１Ａ，１ＢのＨＭＤ１１０の傾きに応じてアバター４Ａ，４Ｂの顔の向きが特定されてもよい。さらに、ユーザ端末１Ａ，１Ｂの外部コントローラ３２０の動作に応じてアバター４Ａ，４Ｂの手の動作が特定されてもよい。特に、ユーザ端末１Ａ，１Ｂのコントローラ３２０Ｌの動作に応じてアバター４Ａ，４Ｂの左手の動作が特定されると共に、ユーザ端末１Ａ，１Ｂのコントローラ３２０Ｒの動作に応じてアバター４Ａ，４Ｂの右手の動作が特定されてもよい。また、ユーザＡ，Ｂの顔の表情（状態）に応じてアバター４Ａ，４Ｂの顔の表情が特定されてもよい。
【０１０８】
また、アバター４Ａ，４Ｂの各々の目には、仮想カメラ３００（図６）が配置されてもよい。特に、アバター４Ａ，４Ｂの左目には、左目用仮想カメラが配置されると共に、アバター４Ａ，４Ｂの右目には、右目用仮想カメラが配置されてもよい。尚、以降の説明では、仮想カメラ３００は、アバター４Ａ，４Ｂの目に配置されているものとする。このため、アバター４Ａの視野ＣＶは、アバター４Ａに配置された仮想カメラ３００の視野ＣＶ（図７参照）と一致するものとする。同様に、アバター４Ｂの視野ＣＶは、アバター４Ｂに配置された仮想カメラ３００の視野ＣＶ（図７参照）と一致するものとする。
【０１０９】
図１０の状態（ｂ）に示すように、ユーザＢの仮想空間２００Ｂは、アバター４Ａと、アバター４Ｂとを含む。仮想空間２００Ａ内におけるアバター４Ａ，４Ｂの位置は、仮想空間２００Ｂ内におけるアバター４Ａ，４Ｂの位置に対応してもよい。
【０１１０】
尚、ユーザＢに提供される仮想空間２００Ｂでは、アバター４Ｂが可視化されない場合も想定される。この場合、仮想空間２００Ｂに配置されるアバター４Ｂは、少なくともユーザ端末１ＢのＨＭＤ１１０の動きに連動する仮想カメラ３００を含む。
【０１１１】
次に、図１１を参照すると、ステップＳ１０において、ユーザ端末１Ａの制御部１２１は、ユーザＡの音声データを生成する。例えば、ユーザＡがユーザ端末１Ａのマイク１１８（音声入力部）に音声を入力したときに、マイク１１８は、入力された音声を示す音声データを生成する。その後、マイク１１８は生成された音声データをＩ／Ｏインターフェース１２４を介して制御部１２１に送信する。
【０１１２】
次に、ステップＳ１１において、ユーザ端末１Ａの制御部１２１は、アバター４Ａの制御情報を生成した上で、当該生成したアバター４Ａの制御情報とユーザＡの音声を示す音声データ（ユーザＡの音声データ）をサーバ２に送信する。その後、サーバ２の制御部２３は、ユーザ端末１Ａからアバター４Ａの制御情報とユーザＡの音声データを受信する（ステップＳ１２）。
【０１１３】
ここで、アバター４Ａの制御情報は、アバター４Ａの動作を制御するために必要な情報である。アバター４Ａの制御情報は、アバター４Ａの位置に関する情報（位置情報）と、アバター４Ａの顔の向きに関する情報（顔向き情報）と、アバター４Ａの手（左手と右手）の状態に関する情報（手情報）と、アバター４Ａの顔の表情に関する情報（顔情報）とを含んでもよい。
【０１１４】
アバター４Ａの顔情報は、複数の顔パーツの状態を示す情報を有する。複数の顔パーツの状態を示す情報は、アバター４Ａの目の状態（白目の形状及び白目に対する黒目の位置等）を示す情報（目情報）と、アバター４Ａのまゆげの情報（まゆげの位置及び形状等）を示す情報（まゆげ情報）と、アバター４Ａの口の状態（口の位置及び形状等）を示す情報（口情報）を有する。
【０１１５】
詳細には、アバター４Ａの目情報は、アバター４Ａの左目の状態を示す情報と、アバター４Ａの右目の状態を示す情報を有する。アバター４Ａのまゆげ情報は、アバター４Ａの左まゆげの状態を示す情報と、アバター４Ａの右まゆげの状態を示す情報を有する。
【０１１６】
ユーザ端末１Ａの制御部１２１は、ＨＭＤ１１０に搭載されたフェイスカメラ１１３からユーザＡの目（左目と右目）とまゆげ（左まゆげと右まゆげ）を示す画像を取得した上で、当該取得された画像と所定の画像処理アルゴリズムに基づいてユーザＡの目（左目と右目）とまゆげ（左まゆげと右まゆげ）の状態を特定する。次に、制御部１２１は、特定されたユーザＡの目とまゆげの状態に基づいて、アバター４Ａの目（左目と右目）の状態を示す情報とアバター４Ａのまゆげ（左まゆげと右まゆげ）の状態を示す情報をそれぞれ生成する。
【０１１７】
同様に、ユーザ端末１Ａの制御部１２１は、フェイスカメラ１１７からユーザＡの口及びその周辺を示す画像を取得した上で、当該取得された画像と所定の画像処理アルゴリズムに基づいてユーザＡの口の状態を特定する。次に、制御部１２１は、特定されたユーザＡの口の状態に基づいて、アバター４Ａの口の状態を示す情報を生成する。
【０１１８】
このように、ユーザ端末１Ａの制御部１２１は、ユーザＡの目に対応するアバター４Ａの目情報と、ユーザＡのまゆげに対応するアバター４Ａのまゆげ情報と、ユーザＡの口に対応するアバター４Ａの口情報を生成することが可能となる。
【０１１９】
また、制御部１２１は、フェイスカメラ１１３によって撮像された画像と、フェイスカメラ１１７によって撮像された画像と、所定の画像処理アルゴリズムに基づいて、記憶部１２３又はメモリに記憶された複数の種類の顔の表情（例えば、笑顔、悲しい表情、無表情、怒りの表情、驚いた表情、困った表情等）の中からユーザＡの顔の表情（例えば、笑顔）を特定してもよい。その後、制御部１２１は、特定されたユーザＡの顔の表情に基づいて、アバター４Ａの顔の表情（例えば、笑顔）を示す顔情報を生成することが可能となる。この場合、アバター４Ａの複数の種類の顔の表情と、各々が当該複数の種類の顔の表情の一つに関連付けられた複数のアバター４Ａの顔情報を含む表情データが記憶部１２３に保存されてもよい。
【０１２０】
例えば、制御部１２１は、アバター４Ａの顔の表情を笑顔として特定した場合、アバター４Ａの顔の表情（笑顔）と表情データに基づいて、アバター４Ａの笑顔を示す顔情報を取得する。ここで、アバター４Ａの笑顔を示す顔情報は、アバター４Ａの顔の表情が笑顔のときのアバター４Ａの目情報、まゆげ情報及び口情報を含む。
【０１２１】
次に、ステップＳ１３において、ユーザ端末１Ｂの制御部１２１は、アバター４Ｂの制御情報を生成した上で、当該生成したアバター４Ｂの制御情報をサーバ２に送信する。その後、サーバ２の制御部２３は、ユーザ端末１Ｂからアバター４Ｂの制御情報を受信する（ステップＳ１４）。
【０１２２】
ここで、アバター４Ｂの制御情報は、アバター４Ｂの動作を制御するために必要な情報である。アバター４Ｂの制御情報は、アバター４Ｂの位置に関する情報（位置情報）と、アバター４Ｂの顔の向きに関する情報（顔向き情報）と、アバター４Ｂの手（左手と右手）の状態に関する情報（手情報）と、アバター４Ｂの顔の表情に関する情報（顔情報）とを含んでもよい。
【０１２３】
アバター４Ｂの顔情報は、複数の顔パーツの状態を示す情報を有する。複数の顔パーツの状態を示す情報は、アバター４Ｂの目の状態（白目の形状及び白目に対する黒目の位置等）を示す情報（目情報）と、アバター４Ｂのまゆげの情報（まゆげの位置及び形状等）を示す情報（まゆげ情報）と、アバター４Ｂの口の状態（口の位置及び形状等）を示す情報（口情報）を有する。アバター４Ｂの顔情報の取得方法は、アバター４Ａの顔情報の取得方法と同様である。
【０１２４】
次に、サーバ２は、アバター４Ｂの制御情報をユーザ端末１Ａに送信する一方（ステップＳ１５）、アバター４Ａの制御情報とユーザＡの音声データをユーザ端末１Ｂに送信する（ステップＳ１９）。その後、ユーザ端末１Ａの制御部１２１は、ステップＳ１６においてアバター４Ｂの制御情報を受信した後に、アバター４Ａ，４Ｂの制御情報に基づいて、アバター４Ａ，４Ｂの状態を更新した上で、仮想空間２００Ａ（図１０の状態（ａ）参照）を示す仮想空間データを更新する（ステップＳ１７）。
【０１２５】
詳細には、ユーザ端末１Ａの制御部１２１は、アバター４Ａ，４Ｂの位置情報に基づいて、アバター４Ａ，４Ｂの位置を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔向き情報に基づいて、アバター４Ａ，４Ｂの顔の向きを更新する。制御部１２１は、アバター４Ａ，４Ｂの手情報に基づいて、アバター４Ａ，４Ｂの手を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔情報に基づいて、アバター４Ａ，４Ｂの顔の表情を更新する。このように、更新されたアバター４Ａ，４Ｂを含む仮想空間２００Ａを示す仮想空間データが更新される。
【０１２６】
その後、ユーザ端末１Ａの制御部１２１は、ＨＭＤ１１０の位置や傾きに応じてアバター４Ａ（仮想カメラ３００）の視野ＣＶを特定した上で、更新された仮想空間データと、アバター４Ａの視野ＣＶとに基づいて、ＨＭＤ１１０に表示される視野画像を更新する（ステップＳ１８）。
【０１２７】
一方、ユーザ端末１Ｂの制御部１２１は、ステップＳ２０においてアバター４Ａの制御情報とユーザＡの音声データを受信した後に、アバター４Ａ，４Ｂの制御情報に基づいて、アバター４Ａ，４Ｂの状態を更新した上で、仮想空間２００Ｂ（図１０の状態（ｂ）参照）を示す仮想空間データを更新する（ステップＳ２１）。
【０１２８】
詳細には、ユーザ端末１Ｂの制御部１２１は、アバター４Ａ，４Ｂの位置情報に基づいて、アバター４Ａ，４Ｂの位置を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔向き情報に基づいて、アバター４Ａ，４Ｂの顔の向きを更新する。制御部１２１は、アバター４Ａ，４Ｂの手情報に基づいて、アバター４Ａ，４Ｂの手を更新する。制御部１２１は、アバター４Ａ，４Ｂの顔情報に基づいて、アバター４Ａ，４Ｂの顔の表情を更新する。このように、更新されたアバター４Ａ，４Ｂを含む仮想空間を示す仮想空間データが更新される。
【０１２９】
その後、ユーザ端末１Ｂの制御部１２１は、ＨＭＤ１１０の位置や傾きに応じてアバター４Ｂ（仮想カメラ３００）の視野ＣＶを特定した上で、更新された仮想空間データと、アバター４Ｂの視野ＣＶとに基づいて、ＨＭＤ１１０に表示される視野画像を更新する（ステップＳ２２）。
【０１３０】
その後、ユーザ端末１Ｂの制御部１２１は、受信したユーザＡの音声データと、アバター４Ａの制御情報に含まれるアバター４Ａの位置に関する情報と、アバター４Ｂの位置に関する情報と、所定の音声処理アルゴリズムに基づいてユーザＡの音声データを加工する。その後、制御部１２１は、加工された音声データをヘッドフォン１１６（音声出力部）に送信した上で、ヘッドフォン１１６は、加工された音声データに基づいてユーザＡの音声を出力する（ステップＳ２３）。このように、仮想空間上においてユーザ間（アバター間）の音声チャット（ＶＲチャット）を実現することができる。
【０１３１】
本実施形態では、ユーザ端末１Ａ，１Ｂがサーバ２にアバター４Ａの制御情報とアバター４Ｂの制御情報をそれぞれ送信した後に、サーバ２がアバター４Ａの制御情報をユーザ端末１Ｂに送信する一方、アバター４Ｂの制御情報をユーザ端末１Ａに送信する。このように、ユーザ端末１Ａとユーザ端末１Ｂ間において各アバター４Ａ，４Ｂの動きを同期させることが可能となる。
【０１３２】
次に、図１２及び図１４を主に参照することで、ユーザＡのＨＭＤ１１０を取り外した場合における本実施形態に係る情報処理方法について説明する。図１２は、ユーザＡがＨＭＤ１１０を取り外した場合における本実施形態に係る情報処理方法を説明するためのフローチャートの一例である。図１４は、本実施形態に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。尚、図１２に示すフローチャートでは、ユーザ端末１Ａの制御部１２１がアバター４Ａの制御情報をサーバ２に送信する処理やユーザ端末１Ｂの制御部１２１がアバター４Ｂの制御情報をサーバ２に送信する処理については説明の便宜上省略している。
【０１３３】
本実施形態では、前提条件として、図１４に示すように、アバター４Ａと、アバター４Ｂが同一の仮想空間を共有しているものとする。つまり、通信ネットワーク３を介してユーザＡ，Ｂが一つの仮想空間を共有するものとする。
【０１３４】
ユーザＢの仮想空間２００Ｂは、アバター４Ａと、アバター４Ｂとを含む。ユーザ端末１Ｂの制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新する。本説明では、説明の便宜上、アバター４Ａに提供される仮想空間２００Ａの図示は省略する。
【０１３５】
図１２を参照すると、ステップＳ３０において、ユーザ端末１Ａの制御部１２１は、ユーザＡがＨＭＤ１１０を取り外したかどうかを判定する。この点において、制御部１２１は、ＨＭＤセンサ１１４から送信されたＨＭＤ１１０の傾き情報又は装着センサ１１５から送信されたイベント情報に基づいて、ユーザＡがＨＭＤ１１０を取り外したかどうかを判定してもよい。ＨＭＤ１１４と装着センサ１１５は、ＨＭＤ１１０を装着しているかどうかを検出するように構成されたセンサとして機能する。
【０１３６】
図１３の状態（ａ）を参照して、ＨＭＤセンサ１１４を用いてユーザＡがＨＭＤ１１０を取り外したかどうかを判定する処理について説明する。図１３の状態（ａ）は、ＨＭＤセンサ１１４を用いてユーザＡがＨＭＤ１１０を取り外したかどうかを判定するための処理を説明するためのフローチャートの一例である。図１３の状態（ａ）に示すように、制御部１２１は、ＨＭＤセンサ１１４からＨＭＤ１１０の傾き（ロール角、ヨー角、ピッチ角）を示す傾き情報を受信する（ステップＳ３０１）。次に、制御部１２１は、受信した傾き情報に基づいて、ＨＭＤ１１０の傾きが所定の傾きよりも大きいかどうかを判定する（Ｓ３０２）。ここで、所定の傾きは、ユーザによって適宜設定されてもよい。ユーザＡがＨＭＤ１１０を装着している間では、ＨＭＤ１１０の傾きが所定の傾きよりも大きくなることがないものとする。つまり、ユーザＡがＨＭＤ１１０を装着している間では、ＨＭＤ１１０の傾きは所定の傾き以下となる一方で、ユーザＡがＨＭＤ１１０を取り外すときは、ＨＭＤ１１０が大きく傾くため、ＨＭＤ１１０の傾きが所定の傾きを超えることがある。このような観点より、所定の傾きが設定される。
【０１３７】
例えば、制御部１２１は、ＨＭＤ１１０の傾きの一例として、ＨＭＤ１１０のピッチ角θが所定の角度θｔｈよりも大きいと判定した場合に（ステップＳ３０２でＹＥＳ）、ユーザＡがＨＭＤ１１０を取り外した（換言すれば、ユーザＡがＨＭＤ１１０を装着していない）ことを特定した上で、ステップＳ３１の処理を実行する。一方、制御部１２１は、ＨＭＤ１１０のピッチ角θが所定の角度θｔｈ以下であると判定した場合に（ステップＳ３０２でＮＯ）、ユーザＡがＨＭＤ１１０を装着していることを特定した上で、ＨＭＤセンサ１１４からのＨＭＤ１１０の傾き情報を受信するまで待機する。
【０１３８】
次に、図１３の状態（ｂ）を参照して、装着センサ１１５を用いてユーザＡがＨＭＤ１１０を取り外したかどうかを判定する処理について説明する。図１３の状態（ｂ）は、装着センサ１１５を用いてユーザＡがＨＭＤ１１０を取り外したかどうかを判定するための処理を説明するためのフローチャートの一例である。図１３の状態（ｂ）に示すように、制御部１２１は、装着センサ１１５からイベント情報を受信したかどうかを判定する（ステップＳ３０３）。ここで、装着センサ１１５から送信されたイベント情報は、ユーザ端末１ＡのＨＭＤ１１０の状態が装着状態と非装着状態との間で変化したことを示す情報である。例えば、ユーザＡがＨＭＤ１１０を取り外したときに（ＨＭＤ１１０の状態が装着状態から非装着状態に遷移したときに）、装着センサ１１５はイベント情報を出力する。また、ユーザＡがＨＭＤ１１０を装着したときに（ＨＭＤ１１０の状態が非装着状態から装着状態に遷移したときに）、装着センサ１１５はイベント情報を出力する。
【０１３９】
制御部１２１は、装着センサ１１５からイベント情報を受信したと判定した場合に（ステップＳ３０３でＹＥＳ）、ユーザＡがＨＭＤ１１０を取り外した（換言すれば、ユーザＡがＨＭＤ１１０を装着していない）ことを特定した上で、ステップＳ３１の処理を実行する。一方、制御部１２１は、装着センサ１１５からイベント情報を受信していないと判定した場合に（ステップＳ３０３でＮＯ）、ユーザＡはＨＭＤ１１０を装着していることを特定した上で、イベント情報を装着センサ１１５から受信するまで待機する。
【０１４０】
次に、図１２に戻ると、制御部１２１は、ユーザＡがＨＭＤ１１０を取り外した（換言すれば、ユーザＡがＨＭＤ１１０を装着していない）と判定した場合に（ステップＳ３０ＹＥＳ）、ユーザＡがＨＭＤ１１０を装着していないことを示す情報（非装着情報）を生成する（ステップＳ３１）。その後、制御部１２１は、通信ネットワーク３を介して非装着情報をサーバ２に送信する（ステップＳ３２）。
【０１４１】
次に、サーバ２は、非装着情報をユーザ端末１Ａから受信した後に、通信ネットワーク３を介して非装着情報をユーザ端末１Ｂに送信する（ステップＳ３３）。その後、ユーザ端末１Ｂの制御部１２１は、非装着情報をサーバ２から受信した後に、仮想空間２００Ｂに配置されたアバター４Ａの顔の表情をデフォルトの顔の表情（換言すれば、デフォルト設定された顔の表情）に設定する（ステップＳ３４）。ここで、アバター４Ａのデフォルトの顔の表情とは、アバター４Ａの顔の表情の更新を開始する前の初期状態におけるアバター４Ａの顔の表情をいう。デフォルトの顔の表情が笑顔の場合、図１４に示すように、アバター４Ａの顔の表情は笑顔に設定される。また、制御部１２１は、アバター４Ｂの制御情報に基づいて、アバター４Ｂの動作（アバター４Ｂの顔の表情を含む）を更新する。
【０１４２】
尚、ステップＳ３４において、制御部１２１は、ユーザＡがＨＭＤ１１０を装着していないことを示す態様として、アバター４Ａの顔の表情をユーザＡによって予め選択された表情に設定してもよい。この場合、ユーザＡによって選択されたアバター４Ａの表情に関する情報がユーザ端末１Ａからユーザ端末１Ｂに送信された上で、ユーザ端末１Ｂの記憶部１２３に予め保存されてもよい。
【０１４３】
次に、制御部１２１は、図１４に示すように、アバター４Ａに関連付けられた吹き出しオブジェクト４２Ａを仮想空間２００Ｂに生成する。吹き出しオブジェクト４２Ａには、ユーザＡがＨＭＤ１１０を装着していないことを示す情報（例えば、「ユーザＡは退席中です。」等）が表示される。
【０１４４】
尚、制御部１２１は、吹き出しオブジェクト４２Ａの代わりに、テロップオブジェクト４３Ａを仮想空間２００Ｂに生成してもよい（図１５参照）。図１５に示すように、テロップオブジェクト４３Ａには、ユーザＡがＨＭＤ１１０を装着していないことを示す情報（例えば、「ユーザＡは退席中です。」等）が表示される。テロップオブジェクト４３Ａは、アバター４Ａの近くに配置されてもよいし、アバター４Ｂの視野ＣＶ内に常に配置されるように、アバター４Ｂの視野ＣＶの動きに連動してもよい。さらに、ユーザＡがＨＭＤ１１０を装着していないことを示す情報を示すテロップがＨＭＤ１１０に表示される視野画像上に重畳されてもよい。
【０１４５】
その後、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ３６）。
【０１４６】
一方、ユーザ端末１Ａの制御部１２１は、通信ネットワーク３を介して非装着情報をサーバ２に送信した後に、アクティブモードからスリープモードに移行する（ステップＳ３７）。この場合、制御部１２１のモードがスリープモードである一方、センサ（装着センサ１１５又はＨＭＤセンサ１１４）のモードはアクティブモードであることが好ましい。
【０１４７】
本実施形態によれば、ユーザＡがＨＭＤ１１０を装着していない場合に、ユーザ端末１ＢによってユーザＡがＨＭＤ１１０を装着していないことがユーザＢに提示される。特に、本実施形態によれば、ユーザＡがＨＭＤ１１０を装着していない場合に、ユーザＡがＨＭＤ１１０を装着していないことを示す情報がユーザ端末１ＢのＨＭＤ１１０に表示される視野画像上において可視化される。この点において、表情がデフォルトの表情に設定されたアバター４Ａと吹き出しオブジェクト４２Ａがユーザ端末１ＢのＨＭＤ１１０に表示される視野画像上において可視化される。
【０１４８】
このように、ユーザＢは、仮想空間２００Ｂ上においてユーザＡとコミュニケーションを行っているときに、アバター４Ａのデフォルトの表情（例えば、笑顔）及び吹き出しオブジェクト４２Ａに表示された情報を視認することで、ユーザＡがＨＭＤ１１０を装着していないことを容易に把握することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【０１４９】
特に、ユーザＢは、ユーザＡがＨＭＤ１１０を装着していないことを把握してなければ、リアクションを示さないユーザＡに対して違和感を抱く場合がある。このように、ユーザＡがＨＭＤ１００を装着していないことをユーザＢに把握させることで、ユーザＢがリアクションを示さないユーザＡに対して違和感（例えば、不気味の谷現象）を抱くといった状況を回避することが可能となる。
【０１５０】
また、本実施形態によれば、ユーザ端末１Ａのセンサ（ＨＭＤセンサ１１４又は装着センサ１１５）から送信された情報（傾き情報又はイベント情報）に応じて、ユーザＡがＨＭＤ１１０を装着していないことが特定される。その後、ユーザＡがＨＭＤ１１０を装着していないことを示す非装着情報がサーバ２に送信される。このように、ユーザ端末１Ａのセンサから出力された情報に応じて、ユーザＡがＨＭＤ１１０を装着していないことを自動的に特定することが可能となる。
【０１５１】
尚、本実施形態では、ユーザ端末１Ａは、サーバ２を介して非装着情報をユーザ端末１Ｂに送信しているが、非装着情報に代わって、ＨＭＤセンサ１１４から送信された傾き情報をユーザ端末１Ｂに送信してもよい。この場合、ユーザ端末１Ｂの制御部１２１は、受信した傾き情報に基づいて、ユーザＡがＨＭＤ１１０を装着していないことを特定した上で、ステップＳ３４からＳ３６に規定される処理を実行してもよい。
【０１５２】
次に、図１６及び図１７を主に参照することで、ＨＭＤ１１０を取り外したユーザＡがＨＭＤ１１０を再び装着した場合における本実施形態に係る情報処理方法について説明する。図１６は、ユーザＡがＨＭＤ１１０を再び装着した場合における本実施形態に係る情報処理方法を説明するためのフローチャートの一例である。図１７は、本実施形態に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。
【０１５３】
図１６を参照すると、ステップＳ４０において、ユーザ端末１Ａの制御部１２１は、ユーザＡが再びＨＭＤ１１０を装着したかどうかを判定する。この点において、制御部１２１は、ＨＭＤセンサ１１４から送信されたＨＭＤ１１０の傾き情報又は装着センサ１１５から送信されたイベント情報に基づいて、ユーザＡがＨＭＤ１１０を再び装着したかどうかを判定してもよい。例えば、制御部１２１は、装着センサ１１５からイベント情報を受信したと判定した場合に、ユーザＡがＨＭＤ１１０を装着したことを特定した上で、ステップＳ４１の処理を実行する。一方、制御部１２１は、装着センサ１１５からイベント情報を受信していないと判定した場合に、ユーザＡはＨＭＤ１１０を装着していないことを特定した上で、イベント情報を装着センサ１１５から受信するまで待機する。
【０１５４】
ステップＳ４０の判定結果がＹＥＳの場合、制御部１２１は、スリープモードからアクティブモードに移行する（ステップＳ４１）。次に、アクティブモードに移行した制御部１２１は、アバター４Ａの制御情報を生成すると共に、ユーザＡがＨＭＤ１１０を装着したことを示す装着情報を生成する（ステップＳ４２）。その後、制御部１２１は、通信ネットワーク３を介してアバター４Ａの制御情報と装着情報をサーバ２に送信する（ステップＳ４３）。
【０１５５】
次に、サーバ２は、アバター４Ａの制御情報と装着情報をユーザ端末１Ａから受信した後に、通信ネットワーク３を介してアバター４Ａの制御情報と装着情報をユーザ端末１Ｂに送信する（ステップＳ４４）。その後、ユーザ端末１Ｂの制御部１２１は、アバター４Ａの制御情報に基づいてアバター４Ａの動作を更新する共に、アバター４Ｂの制御情報に基づいてアバター４Ｂの動作を更新する（ステップＳ４５）。特に、制御部１２１は、アバター４Ａの制御情報に含まれるアバター４Ａの顔情報に基づいて、アバター４Ａの顔の表情を更新すると共に、アバター４Ｂの制御情報に含まれるアバター４Ｂの顔情報に基づいて、アバター４Ｂの顔の表情を更新する。
【０１５６】
次に、制御部１２１は、図１７に示すように、アバター４Ａに関連付けられた吹き出しオブジェクト４４Ａを仮想空間２００Ｂに生成する（ステップＳ４６）。吹き出しオブジェクト４４Ａには、ユーザＡがＨＭＤ１１０を装着したことを示す情報（例えば、「ユーザＡは席に戻りました。」等）が表示される。
【０１５７】
その後、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ４７）。
【０１５８】
本実施形態によれば、ユーザＡがＨＭＤ１１０を取り外した後に再び装着した場合、ユーザ端末１ＢによってユーザＡがＨＭＤ１１０を装着していることがユーザＢに提示される。このように、ユーザＢは、更新されたアバター４Ａの表情と吹き出しオブジェクト４４Ａを視認することで、ユーザＡがＨＭＤ１１０を再び装着したことを容易に把握することができる。従って、ユーザにリッチな仮想体験を提供することができる。
【０１５９】
尚、本実施形態の説明では、ユーザＡがＨＭＤ１１０を装着したこと又は装着していないことを示す情報が視野画像上に可視化されているが、本実施形態はこれには限定されない。例えば、ユーザＡがＨＭＤ１１０を装着していないことを示す音声案内（例えば、「ユーザＡは退席しました。」等）やユーザＡがＨＭＤ１１０を装着したことを示す音声案内（例えば、「ユーザＡは席に戻りました。」等）がユーザ端末１Ｂのヘッドフォン１１６（音声出力部）から出力されてもよい。この場合、ユーザ端末１Ａの制御部１２１は、サーバ２を介して非装着情報（又は装着情報）と共に音声案内データをユーザ端末１Ｂに送信する。
【０１６０】
また、本実施形態の説明では、仮想空間２００Ｂを示す仮想空間データがユーザ端末１Ｂ側で更新されていることを前提としているが、仮想空間データはサーバ２側で更新されてもよい。さらに、視野画像に対応する視野画像データがユーザ端末１Ｂ側で更新されていることを前提としているが、視野画像データはサーバ２側で更新されてもよい。この場合、ユーザ端末１Ｂは、サーバ２から送信された視野画像データに基づいて、ＨＭＤ１１０に視野画像を表示する。
【０１６１】
また、図１２及び１６に示す各ステップで規定される処理の順番はあくまでも一例であって、これらのステップの順番は適宜変更可能である。
【０１６２】
（変形例１）
次に、図１８から図２５を参照して、ユーザＡのＨＭＤ１１０を取り外した場合における本実施形態に係る情報処理方法の変形例１について説明する。図１８は、変形例１に係る情報処理方法を説明するためのフローチャートの一例である。図１９、２０、２２及び２３は、変形例１に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。図２１は、変形例１に係る情報処理方法を説明するためのユーザＡに関連付けられたユーザ端末５の表示例を示す図である。図２４は、ユーザＡが既読情報の受信から一定時間内にＨＭＤを装着していない場合における変形例１に係る情報処理方法を説明するためのフローチャートの一例である。
【０１６３】
図１８を参照すると、ユーザ端末１Ａの制御部１２１は、ユーザＡがＨＭＤ１１０を取り外したかどうかを判定する（ステップＳ５０）。ＨＭＤセンサ１１４を用いてユーザＡがＨＭＤ１１０を取り外したかどうかを判定する処理については、上記の実施形態において説明した通りであるため、その詳細な説明は省略する。
【０１６４】
ステップＳ５０において、ユーザＡがＨＭＤ１１０を取り外した（換言すれば、ユーザＡがＨＭＤ１１０を装着していない）と判定した場合に（ステップＳ５０のＹＥＳ）、制御部１２１は、ユーザＡがＨＭＤ１１０を装着していないことを示す情報（非装着情報）を生成する（ステップＳ５１）。その後、制御部１２１は、通信ネットワーク３を介して非装着情報をサーバ２に送信する（ステップＳ５２）。尚、ステップＳ５１において、制御部１２１は、ＨＭＤ１１０と外部コントローラ３２０との位置関係を示す位置関係情報を生成し、当該位置関係情報を非装着情報と共にサーバ２に送信してもよい。
【０１６５】
次に、サーバ２は、非装着情報をユーザ端末１Ａから受信した後に、通信ネットワーク３を介して非装着情報をユーザ端末１Ｂに送信する（ステップＳ５３）。
【０１６６】
一方、ユーザ端末１Ａの制御部１２１は、通信ネットワーク３を介して非装着情報をサーバ２に送信した後に、アクティブモードからスリープモードに移行する（ステップＳ５４）。この場合、制御部１２１のモードがスリープモードである一方、センサ（装着センサ１１５又はＨＭＤセンサ１１４）のモードはアクティブモードであることが好ましい。
【０１６７】
次に、ユーザ端末１Ｂの制御部１２１は、サーバ２から受信した非装着情報に基づいて、仮想空間２００Ｂに配置されたアバター４Ａの姿勢をデフォルトの姿勢（換言すれば、デフォルト設定された姿勢）に設定する（ステップＳ５５）。変形例１では、仮想空間が、マルチプレイの相手を探す場であるルームである場合を想定して説明するが、これに限定されるものではない。ここで、アバター４Ａのデフォルトの姿勢とは、アバター４Ａの初期状態における姿勢をいう。デフォルトの姿勢が、横たわった状態である場合、図１９に示すように、アバター４Ａの姿勢は床に横たわった状態に設定される。
【０１６８】
尚、ステップＳ５５において、制御部１２１は、ユーザＡがＨＭＤ１１０を装着していないことを示す態様として、アバター４Ａの姿勢をユーザＡによって予め選択された姿勢に設定してもよい。この場合、ユーザＡによって選択されたアバター４Ａの姿勢に関する情報がユーザ端末１Ａからユーザ端末１Ｂに送信された上で、ユーザ端末１Ｂの記憶部１２３に予め保存されてもよい。
【０１６９】
また、ユーザ１Ｂが、ＨＭＤ１１０と外部コントローラ３２０との位置関係を示す位置関係情報を受信している場合には、ステップＳ５５において、制御部１２１は、アバター４Ａの姿勢を当該位置関係情報に基づいて設定してもよい。すなわち、ユーザＡがＨＭＤ１１０を装着していない場合には、ＨＭＤ１１０および外部コントローラ３２０が現実空間の床や机に置かれている場合が多い。この場合は、仮想空間２００Ｂのアバター４Ａは、ＨＭＤ１１０と外部コントローラ３２０との位置関係情報に基づいて、床の上に潰れているような姿勢となるように設定され得る。
【０１７０】
次に、ユーザ端末１Ｂの制御部１２１は、仮想空間２００Ｂに配置されたアバター４Ａの顔の表情をデフォルトの顔の表情（換言すれば、デフォルト設定された顔の表情）に設定する（ステップＳ５６）。デフォルトの顔の表情が目を閉じた状態である場合、図１９に示すように、アバター４Ａの顔の表情は目を閉じた状態に設定される。
【０１７１】
尚、ステップＳ５６において、制御部１２１は、ユーザＡがＨＭＤ１１０を装着していないことを示す態様として、アバター４Ａの顔の表情をユーザＡによって予め選択された表情に設定してもよい。この場合、ユーザＡによって選択されたアバター４Ａの表情に関する情報がユーザ端末１Ａからユーザ端末１Ｂに送信された上で、ユーザ端末１Ｂの記憶部１２３に予め保存されてもよい。
【０１７２】
次に、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ５７）。
【０１７３】
このように、仮想空間２００Ｂにおいてアバター４Ａの姿勢および顔の表示がデフォルト設定の状態（目を閉じて横たわった状態）で表示されていることで、ユーザＢは、ユーザＡがＨＭＤ１１０を装着しておらず、仮想空間２００Ｂに提供されるコンテンツに参加していないことを容易に認識することができる。
【０１７４】
次に、ユーザ端末１Ｂの制御部１２１は、ステップＳ５６で視野画像を更新した後に、仮想空間２００Ｂにおいて、ユーザＢに関連付けられたアバター４ＢがユーザＡに関連付けられたアバター４Ａに対して特定アクション（第１アクションの一例）を実行したかどうかを判定する（ステップＳ５８）。
【０１７５】
アバター４Ｂがアバター４Ａに対して実行する特定アクションは、例えば、アバター４Ａとアバター４Ｂとの身体的干渉を伴う動作を含む。アバター４Ａとアバター４Ｂとの身体的干渉は、他のオブジェクトとの衝突を検出するためのコライダ（コリジョンオブジェクト）を用いて検知される。図示は省略するが、コライダは、アバター４Ａ，４Ｂの身体に関連付けられており、アバター４Ａとアバター４Ｂとのコリジョン判定（当たり判定）に供される。例えば、コライダが設定されたアバター４Ｂの仮想手４００がコライダが設定されたアバター４Ａに接触することで、アバター４Ｂとアバター４Ａとが接触したことが判定される。コライダは、アバター４Ａ，４Ｂの身体の全体範囲に設定されてもよく、アバター４Ａ，４Ｂの身体の特定箇所（例えば、手、足、頭、肩、腰など）に設定されてもよい。特に、仮想手４００においては各指先にコライダが設定されており、当たり判定もそれぞれの指において独立に検知されることが好ましい。これにより、他のオブジェクトと指との当たり判定を正確に行うことができる。尚、コライダは、透明体として構成されており、視野画像Ｖ（図８）内に表示されるものではない。
【０１７６】
尚、上記の例では、制御部１２１は、アバター４Ｂの動き（例えば、仮想手４００の動き）に基づいてアバター４Ａに対するアバター４Ｂの当たり判定を特定しているが、この例に限られない。例えば、制御部１２１は、ユーザＢの動き（例えば、ユーザＢの手の動き）に基づいてアバター４Ａに対する当たり判定を特定してもよい。
【０１７７】
身体的干渉を伴う動作を含む特定アクションとは、例えば、アバター４Ｂが仮想手４００を用いてアバター４Ａに触れる動作の他、アバター４Ａの身体を掴んで揺さぶる動作や、アバター４Ａを叩く（例えば、アバター４Ａの顔や肩を平手打ちする）動作等を含み得る。特定アクションは、反復運動を含んだ動作、すなわち、仮想手４００の反復運動の過程でアバター４Ａに接触する動作としてもよい。このようにすれば、アバター４ＢがユーザＢの誤操作により誤ってアバター４Ａに触れてしまった場合であっても、特定アクションではないことを検知でき、仮想手４００の動作の誤検知を防止することができる。
【０１７８】
例えば、図２０に示すように、アバター４Ｂが仮想手４００によりアバター４Ａの身体（例えば、胴体）を掴んだ状態で、仮想手４００の反復運動がなされた場合には、制御部１２１は、特定アクションとして揺さぶり動作が実行されたと特定する。仮想手４００によるアバター４Ａの身体の掴み（選択）は、例えば、仮想手４００のコライダとアバター４Ａの身体のコライダとが接触された状態で、ユーザＢが外部コントローラ３２０の図示せぬキーを操作（押下）することで実現できる。この揺さぶり動作は、一定値以上の加速度での仮想手４００の反復運動の過程におけるアバター４Ａへの接触動作を含んでもよい。例えば、図２０に示す状態の場合、仮想手４００でアバター４Ａの身体を掴んだ状態で、仮想手４００をｚ軸方向に往復移動させ、＋ｚ軸方向における加速度が一定値以上であり、かつ、−ｚ軸方向における加速度が一定値以上である状態が連続して所定回数以上続く場合、揺さぶり動作としてもよい。但し、仮想手４００を往復移動させる方向はｚ軸方向に限定されるものではなく、任意の方向でよい。また、揺さぶり動作は、仮想手４００がアバター４Ａに関連付けられた１以上の相対座標を一定時間内に所定の回数以上往復する動作を含んでもよい。例えば、図２０に示す状態の場合、１以上の相対座標は、仮想手４００で掴まれたアバター４Ａの身体の箇所を基準に、＋ｚ軸方向の任意の位置に設けられた第１の相対座標、及び−ｚ軸方向の任意の位置に設けられた第２の相対座標が挙げられる。この例では、仮想手４００でアバター４Ａの身体を掴んだ状態で、仮想手４００をｚ軸方向に往復移動させ、第１の相対座標を一定時間内に所定の回数以上往復するとともに、第２の相対座標を一定時間内に所定の回数以上往復する場合、揺さぶり動作としてもよい。但し、仮想手４００を往復移動させる方向はｚ軸方向に限定されるものではなく、任意の方向でよい。この場合、仮想手４００に対する相対座標も、任意の方向に対して設ければよい。
【０１７９】
尚、ユーザＢ自身が揺さぶりと認識して行った動作について、特定アクションが実行されたと判定することが好ましい。つまり、揺さぶる方向は、画一的ではなく、ユーザによって異なることが想定されるため、仮想手４００の移動方向はいずれの方向であってもよく、特定の方向に限定する必要はない。ただし、特定アクションの動作を厳密に判定したり、アバター４Ｂの動作にリアリティを持たせたりする（例えば、仮想手４００のアバター４Ａに対するめり込み等を防止する）必要がある場合には、制御部１２１は、仮想手４００の移動方向を加味して、特定の方向に反復運動がなされた場合に揺さぶり動作があったものと判定してもよい。
【０１８０】
一方、アバター４Ｂが仮想手４００によりアバター４Ａの身体を掴んでいない状態で、仮想手４００が一定加速度以上でアバター４Ａへ接触（コライダ衝突）した場合には、制御部１２１は、特定アクションとして叩き動作が実行されたと特定する。仮想手４００の動作の誤検知を防止するため、叩き動作は、特に仮想手４００の一定加速度以上の反復運動がなされると共に当該反復運動の過程におけるアバター４Ａへの複数回の接触動作（コライダ衝突）を含むことが好ましい（具体的には、往復ビンタ動作）。例えば、図１９に示す状態の場合、仮想手４００をｙ軸方向に往復移動させ、＋ｙ軸方向における加速度が一定値以上であり、かつ、−ｙ軸方向における加速度が一定値以上である状態で、仮想手４００のコライダとアバター４Ａの顔のコライダとの接触が所定回数以上起こると、叩き動作としてもよい。但し、仮想手４００を往復移動させる方向はｙ軸方向に限定されるものではなく、任意の方向でよい。この往復ビンタ動作は、例えば、アバター４Ｂの仮想手４００がアバター４Ａに関連付けられた相対座標を一定時間内に所定の回数以上往復するとともに、一定時間内にアバター４Ａへの複数回の接触動作（当たり判定）があったことにより特定されてもよい。例えば、図１９に示す状態の場合、１以上の相対座標は、アバター４Ａの顔を基準に、＋ｙ軸方向の任意の位置に設けられた第１の相対座標、及び−ｙ軸方向の任意の位置に設けられた第２の相対座標が挙げられる。この例では、仮想手４００をｙ軸方向に往復移動させ、第１の相対座標を一定時間内に所定の回数以上往復するとともに、第２の相対座標を一定時間内に所定の回数以上往復する状態で、仮想手４００のコライダとアバター４Ａの顔のコライダとの接触が所定回数以上起こると、叩き動作としてもよい。但し、仮想手４００を往復移動させる方向はｙ軸方向に限定されるものではなく、任意の方向でよい。この場合、仮想手４００に対する相対座標も、任意の方向に対して設ければよい。ただし、制御部１２１は、仮想手４００の移動方向を加味して、特定の方向に反復運動がなされた場合に叩き動作があったものと判定してもよい。
【０１８１】
尚、アバター４Ａは、アバター４Ｂの動きに追従して動作するように設定されてもよい。例えば、図２０に示すように、アバター４Ｂがアバター４Ａに対して揺さぶり動作を実行した場合には、制御部１２１は、アバター４Ａが当該揺さぶり動作に追従して揺さぶられるようにアバター４Ａの動きを設定し得る。ただし、アバター４Ｂがアバター４Ａに対して揺さぶり動作や叩き動作を行った場合に、アバター４Ａがその動きに追従しない、すなわち、動かないように設定してもよい。
【０１８２】
次に、制御部１２１は、アバター４Ｂがアバター４Ａに対して特定アクションを実行したと判定した場合に（ステップＳ５８のＹＥＳ）、ユーザＢにより当該特定アクションが実行されたことを示す情報（アクション実行情報）を生成する（ステップＳ６０）。その後、制御部１２１は、通信ネットワーク３を介してアクション実行情報をサーバ２に送信する（ステップＳ６１）。
【０１８３】
次に、サーバ２は、ユーザ端末１Ｂから受信したアクション実行情報に基づいて、ユーザＡに仮想空間２００で提供されるコンテンツへの参加を打診するための参加打診通知に関する情報（参加打診通知情報）を生成する（ステップＳ６２）。参加打診通知とは、ＨＭＤ１１０を取り外しているユーザＡに、仮想空間２００で提供されるコンテンツへ参加することを打診するための通知である。参加打診通知情報には、例えば、特定アクションを実行したアバター４Ｂの識別情報、特定アクションを受けたアバター４Ａの識別情報に加えて、特定アクションの種類や特定アクションの動作の強度等が含まれてもよい。
【０１８４】
次に、サーバ２は、生成された参加打診通知情報に基づき、ユーザＡの個人情報を特定する（ステップＳ６３）。例えば、ユーザＡの個人情報（例えば、メールアドレスやＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）アドレス等）がサーバ２の記憶部２２に記憶された情報テーブルに予め登録され、アバター４Ａの識別情報と関連付けられて管理されている。ステップＳ６３において、サーバ２は、記憶部２２に記憶された情報テーブルを参照して、参加打診通知情報に含まれるアバター４Ａの識別情報に基づき、ユーザＡの個人情報を取得する。但し、ユーザＡの個人情報は、サーバ２とは異なるサーバで管理されていてもよい。サーバ２とは異なるサーバとしては、例えば、個人情報が登録されたユーザに対してゲームプログラムを配信可能なサーバ、即ち、ゲーム配信のプラットフォームの役割を担うサーバなどが挙げられるが、これに限定されるものではない。
【０１８５】
次に、サーバ２は、ステップＳ６３において取得した送信先（例えば、ユーザＡのメールアドレス）へ、参加打診通知情報を送信する（ステップＳ６４）。ユーザＡへの参加打診通知情報の送信方法としては、例えば、電子メール、チャット、ＳＮＳ等のコミュニケーションツールを用いることができる。
【０１８６】
次に、ユーザ端末５は、参加打診通知情報をコミュニケーションツールにより受信し、参加打診通知情報の受信通知を表示部６に表示する（ステップＳ６５）。ユーザ端末５は、ユーザＡが所有する端末機器であり、例えば、スマートフォン、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、タブレットまたはファブレット型コンピュータ、ウェアラブルデバイス等の携帯可能な端末であってもよいし、パーソナルコンピュータ、ビデオゲーム機器等であってもよい。
【０１８７】
次に、ユーザ端末５は、受信通知を見たユーザＡによる入力操作に基づき、コミュニケーションツールを起動し、図２１に示すように、メッセージＭ１を表示部６に表示する（ステップＳ６６）。メッセージＭ１は、ユーザＢがユーザＡに対して仮想空間２００への参加を打診していることを示す情報（例えば、「たった今、［コンテンツ名（例えば、仮想空間２００に提供されるコンテンツの名前）］の中で［相手プレイヤ名（例えば、ユーザＢ）］からコミュニケーションを受けています。［コンテンツ］を起動させて、会いに行きましょう！」等）を含む。尚、ユーザ端末５がパーソナルコンピュータやビデオゲーム機器であり、これらの機器のディスプレイにも仮想空間２００で提供されるコンテンツの映像が表示されている場合には、そのディスプレイ上に参加打診通知に関するメッセージを表示してもよい。また、メッセージＭ１は、ユーザ端末１ＡのＨＭＤ１１０の装着をユーザＡに促すメッセージであってもよい。
【０１８８】
次に、ユーザ端末５は、メッセージＭ１が表示部６に表示されたことに基づき、ユーザＡがメッセージＭ１を読了したと判定し、メッセージＭ１が既読となったことを示す既読情報を生成する（ステップＳ６７）。既読情報は、メッセージＭ１に対するユーザＡのリアクションに基づいて生成されるものであり、例えば、メール返信や「いいね！」ポイントの付与等に基づいて生成されてもよい。その後、ユーザ端末５は、通信ネットワークを介して既読情報をサーバ２に送信する（ステップＳ６８）。
【０１８９】
次に、サーバ２は、既読情報をユーザ端末５から受信した後に、通信ネットワーク３を介して既読情報をユーザ端末１Ｂに送信する（ステップＳ６９）。
【０１９０】
次に、ユーザ端末１Ｂの制御部１２１は、サーバ２から受信した既読情報に基づいて、仮想空間２００Ｂに配置されたアバター４Ａの顔の表情を更新された顔の表情に設定する（ステップＳ７０）。例えば、制御部１２１は、図２２に示すように、目を閉じた状態（第１状態の一例）であったアバター４Ａの表情を、目を開けた状態（第２状態の一例）に更新する。
【０１９１】
尚、ステップＳ７０において、制御部１２１は、サーバ２から受信した既読情報に基づいて、アバター４Ａの姿勢を更新してもよい。例えば、横たわっていた状態のアバター４Ａの姿勢を座っている状態に更新してもよい。
【０１９２】
次に、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ７１）。これにより、ユーザＢは、アバター４Ａが目を開けた状態となったことを視認することで、ユーザＡが参加打診通知に対するリアクションを行ったことを容易に把握することができる。
【０１９３】
一方、ステップＳ７２において、サーバ２は、ユーザ端末１Ｂに加えて、ユーザ端末１Ａに対しても既読情報を送信する。
【０１９４】
次に、ユーザ端末１Ａの制御部１２１は、既読情報の受信から一定時間内に、ユーザＡがＨＭＤ１１０を装着したかどうかを判定する（ステップＳ７３）。制御部１２１は、ＨＭＤセンサ１１４から送信されたＨＭＤ１１０の傾き情報又は装着センサ１１５から送信されたイベント情報に基づいて、ユーザＡがＨＭＤ１１０を装着したかどうかを判定してもよい。ユーザＡがＨＭＤ１１０を装着したかどうかの判定は、ＨＭＤセンサ１１４で取得されるＨＭＤ１１０の傾き（ロール角、ヨー角、ピッチ角）を示す傾き情報に基づいて、ＨＭＤ１１０の傾きが所定の傾きよりも小さいかどうかで判定し得る。上述の通り、ユーザＡがＨＭＤ１１０を装着している間では、ＨＭＤ１１０の傾きは所定の傾き以下となるため、ＨＭＤ１１０の傾きが所定の傾きよりも小さい場合には、ユーザＡがＨＭＤ１１０を装着していることが特定される。
【０１９５】
ステップＳ７３においてユーザＡがＨＭＤ１１０を装着したと判定された場合には（ステップＳ７３のＹＥＳ）、ユーザ端末１Ａの制御部１２１は、スリープモードからアクティブモードに移行する（ステップＳ７４）。次に、アクティブモードに移行した制御部１２１は、アバター４Ａの制御情報を生成すると共に、ユーザＡがＨＭＤ１１０を装着したことを示す装着情報を生成する（ステップＳ７５）。その後、制御部１２１は、通信ネットワーク３を介してアバター４Ａの制御情報と装着情報をサーバ２に送信する（ステップＳ７６）。
【０１９６】
次に、サーバ２は、アバター４Ａの制御情報と装着情報をユーザ端末１Ａから受信した後に、通信ネットワーク３を介してアバター４Ａの制御情報と装着情報をユーザ端末１Ｂに送信する（ステップＳ７７）。
【０１９７】
次に、ユーザ端末１Ｂの制御部１２１は、アバター４Ａの制御情報に基づいてアバター４Ａの動作を更新する共に、アバター４Ｂの制御情報に基づいてアバター４Ｂの動作を更新する（ステップＳ７８）。特に、制御部１２１は、アバター４Ａの装着情報に基づいて、アバター４Ａの姿勢を更新する。また制御部１２１は、アバター４Ｂの制御情報に含まれるアバター４Ｂの顔情報に基づいて、アバター４Ｂの顔の表情を更新してもよい。具体的には、制御部１２１は、例えば、図２３に示すように、アバター４Ａの姿勢を、起き上がった状態（第３状態の一例）に設定する。
【０１９８】
尚、図１７に示す実施形態と同様に、制御部１２１は、アバター４Ａに関連付けられた吹き出しオブジェクトを仮想空間２００Ｂに生成してもよい。吹き出しオブジェクトには、ユーザＡがＨＭＤ１１０を装着したことを示す情報（例えば、「ユーザＡは席に戻りました。」等）が表示される。
【０１９９】
その後、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ７９）。
【０２００】
一方、ステップＳ７３において、既読情報の受信から一定時間内に、ユーザＡがＨＭＤ１１０を装着していないと判定された場合には（ステップＳ７３のＮＯ）、図２４の処理に進む。次に、図２４に示すように、制御部１２１は、ユーザＡがＨＭＤ１１０を装着していないことを示す非装着情報を生成する（ステップＳ８０）。その後、制御部１２１は、通信ネットワーク３を介して非装着情報をサーバ２に送信する（ステップＳ８１）。
【０２０１】
次に、サーバ２は、非装着情報をユーザ端末１Ａから受信した後に、通信ネットワーク３を介して非装着情報をユーザ端末１Ｂに送信する（ステップＳ８２）。
【０２０２】
次に、ユーザ端末１Ｂの制御部１２１は、サーバ２から受信した非装着情報に基づいて、仮想空間２００Ｂに配置されたアバター４Ａの顔の表情をデフォルトの表情に設定する（ステップＳ８３）。例えば、デフォルトの顔の表情が目を閉じた状態である場合、図１９に示すように、アバター４Ａの顔の表情は目を閉じた状態に更新される。なお、ステップＳ８３の処理は、ユーザ端末１Ｂの制御部１２１が、既読情報の受信から一定時間を計測し、一定時間内にアバター４Ａの制御情報と装着情報を受信しなければ、アバター４Ａの顔の表情をデフォルトの表情に設定するようにしてもよい。尚、図１８のステップＳ７０において既読情報に基づいてアバター４Ａの目が開いた状態となっている場合には、本ステップＳ８３においてアバター４Ａの顔の表情は目を閉じた状態に戻される。一方、参加打診通知が既読になっていない場合（ステップＳ６６のＮＯの場合）には、アバター４Ａは目を閉じた状態が維持されているため、本ステップＳ８３においてアバター４Ａの顔の表情は変更されない。
【０２０３】
その後、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ８４）。
【０２０４】
以上説明したように、変形例１に係る情報処理方法によれば、ユーザＢの動きに応じて仮想空間２００内で仮想手４００を動かすステップと、ユーザＡの動きに基づいて仮想空間２００内での動作が制御可能なアバター４Ａに対して、仮想手４００による揺さぶり動作等のアクション（第１アクション）を実行するステップと、当該アクションの実行に基づいて、ユーザＡ（に関連付けられたユーザ端末５）に対して仮想空間２００への参加を打診する参加打診通知の送信（第２アクション）を実行するステップと、を含む。この方法によれば、仮想手４００を用いた直感的な操作により、仮想空間２００を共有する複数のユーザＡ，Ｂ間で所定のアクションを実行することで、仮想空間２００内でのコミュニケーションを、ユーザの没入感を損なうことなく円滑に行うことができる。このように、変形例１によれば、ユーザ間でのコミュニケーションのために、メニュー操作やキー操作を必要としないユーザ・インタフェース（いわゆる、ダイエジェティックＵＩ）を提供することで、ユーザの仮想体験を向上させることができる。
【０２０５】
特に、ユーザＢからアバター４Ａに対して実行された特定アクションに基づいてユーザＡに関連付けられたユーザ端末５へ参加打診通知を送信することで、ユーザＢから仮想空間２００に提供されるコンテンツへの参加が打診されていることをユーザＡが容易に認識することができる。これにより、仮想空間２００において複数ユーザが同時にプレイする必要のあるコンテンツ（例えば、マルチプレイゲーム）の利用を促進させることができる。
【０２０６】
また、変形例１に係る情報処理方法においては、ユーザＡによりアバター４Ａが制御されていない状態（すなわち、ユーザＡがＨＭＤ１１０を装着していない状態）においてユーザＢによるアバター４Ａに対する特定アクションが実行された場合に、参加打診通知がユーザＡに送信される。そのため、ＨＭＤ１１０を装着していない状態のユーザＡを仮想空間２００で提供されるコンテンツへ誘引させることができ、コンテンツへの参加をさらに促進させることができる。特に、ＶＲゲームでは、ルームに待機しているユーザ（アバター）が少ない場合、即ち、マルチプレイの相手の候補者が少ない場合、ユーザ（アバター）はとりあえずルームに入室するが、マルチプレイの候補者が現れるまでＨＭＤを外して待機することが多いので、このような待機中のユーザをＶＲゲームのマルチプレイに効果的に誘引できる。
【０２０７】
また、変形例１に係る情報処理方法は、参加打診通知に対してユーザＡからリアクションが行われた場合（例えば、メッセージＭ１が既読になった場合）に、仮想空間２００Ｂ内のアバター４Ａを、目を閉じた状態（第１状態）から目を開けた状態（第２状態）へと遷移させるステップと、アバター４Ａが目を開けた状態へ遷移した後に、一定時間内にユーザＡによりアバター４Ａが制御されている状態になった場合には、仮想空間２００Ｂにおけるアバター４Ａを起立した状態（第３状態）へと遷移させるステップと、をさらに含んでもよい。これにより、ユーザＡからリアクションがあったことや、ユーザＡがＨＭＤ１１０を装着してアバター４Ａが制御されている状態となったことを、ユーザＢが容易に把握することができる。
【０２０８】
一方で、アバター４Ａが目を開けた状態へ遷移した後に、一定時間内にユーザＡによりアバター４Ａが制御されている状態にならない場合には、仮想空間２００Ｂにおけるアバター４Ａを、目を閉じた状態へと戻してもよい。これにより、参加打診通知を送信したにも関わらずユーザＡによりアバター４Ａが制御されている状態にならない（すなわち、ユーザＡがコンテンツに参加していない）ことを、ユーザＢが容易に把握することができる。そのため、ユーザＢは、アバター４Ａを再び揺さぶって仮想空間への参加を再度打診したり、仮想空間２００を共有するユーザＡ以外の他のユーザに関連付けられたアバターに対して仮想空間への参加を打診したりすることができる。
【０２０９】
尚、ユーザＡによりアバター４Ａが制御されていない状態とは、ユーザＡがＨＭＤ１１０を外している場合だけでなく、ユーザＡが仮想空間２００に提供されるコンテンツにそもそもログインしていない場合も含まれ得る。尚、ユーザＡがコンテンツにログインしていない場合は、通常、アバター４Ａは、ユーザＢのユーザ端末１Ｂで提供される仮想空間２００Ｂには存在しないが、ユーザＢがユーザＡをフレンド登録していれば、ユーザＡが当該コンテンツにログインしていなくてもユーザＡのアバター４Ａは仮想空間２００Ｂに存在させることができる。このフレンド登録の有無は、例えば、各ユーザの個人情報とともにサーバ２などに登録しておけばよい。この場合に、ユーザ端末１Ｂの制御部１２１は、ユーザＡがコンテンツにログインしていないことに基づいて、仮想空間２００Ｂに配置されたアバター４Ａの姿勢および表情をデフォルト設定することができる（図１８のステップＳ５４）。このように、コンテンツにログインしていない状態のユーザＡに関連付けられたアバター４Ａを仮想空間２００Ｂに存在させておき、アバター４Ｂからアバター４Ａへの特定アクションの実行に基づいて、ユーザＡへ参加打診通知を送信することで、ユーザＡをコンテンツへログインさせるための動機づけを提供することができる。
【０２１０】
また、アバター４Ｂによるアバター４Ａに対する特定アクションの動作の強度に応じて、参加打診通知（メッセージＭ１）の内容が異なっていてもよい。例えば、仮想手４００による動作の加速度に対して、複数のしきい値を段階的に設け、その加速度のしきい値に応じて、メッセージＭ１の内容を変更してもよい。例えば、メッセージＭ１に参加要望度に関する情報を含め、揺さぶり動作の強さに応じて、参加要望度に関する情報を変更してもよい。具体的には、揺さぶり動作が激しい場合には、メッセージＭ１としてユーザＢからの参加要望度が高いことを示す内容（例えば、「参加要望度：☆☆☆（星３つ）」）を表示するようにしてもよい。尚、仮想手４００がアバター４Ａに関連付けられた相対座標を通過する回数について所定のしきい値を設け、その通過回数のしきい値に応じて、特定アクションの動作の強度を特定してもよい。
【０２１１】
また、アバター４Ａに対して複数のアバターが同時に（あるいは協働して）特定アクションを行った場合に、メッセージＭ１の内容を変更してもよい。この場合は、アバターＡを複数のアバターにより同時に掴むことができるように、アバターＡの身体の特定箇所ごとに専用のコライダを設けておくことが好ましい。これにより、複数のアバターによるアバター４Ａの揺さぶり動作が可能となる。なお、このケースでは、アバター４Ａに対して特定アクションを行うユーザ数が多いほど、参加要望度を高くすることが好ましい。
【０２１２】
また、アバター４Ａに対して実行される特定アクションの種類に応じて、メッセージＭ１の内容が異なっていてもよい。例えば、アバター４Ｂがアバター４Ａを平手打ちした場合には、アバター４Ｂがアバター４Ａを揺さぶった場合に比べて、メッセージＭ１に表示される参加要望度を高くしてもよい。
【０２１３】
このように、アバター４Ｂによるアバター４Ａに対する特定アクションの動作の強度や特定アクションの種類に応じて、参加打診通知の内容を異ならせることにより、ユーザＡは、ユーザＢからのコンテンツへの参加要望度の高低を把握することができる。そのため、ユーザＡは、要望度の高さに応じてコンテンツへ参加するかどうかを決めることができる。
【０２１４】
また、本実施形態においては、アバター４Ｂによるアバター４Ａに対する特定アクションとして、身体的干渉を伴うアクションを例示しているが、この例に限られない。特定アクションは、ユーザＡを特定するためのアクションであればよく、例えば、アバター４Ｂからアバター４Ａに対して実行される特定アクションは、視線、声、レーザポインタ、顔の表情（笑顔、睨む等）、拍手などにより特定されてもよい。また、仮想空間２００Ｂに表示されるアバター一覧（ユーザ一覧）からユーザＢがコンテンツへの参加を打診したいアバター（ユーザ）を選択するようにしてもよい。すなわち、アバター４Ｂが実行する特定アクションは、アバター４Ａに対する直接的なアクションでもよく、間接的なアクションでもよい。また、直接的なアクションと間接的なアクションとを組み合わせてもよい。
【０２１５】
また、仮想空間２００に提供されるコンテンツの内容に応じて、参加打診通知の送信タイミングを異ならせてもよい。例えば、マルチプレイの開始に必要なユーザの人数が３人以上である場合には、ユーザ端末１Ｂの制御部１２１は、ユーザＢが、マルチプレイの開始に必要な人数の複数のアバターのうち最後のアバターに対して特定アクションを実行したと判定した場合に、ユーザ端末１Ｂの制御部１２１は、特定アクションを実行した複数のアバターにそれぞれ関連付けられた各ユーザに対して、まとめて参加打診通知を送信するようにしてもよい。尚、マルチプレイの開始に必要なユーザの人数が３人以上である場合であっても、ユーザ端末１Ｂの制御部１２１は、アバター４Ｂが各アバターに特定アクションを実行したタイミングで、各アバターに対して個別に参加打診通知を送信するようにしてもよい。
【０２１６】
また、上記の実施形態においては、参加打診通知に対するユーザＡのリアクション（例えば、参加打診通知に関するメッセージＭ１が既読となったこと）に基づいて、目を閉じていたアバター４Ａの顔の表情を、目を開けた状態に更新しているが、この例に限られない。例えば、アバター４Ｂによるアバター４Ａに対する特定アクションが実行されたことに基づいて、アバター４Ａの目を開けた状態に更新してもよい。これにより、アバター４Ａに対して特定アクションが適切に実行されたことを、ユーザＢが容易に把握することができる。尚、ユーザＡがＨＭＤ１１０を装着したことに基づいて、アバター４Ａの目を開けた状態に更新してもよい。
【０２１７】
また、変形例１に係る情報処理方法は、仮想空間２００内でユーザＢからユーザＡに対して身体的干渉を伴う所定のアクション（第１アクションの一例）を実行するステップと、当該アクションの実行に基づいて、ユーザＡに対する参加打診通知（第２アクションの一例）を実行するステップと、参加打診通知に対するユーザＡのリアクション（例えば、参加打診通知に関するメッセージＭ１が既読となったこと）に基づいて、仮想空間２００内でアバター４Ａの姿勢および／または顔の表情の更新（第３アクションの一例）を実行するステップと、を含む。この方法によれば、ユーザＡへ送信される参加打診通知に対するユーザＡのリアクションに基づいて、ユーザＡに関連付けられたアバター４Ａの仮想空間２００Ｂにおける姿勢や顔の表情を更新することで、仮想空間２００内でのユーザＡ，Ｂ間でのコミュニケーションを円滑に行うことができる。このように、現実空間での参加打診通知に対するユーザＡのリアクションを仮想空間２００へ反映させることで、現実空間と仮想空間との境界を曖昧にするようなシームレスな仮想体験を提供することができる。
【０２１８】
（変形例２）
次に、図２５から図２８を参照して、本実施形態に係る情報処理方法の変形例２について説明する。変形例２では、仮想空間２００（２００Ｂ）においてユーザＢのみがプレイするゲーム（いわゆるシングルプレイゲーム）が提供される場合のゲーム開始時の情報処理方法を例示する。図２５は、変形例２に係る情報処理方法を説明するためのフローチャートの一例である。図２６から図２８は、変形例２に係る情報処理方法を説明するためのユーザＢに提供される仮想空間２００Ｂの一例を示す図である。なお、図２６に示すように、変形例２においては、仮想空間２００Ｂは、アバター４Ｂとアバター４Ｃとを含んでいる。アバター４Ｃは、サーバ２により制御可能なアバター４Ｃ（いわゆる、Ｎｏｎ  Ｐｌａｙｅｒ  Ｃｈａｒａｃｔｅｒ（ＮＰＣ））である。
【０２１９】
図２５を参照して、まず、ユーザ端末１Ｂの制御部１２１は、ユーザＢによる操作に基づいて、ゲーム開始入力を受け付ける（ステップＳ１００）。次に、制御部１２１は、通信ネットワーク３を介して、サーバ２へゲーム開始入力情報を送信する（ステップＳ１０１）。
【０２２０】
次に、サーバ２は、制御部１２１から受信したゲーム開始入力情報に基づいて、記憶部２２からオープニングムービーのデータを読み出す（ステップＳ１０２）。なお、オープニングムービーは、ゲーム開始時に導入されるシナリオシーン（第１シーンの一例）として仮想空間２００Ｂで再生される映像である。次に、サーバ２は、通信ネットワーク３を介して、ユーザ端末１Ｂの制御部１２１へ、オープニングムービーのデータを送信する（ステップＳ１０３）。
【０２２１】
次に、ユーザ端末１Ｂの制御部１２１は、サーバ２から受信したオープニングムービーのデータに基づき、仮想空間２００Ｂにおいてオープニングムービーを再生する（ステップＳ１０４）。
【０２２２】
オープニングムービーの再生中または再生後に、ユーザ端末１Ｂの制御部１２１は、アバター４Ｃの姿勢および顔の表情をデフォルトの姿勢および顔の表情に設定する（ステップＳ１０５）。デフォルトの姿勢が横たわった状態であり、デフォルトの顔の表情が目を閉じた状態であるとすると、図２６に示すように、アバター４Ｃの姿勢は横たわった状態に設定され、アバター４Ｃの顔の表情は目を閉じた状態に設定される。
【０２２３】
次に、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ１０６）。
【０２２４】
次に、ステップＳ１０６での視野画像の更新の後で、制御部１２１は、ユーザＢに関連付けられたアバター４Ｂが、サーバ２に関連付けられたアバター４Ｃに対して特定アクション（第１アクションの一例）を実行したか否かを判定する（ステップＳ１０７）。特定アクションの判定処理については変形例１と同様であるためその詳細な説明は省略する。尚、アバター４Ｂによるアバター４Ｃへの特定アクションの実行を促すため、制御部１２１は、ステップＳ１０４におけるオープニングムービーの再生後に、「アバター４Ｃを起こしてください。」といった内容のメッセージを仮想空間２００Ｂへ表示してもよい。
【０２２５】
次に、制御部１２１は、アバター４Ｂがアバター４Ｃに対して特定アクションを実行したと判定した場合に（ステップＳ１０７のＹＥＳ）、ユーザＢにより特定アクションが実行されたことを示すアクション実行情報を生成する（ステップＳ１０８）。その後、制御部１２１は、通信ネットワーク３を介してアクション実行情報をサーバ２に送信する（ステップＳ１０９）。
【０２２６】
次に、サーバ２は、ユーザ端末１Ｂから受信したアクション実行情報に基づいて、シーン遷移情報を生成する（ステップＳ１１０）。シーン遷移情報とは、仮想空間２００Ｂに提供されるゲームを、シナリオシーンからゲームシーン（第２シーンの一例）へと遷移させるための情報である。次に、サーバ２は、通信ネットワーク３を介して、シーン遷移情報をユーザ端末１Ｂの制御部１２１へ送信する（ステップＳ１１１）。
【０２２７】
次に、ユーザ端末１Ｂの制御部１２１は、サーバ２から受信したシーン遷移情報に基づき、アバター４Ｃの姿勢と顔の表情の設定を更新する（ステップＳ１１２）。具体的には、例えば、図２８に示すように、アバター４Ｃの姿勢は起き上がった状態に設定され、アバター４Ｃの顔の表情は目を開けた状態に設定される。
【０２２８】
次に、制御部１２１は、アバター４Ｃに関連付けられた吹き出しオブジェクト４５Ａを仮想空間２００Ｂに生成する（ステップＳ１１３）。吹き出しオブジェクト４５Ａには、アバター４Ｃがアバター４Ｂの仲間に加わったことを示す情報（例えば、「アバター４Ｃが仲間に加わりました。」等）が表示される。
【０２２９】
その後、制御部１２１は、仮想空間２００Ｂを示す仮想空間データを更新すると共に、ユーザ端末１ＢのＨＭＤ１１０の動きに応じてアバター４Ｂの視野ＣＶを更新する。次に、制御部１２１は、更新された仮想空間データと更新されたアバター４Ｂの視野ＣＶに基づいて視野画像データを更新した上で、更新された視野画像データに基づいて視野画像をＨＭＤ１１０に表示する（ステップＳ１１４）。
【０２３０】
その後、シーン遷移情報に基づいて、制御部１２１は、ゲームシーンの表示を開始する（ステップＳ１１５）。
【０２３１】
以上説明したように、変形例２に係る情報処理方法は、仮想空間２００Ｂ内での動作がコンピュータ制御可能なアバター４Ｃに対し、仮想手４００により揺さぶり動作等の特定アクションを実行するステップと、特定アクションの実行に基づいて仮想空間２００Ｂにおいて提供されるゲームをシナリオシーン（第１シーン）からゲームシーン（第２シーン）へと遷移させるステップと、を含む。従来、ゲームシーンを開始するためにはシナリオシーンの再生後にゲームを進行させるためのユーザ・インタフェース（例えば、「Ｐｒｅｓｓ  Ａｎｙ  Ｂｕｔｔｏｎ」）が表示され、ユーザが外部コントローラ３２０の所定のボタンを押下することによりゲームシーンが開始されていた。これに対して、変形例２に係る方法によれば、アバター４Ｃに対するユーザＢの特定アクションの実行に基づいてゲームシーンが開始されるため、ユーザＢの仮想空間２００Ｂへの没入感を損なわずにゲームを進行させることができる。なお、変形例２では、変形例２の処理がサーバ２とユーザ端末１Ｂとを有するシステムで実行される場合を例にとり説明したが、これに限定されず、ユーザ端末１Ｂ単独で実行されてもよい。
【０２３２】
また、変形例２に係るゲームを進行させるための情報処理方法は、ゲームを開始する際の場面に限られず、ゲームの途中においてゲームを再開させる場面にも適用可能である。例えば、複数のアバター（例えば、アバター４Ｂとアバター４Ｃ）により編成されたパーティにより行われるゲームが仮想空間２００Ｂに提供される場合において、ゲーム進行の中断後に、アバター４Ｂからアバター４Ｃへ特定アクションが実行されたと判定された場合に、ゲームを再開するようにしてもよい。具体的には、パーティが宿屋に宿泊したシーンにおいて、翌朝になってもアバター４Ｃが寝ている状態となっているとする。この状態で、アバター４Ｂがアバター４Ｃに対して揺さぶり動作や叩き動作等の特定アクションを実行することで、アバター４Ｃが目覚めゲームの進行が再開するようにしてもよい。このような方法によれば、ユーザＢの仮想空間２００Ｂへの没入感を損なわずにゲームの進行を再開させることができる。
【０２３３】
また、図１８、図２４及び図２５に示す各ステップで規定される処理の順番はあくまでも一例であって、これらのステップの順番は適宜変更可能である。
【０２３４】
また、上記の実施形態や変形例の説明では、ＨＭＤ１１０の装着の有無を、ＨＭＤセンサ１１４から送信されたＨＭＤ１１０の傾き情報又は装着センサ１１５から送信されたイベント情報で検知することを前提としているが、この例に限られない。例えば、ユーザ端末の制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４によりＨＭＤ１１０の動きを検知して、当該動きが所定の軌道を描いた場合に、ユーザがＨＭＤ１１０を装着したこと、あるいはＨＭＤ１１０を取り外したことを特定してもよい。また、制御部１２１は、位置センサ１３０及び／又はＨＭＤセンサ１１４によりＨＭＤ１１０の動きの有無を検知して、例えば、ＨＭＤ１１０の位置が一定時間の間に全く変化しない場合には、ユーザがＨＭＤ１１０を装着していないと特定してもよい。さらに、制御部１２１は、ＨＭＤ１１０と外部コントローラ３２０との相対的位置関係を検知することで、ＨＭＤ１１０の装着の有無を検知してもよい。例えば、制御部１２１は、ＨＭＤ１１０と外部コントローラ３２０とが一定距離以上離れている場合には、ユーザがＨＭＤ１１０を装着していないと特定してもよい。
【０２３５】
また、上記の実施形態や変形例の説明では、仮想空間２００Ｂを示す仮想空間データがユーザ端末１Ｂ側で更新されていることを前提としているが、仮想空間データはサーバ２側で更新されてもよい。さらに、視野画像に対応する視野画像データがユーザ端末１Ｂ側で更新されていることを前提としているが、視野画像データはサーバ２側で更新されてもよい。この場合、ユーザ端末１Ｂは、サーバ２から送信された視野画像データに基づいて、ＨＭＤ１１０に視野画像を表示する。
【０２３６】
また、図１２及び１６に示す各ステップで規定される処理の順番はあくまでも一例であって、これらのステップの順番は適宜変更可能である。
【０２３７】
また、本実施形態においては、ＨＭＤ装置によってユーザが没入する仮想空間（ＶＲ空間）を例示して説明したが、ＨＭＤ装置として、透過型のＨＭＤ装置を採用してもよい。この場合、透過型のＨＭＤ装置を介してユーザが視認する現実空間に仮想空間を構成する画像の一部を合成した視界画像を出力することにより、拡張現実（ＡＲ：Augumented  Reality）空間または複合現実（ＭＲ：Mixed  Reality）空間における仮想体験をユーザに提供してもよい。この場合、仮想手に代えて、ユーザの手の動きに基づいて、仮想空間内における対象オブジェクトへの作用を生じさせてもよい。具体的には、プロセッサは、現実空間におけるユーザの手の位置の座標情報を特定するとともに、仮想空間内における対象オブジェクトの位置を現実空間における座標情報との関係で定義してもよい。これにより、プロセッサは、現実空間におけるユーザの手と仮想空間２における対象オブジェクトとの位置関係を把握し、ユーザの手と対象オブジェクトとの間で上述したコリジョン制御等に対応する処理を実行可能となる。その結果、ユーザの手の動きに基づいて対象オブジェクトに作用を与えることが可能となる。
【０２３８】
また、ユーザ端末１の制御部１２１によって実行される各種処理をソフトウェアによって実現するために、各種処理をコンピュータ（プロセッサ）に実行させるための制御プログラムが記憶部１２３又はメモリに予め組み込まれていてもよい。または、制御プログラムは、磁気ディスク（ＨＤＤ、フロッピーディスク）、光ディスク（ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）ディスク等）、光磁気ディスク（ＭＯ等）、フラッシュメモリ（ＳＤカード、ＵＳＢメモリ、ＳＳＤ等）等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置１２０に接続されることで、当該記憶媒体に格納された制御プログラムが、記憶部１２３に組み込まれる。そして、記憶部１２３に組み込まれた制御プログラムがＲＡＭ上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部１２１は各種処理を実行する。
【０２３９】
また、制御プログラムは、通信ネットワーク３上のコンピュータから通信インターフェース１２５を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該制御プログラムが記憶部１２３に組み込まれる。
【０２４０】
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
【符号の説明】
【０２４１】
１，１Ａ，１Ｂ：ユーザ端末
２：サーバ
３：通信ネットワーク
４Ａ，４Ｂ：アバター
２１：通信インターフェース
２２：記憶部
２３：制御部
２４：バス
４２Ａ，４４Ａ，４５Ａ：吹き出しオブジェクト
４３Ａ：テロップオブジェクト
１００：仮想空間配信システム（配信システム）
１１０：ＨＭＤ（ヘッドマウントデバイス）
１１２：表示部
１１３：フェイスカメラ
１１４：ＨＭＤセンサ
１１５：装着センサ
１１６：ヘッドフォン
１１７：フェイスカメラ
１１８：マイク
１２０：制御装置
１２３：記憶部
１２４：Ｉ／Ｏインターフェース
１２５：通信インターフェース
１２６：バス
１３０：位置センサ
１４０：注視センサ
２００，２００Ａ，２００Ｂ：仮想空間
２１０：中心位置
３００：仮想カメラ
３２０：外部コントローラ
３２０Ｌ：左手用外部コントローラ（コントローラ）
３２０Ｒ：右手用外部コントローラ（コントローラ）
４００：仮想手
Ｕ，Ａ，Ｂ：ユーザ
Ｍ１：メッセージ
【図１】
2019058324.tif 000003
【図２】
2019058324.tif 000004
【図３】
2019058324.tif 000005
【図４】
2019058324.tif 000006
【図５】
2019058324.tif 000007
【図６】
2019058324.tif 000008
【図７】
2019058324.tif 000009
【図８】
2019058324.tif 000010
【図９】
2019058324.tif 000011
【図１０】
2019058324.tif 000012
【図１１】
2019058324.tif 000013
【図１２】
2019058324.tif 000014
【図１３】
2019058324.tif 000015
【図１４】
2019058324.tif 000016
【図１５】
2019058324.tif 000017
【図１６】
2019058324.tif 000018
【図１７】
2019058324.tif 000019
【図１８】
2019058324.tif 000020
【図１９】
2019058324.tif 000021
【図２０】
2019058324.tif 000022
【図２１】
2019058324.tif 000023
【図２２】
2019058324.tif 000024
【図２３】
2019058324.tif 000025
【図２４】
2019058324.tif 000026
【図２５】
2019058324.tif 000027
【図２６】
2019058324.tif 000028
【図２７】
2019058324.tif 000029
【図２８】
2019058324.tif 000030