(57)【要約】【課題】ユーザがより臨場感ある触覚フィードバックを得ることができる。【解決手段】属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成する仮想空間データ生成部と、前記仮想オブジェクトに対する接触を検知するリスナーを配置するリスナー配置部と、前記リスナーが配置された仮想オブジェクトと、前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成する触覚データ生成部と、を備える情報処理装置。【選択図】図４
2017043400.tif 000002
【特許請求の範囲】
【請求項１】
属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成する仮想空間データ生成部と、
前記仮想オブジェクトに対する接触を検知するリスナーを配置するリスナー配置部と、
前記リスナーが配置された仮想オブジェクトと、
前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成する触覚データ生成部と、を備える情報処理装置。
【請求項２】
前記リスナーが配置された前記仮想オブジェクトは、ユーザが操作する前記仮想オブジェクトである、請求項１に記載の情報処理装置。
【請求項３】
前記触覚データは振動に関するデータである、請求項１に記載の情報処理装置。
【請求項４】
前記仮想空間データ生成部は、前記仮想オブジェクトに属性を関連付けるように前記仮想オブジェクトを形成する、請求項２に記載の情報処理装置。
【請求項５】
前記仮想オブジェクトの前記属性情報は、前記仮想オブジェクトの質量、剛性、材質、大きさ、形状、位置、速度のうち少なくとも１つを含む、請求項４に記載の情報処理装置。
【請求項６】
前記触覚データ生成部は、前記ユーザが操作する前記仮想オブジェクトの前記属性に基づいて前記触覚データを生成する、請求項５に記載の情報処理装置。
【請求項７】
前記触覚データ生成部は、前記ユーザが操作する前記仮想オブジェクトとは異なる前記他の仮想オブジェクトの前記属性に基づいて前記触覚データを生成する、請求項５に記載の情報処理装置。
【請求項８】
前記触覚データ生成部は、前記ユーザが操作する前記仮想オブジェクトの前記属性および前記ユーザが操作する前記仮想オブジェクトとは異なる前記他の仮想オブジェクトの前記属性の両方に基づいて前記触覚データを生成する、請求項５に記載の情報処理装置。
【請求項９】
前記触覚データ生成部はさらに、前記リスナーが配置された仮想オブジェクトと、他の仮想オブジェクトとの相対速度または接触位置に応じて前記触覚データを生成する、請求項１に記載の情報処理装置。
【請求項１０】
前記触覚データ生成部は、前記リスナーが配置された前記仮想オブジェクトから離れた位置に存在する衝撃の発生源に基づく前記触覚データを生成する、請求項１に記載の情報処理装置。
【請求項１１】
前記触覚データ生成部は、前記リスナーが配置された前記仮想オブジェクトと、前記衝撃の発生源との間の媒体に基づいて前記触覚データを生成する、請求項１０に記載の情報処理装置。
【請求項１２】
前記リスナー配置部は、複数の前記リスナーを前記仮想オブジェクトに配置し、
前記触覚データ生成部は、前記複数の前記リスナーのうちの少なくとも１つに対応する前記触覚デバイスに対する前記触覚データと、前記複数の前記リスナー間の結合関係とに基づいて、前記複数の前記リスナーのうちの他のリスナーに対応する前記触覚デバイスに対する前記触覚データを生成する、請求項１に記載の情報処理装置。
【請求項１３】
前記結合関係は伝搬特性に関する、請求項１２に記載の情報処理装置。
【請求項１４】
前記伝搬特性は伝搬速度または伝搬の減衰に関する、請求項１３に記載の情報処理装置。
【請求項１５】
さらに触覚データ生成部は、ユーザの視線を検知する視線検知部からの情報に基づいて前記触覚データを生成する、請求項１に記載の情報処理装置。
【請求項１６】
前記触覚データ生成部は、前記仮想空間における前記ユーザの視野内の前記仮想オブジェクトと、前記ユーザが操作する前記仮想オブジェクトとの接触に基づいて前記触覚データを生成する、請求項１５に記載の情報処理装置。
【請求項１７】
前記触覚データは、電気刺激または熱に関するデータである、請求項１に記載の情報処理装置。
【請求項１８】
属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成することと、
前記仮想オブジェクトに対する接触を検知するリスナーを配置することと、
前記リスナーが前記仮想オブジェクトに配置されることと、
前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成することと、を含む、方法。
【請求項１９】
プロセッサに属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成させ、
前記仮想オブジェクトに対する接触を検知するリスナーを配置させ、
前記リスナーを前記仮想オブジェクトに配置させ、
前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
スマートフォンまたはゲームに用いられるコントローラには、ユーザに触覚フィードバックを与えるための振動デバイスが備えられている。【０００３】
特許文献１には、文字入力を行うための入力装置が開示されており、特許文献１に開示されている入力装置は、ユーザの操作に対応する振動によるフィードバックをユーザに対して行うことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−５９８２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されているような入力装置では、単調な振動によるフィードバックがユーザに与えられるため、ユーザは臨場感のある触覚フィードバックを受けることができない。そこで本開示では、ユーザがより臨場感ある触覚フィードバックを得るための情報処理装置、方法およびコンピュータプログラムが提案される。
【課題を解決するための手段】
【０００６】
本開示によれば、属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成する仮想空間データ生成部と、前記仮想オブジェクトに対する接触を検知するリスナーを配置するリスナー配置部と、前記リスナーが配置された仮想オブジェクトと、前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成する触覚データ生成部と、を備える情報処理装置が提供される。【０００７】
また、本開示によれば、属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成することと、前記仮想オブジェクトに対する接触を検知するリスナーを配置することと、前記リスナーが前記仮想オブジェクトに配置されることと、前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成することと、を含む、方法が提供される。【０００８】
また、本開示によれば、プロセッサに属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成させ、前記仮想オブジェクトに対する接触を検知するリスナーを配置させ、前記リスナーを前記仮想オブジェクトに配置させ、前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成させる、コンピュータプログラムが提供される。
【発明の効果】
【０００９】
以上説明したように本開示によれば、ユーザはより臨場感ある触覚フィードバックを得ることができる。【００１０】
なお、上記の効果は必ずしも限定されず、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１１】
【図１】図１は、本開示の本実施形態のシステム構成を示す図である。
【図２】図２は、本開示の実施形態のシステムの構成を示すブロック図である。
【図３】図３は、仮想オブジェクトおよび仮想オブジェクトに備えられるリスナーを示す図である。
【図４】図４は、本開示の実施形態において振動のフィードバックが発生するイベントを表す図である。
【図５】図５は、本開示の実施形態において振動のフィードバックが発生するイベントの他の例を表す図である。
【図６】図６は、本開示の実施形態のシステムで行われる処理の例を示すフロー図である。
【図７】図７は、本開示の実施形態において振動のフィードバックが発生するイベントの他の例を表す図である。
【図８】図８は、振動によって仮想オブジェクトの形状および質感が表現される方法を示す図である。
【図９】図９は、振動によって仮想オブジェクトの形状および質感が表現される方法を示す図である。
【図１０】図１０は、振動によって仮想オブジェクトの形状および質感が表現される方法を示す図である。
【図１１】図１１は、振動によって仮想オブジェクトの形状および質感が表現される方法を示す図である。
【図１２】図１２は、振動によって仮想オブジェクトの形状および質感が表現される方法を示す図である。
【図１３】図１３は、本開示の実施形態における振動デバイスを複数備えたウェアラブル端末の例を示す図である。
【図１４】図１４は、本開示の実施形態における複数のリスナーが配置された仮想オブジェクトの例を示す図である。
【図１５】図１５は、本開示の実施形態における複数のリスナー間の結合要素を示す図である。
【図１６】図１６は、複数のリスナーと衝突する仮想オブジェクトの大きさとの関係の例を示す図である。
【図１７】図１７は、本開示の実施形態のシステムの構成の他の例を示すブロック図である。
【図１８】図１８は、本開示の実施形態における振動デバイスを複数備えたウェアラブル端末の他の例を示す図である。
【図１９】図１９は、本開示の実施形態における振動データの生成方法を示す図である。
【図２０】図２０は、本開示の実施形態における振動データの生成方法を示す図である。
【図２１】図２１は、本開示の実施形態における振動データの生成方法を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行う。
１．本実施形態のシステムの構成
２．仮想オブジェクトとの接触を検知するリスナー
３．ユーザに対する振動のフィードバック
４．本実施形態のシステムにおける処理
５．操作仮想オブジェクトに対する接触以外によって発生するフィードバック
６．仮想オブジェクトの形状および材質に基づく振動によるフィードバック
７．複数の振動デバイスを有するウェアラブル端末
８．リスナーが接触を検知するモード
９．スピーカを備えるウェアラブル端末
１０．振動データの生成方法
１１．補足
１２．むすび
【００１４】
＜１．本実施形態のシステムの構成＞
図１は、本開示の実施形態におけるシステムの構成を示す図である。本実施形態のシステムは、ゲーム機１００と、コントローラ２００と、表示装置３００から構成される。ゲーム機１００は、記憶媒体に記憶されたゲームソフトなどを読み込むことによってゲームソフトに関する処理を行う。例えばゲーム機１００は、ゲームを行う仮想空間のデータを生成し、またゲーム機１００はコントローラ２００からの情報に基づいてユーザが操作する操作仮想オブジェクト４００ａに対する処理を行う。
【００１５】
また、ゲーム機１００は、生成したゲームの仮想空間に関する映像データを表示装置３００に送信する。なお図１に示される例では、仮想空間にはユーザが操作する操作仮想オブジェクト４００ａと、その他の球状の仮想オブジェクト４００ｂとが配置される。なお以下では、仮想空間に関するデータを生成する情報処理装置の一例としてゲーム機１００が説明される。
【００１６】
コントローラ２００は、ユーザが操作仮想オブジェクト４００ａを操作するために用いられる。コントローラ２００は、ゲーム機１００と無線で接続されており、ゲーム機１００にユーザの操作に関する情報を送信する。表示装置３００は、ゲーム機１００から映像データを受信し、ゲームに関する仮想空間を表示する。
【００１７】
以上では、本実施形態のシステムの概要について説明された。以下では、本実施形態のシステムの内部構成が説明される。図２は、本実施形態のシステムの内部構成を示すブロック図である。なお図２では、ゲーム機１００とコントローラ２００の内部構成について説明される。
【００１８】
本実施形態のゲーム機１００は、処理部１０２と、仮想空間データ生成部１０４と、リスナー配置部１０６と、物理エンジン１０８と、触覚エンジン１１０と、通信部１１６と、を備える。また、触覚エンジン１１０は、振動データ生成部１１２と、音声データ生成部１１４と、を有する。処理部１０２は、ゲーム機１００の各部と接続され、各部から受け取る様々な情報を処理し、また各部への情報の受け渡しを行う。仮想空間データ生成部１０４は、ゲームソフトなどの情報に基づいて仮想空間に関するデータを生成する。仮想空間データ生成部１０４が生成する仮想空間に関するデータには、仮想空間内に配置される仮想オブジェクト４００に関する情報が含まれる。
【００１９】
リスナー配置部１０６は、ユーザが操作する操作仮想オブジェクト４００ａに、操作仮想オブジェクト４００ａに対する接触を検知するリスナーを配置する。リスナーの配置方法については後述される。物理エンジン１０８は、仮想空間における様々な演算を行う。例えば物理エンジン１０８は、仮想空間における接触判定、剛体演算および流体演算等を行う。また物理エンジン１０８が処理するパラメータは、例えば仮想オブジェクト４００の質量、剛性、材質、大きさ、形状、位置、速度などの仮想オブジェクト４００の属性情報を含む。つまり物理エンジン１０８が処理するパラメータには、複数の仮想オブジェクト４００が接触するときの接触位置に関する情報および仮想オブジェクト４００が接触するときの相対速度が含まれてもよい。
【００２０】
触覚エンジン１１０は、物理エンジン１０８の演算結果に基づいて振動データを生成する振動データ生成部１１２と、音声データを生成する音声データ生成部１１４から構成される。振動データ生成部１１２は、物理エンジン１０８が処理するパラメータに基づいてコントローラ２００の振動デバイス２０８を振動させるための振動データを生成する。音声データ生成部１１４は、物理エンジン１０８が処理するパラメータに基づいて音声データを生成する。なお、振動データ生成部１１２は、触覚データ生成部の一例である。
【００２１】
通信部１１６は、コントローラ２００などの他の装置と情報を送受信するために用いられる。通信部１１６は、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの近距離無線通信インタフェースであってもよい。また、通信部１１６は上述したインタフェースに限られず、ＺｉｇＢｅｅ（登録商標）などの近距離無線通信インタフェースであってもよい。
【００２２】
以上では、ゲーム機１００の構成について説明された。以下ではコントローラ２００の構成について説明される。本実施形態のコントローラ２００は、処理部２０２と、加速度センサ２０４と、ジャイロセンサ２０６と、振動デバイス２０８と、通信部２１０と、を備える。
【００２３】
処理部２０２は、ゲーム機１００から受信した情報を処理し、またコントローラ２００が有する加速度センサ２０４およびジャイロセンサ２０６からの情報を処理する。処理部２０２は、例えば、加速度センサ２０４およびジャイロセンサ２０６から取得した情報を処理してコントローラ２００の加速度または傾きなどの状態を算出するように構成されてもよい。また、処理部２０２は、加速度センサ２０４およびジャイロセンサ２０６から得られた情報を単にゲーム機１００に送信し、情報を受け取ったゲーム機１００がコントローラ２００の状態を判定するように構成されてもよい。
【００２４】
加速度センサ２０４は、ユーザの操作に基づくコントローラ２００の加速度を検知する。またジャイロセンサ２０６はユーザの操作に基づくコントローラ２００の角速度および角加速度を検知する。振動デバイス２０８は、ゲーム機１００が生成した振動データに基づいて振動することによって、ユーザに振動の触覚フィードバックを行う。なお、振動デバイスは触覚デバイスの一例である。
【００２５】
振動デバイス２０８は、形状に偏りのある錘がモータの回転軸に取り付けられた偏心モータのような振動子を備えたデバイスであってもよい。また振動デバイス２０８は、ボイスコイルモータ、ピエゾアクチュエータまたは電磁リニアアクチュエータのような振動子を備えたデバイスであってもよい。ボイスコイルモータは、広帯域に振動でき、また応答速度が速いので、偏心モータよりも多彩な触覚フィードバックを行うことができる。なお、ボイスコイルモータは、可聴域の音を発生することもできる。また通信部２１０は、ゲーム機１００などの他の装置と情報を送受信するために用いられる。
【００２６】
＜２．仮想オブジェクトとの接触を検知するリスナー＞
以上では、本実施形態におけるゲーム機１００およびコントローラ２００の構成について説明された。以下では、本実施形態においてユーザが操作する操作仮想オブジェクト４００ａに配置されるリスナーについて説明される。
【００２７】
図３は、本開示のリスナー５００を概念的に表した図である。図３に示されるようにリスナー５００は、ユーザが操作する操作仮想オブジェクト４００ａに配置される。リスナー５００は、配置される操作仮想オブジェクト４００ａに対する接触を検知し、リスナー５００に他の仮想オブジェクト４００が接触すると、物理エンジン１０８はこの接触を認識し、振動データ生成部１１２は物理エンジン１０８からの情報に基づいて振動データを生成する。つまり、リスナー５００に他の仮想オブジェクト４００が接触することによってコントローラ２００の振動デバイス２０８が振動し、ユーザは操作仮想オブジェクト４００ａに他の仮想オブジェクト４００が接触したことによる触覚のフィードバックを受けることができる。
【００２８】
なお、図３ではユーザが操作する操作仮想オブジェクト４００ａは球体で表されているが、操作仮想オブジェクト４００ａは人型であってもよく、棒状であってもよい。また図３ではリスナー５００は、操作仮想オブジェクト４００ａの一部に配置されているが、リスナー５００は操作仮想オブジェクト４００ａの全体に配置されてもよい。また、リスナー５００は、操作仮想オブジェクト４００ａの表面に配置されてもよく、また操作仮想オブジェクト４００ａの内部に配置されてもよく、リスナー５００の配置方法は特に限定されない。
【００２９】
また、リスナー５００は操作仮想オブジェクト４００ａに対する接触を検知するだけでなく、操作仮想オブジェクト４００ａに届く音を検知してもよい。なお、リスナー５００は、操作仮想オブジェクト４００ａに他の仮想オブジェクト４００が接触したことによって生じる音を検知してもよい。
【００３０】
＜３．ユーザに対する振動のフィードバック＞
以上では、操作仮想オブジェクト４００ａに対する接触を検知するリスナー５００について説明された。以下では、本実施形態のシステムにおいてユーザに振動によるフィードバックが行われる例が説明される。図４では、ユーザがコントローラ２００を操作することによって、操作仮想オブジェクト４００ａが操作される様子が示されている。
【００３１】
図４ではコントーラ２００およびコントローラ２００に対応する操作仮想オブジェクト４００ａは２つあり、一方の操作仮想オブジェクト４００ａに対して球状の仮想オブジェクト４００ｂが衝突するというイベントが発生している。このとき図４に示されるように、球状の仮想オブジェクト４００ｂが衝突した操作仮想オブジェクト４００ａに対応するコントローラ２００は振動する。一方、球状の仮想オブジェクト４００ｂが衝突していない操作仮想オブジェクト４００ａに対応するコントローラ２００は振動しない。
【００３２】
本実施形態のシステムでは、それぞれの仮想オブジェクト４００はその仮想オブジェクト４００に対応する属性が関連付けられており、それぞれの仮想オブジェクト４００はその属性に応じた振動データを有している。そして振動データ生成部１１２は、それぞれの仮想オブジェクト４００が有する振動データに基づいて振動データを生成してもよい。なお上述したように仮想オブジェクト４００の属性は、仮想オブジェクト４００の質量、剛性、材質、大きさ、形状などを含んでもよい。
【００３３】
ユーザはゲームなどを行っているとき、ユーザが操作する操作仮想オブジェクト４００ａの触覚ではなく、操作仮想オブジェクト４００ａに接触する仮想オブジェクト４００の属性に基づくフィードバックを望むことがある。よって本実施形態のシステムでは、操作仮想オブジェクト４００ａに接触した他の仮想オブジェクト４００ｂが有する属性に基づいて振動データが生成される。
【００３４】
よって例えば、操作仮想オブジェクト４００ａと衝突した他の仮想オブジェクト４００ｂの質量が大きければ大きかったほど、ユーザにフィードバックされる振動は大きくなってもよい。また、操作仮想オブジェクト４００ａと衝突した他の仮想オブジェクト４００の剛性が高かければ高いほど、コントローラ２００が振動する時間が短くなってもよい。また、操作仮想オブジェクト４００ａと衝突した他の仮想オブジェクト４００の剛性が低かったとき、長い余韻が残るような振動がユーザにフィードバックされてもよい。
【００３５】
また、操作仮想オブジェクト４００ａと他の仮想オブジェクト４００が衝突したときの相対速度または接触位置に応じてユーザにフィードバックされる振動が変わってもよい。例えば、操作仮想オブジェクト４００ａと他の仮想オブジェクト４００が衝突したときの相対速度が大きかったとき、大きな振動がユーザにフィードバックされてもよい。また、操作仮想オブジェクト４００ａに他の仮想オブジェクト４００の角が衝突したとき、小さく短い振動がユーザにフィードバックされてもよい。
【００３６】
図５を用いてより詳細に本実施形態の振動によるフィードバックについて説明される。図５は、立方体の木の仮想オブジェクト４００ｃが操作仮想オブジェクト４００ａに接触したときの様子を表す図である。よってユーザは、木が接触した触覚フィードバックを得ることができる。このとき例えば、木の仮想オブジェクト４００ｃが金属の属性を有する仮想オブジェクト４００よりも小さい質量を有するという属性を有しているとき、ユーザは金属の属性を有する仮想オブジェクト４００が接触した場合と比べて小さい振動によるフィードバックを受けてもよい。
【００３７】
また、操作仮想オブジェクト４００ａに木の仮想オブジェクト４００ｃの角が衝突した場合、ユーザは、操作仮想オブジェクト４００ａに木の仮想オブジェクト４００ｃの面が衝突した場合に比べて、小さく短い振動によるフィードバックを受けてもよい。
【００３８】
図５では接触する仮想オブジェクト４００が木の属性を有する場合について説明された。しかし例えば接触する仮想オブジェクト４００が金属の属性を有している場合、コントローラ２００は残響があるように振動してもよい。また接触する仮想オブジェクト４００がゴムの属性を有している場合、コントローラ２００は残響がないように振動してもよい。
【００３９】
つまり接触する仮想オブジェクト４００が金属の属性を有している場合、コントローラ２００は最初に鋭く大きな振動で振動し、その後最初の振動よりも小さい振動がしばらく続くように振動してもよい。また、接触する仮想オブジェクト４００がゴムの属性を有している場合、コントローラ２００は最初に鈍く大きな振動で振動し、その後は振動しなくてもよい。
【００４０】
このように、操作仮想オブジェクト４００ａに接触する仮想オブジェクト４００が有する属性情報に基づいてコントローラ２００が振動することによって、ユーザが得られる仮想的な臨場感が向上する。また、仮想オブジェクト４００が属性情報に応じた振動データを有することによって、振動データの生成がリアルタイムで行われる。つまり振動データがリアルタイムで生成されることによって、ユーザに対する振動によるフィードバックが仮想空間内で接触が生じてから遅延なく行われる。また、振動データが各仮想オブジェクト４００にマッピングされることによって、容易に振動データを各仮想オブジェクト４００に付与することができる。
【００４１】
なお、上述した例では操作仮想オブジェクト４００ａに接触する仮想オブジェクト４００が有する属性に基づいて振動データが生成された。しかし振動データは操作仮想オブジェクト４００ａが有する属性に応じて生成されてもよい。また、振動データは、操作仮想オブジェクト４００ａが有する属性および操作仮想オブジェクト４００ａに接触する仮想オブジェクト４００が有する属性に基づいて生成されてもよい。これによって、ユーザが得られる仮想的な臨場感がより向上する。
【００４２】
また、振動フィードバックの構成は複数に分けられてもよい。例えば、振動フィードバックは「衝突時」と「余韻」の２つのフェーズに分けられてもよい。このとき衝突のフェーズでは、コントローラ２００は操作仮想オブジェクト４００ａが有する属性に応じて振動し、余韻のフェーズでは、コントローラ２００は操作仮想オブジェクト４００ａに接触する仮想オブジェクト４００が有する属性に基づいて振動してもよい。また、衝突する側または衝突される側のどちらの仮想オブジェクト４００の属性に基づいてコントローラ２００が振動するかを選択するモードが設けられてもよく、ユーザはこのモードを選択できてもよい。
【００４３】
また、上述したようにリスナー５００は仮想オブジェクト４００の接触と共に、音を検知してもよい。上述したように図４では、操作仮想オブジェクト４００ａに球状の仮想オブジェクト４００ｂが接触していないコントローラ２００は振動しない。しかしながら、球状の仮想オブジェクト４００ｂが接触していない操作仮想オブジェクト４００ａのリスナー５００は、衝突によって発生した音を検知し、コントローラ２００に備えられたスピーカまたは振動デバイス２０８から衝突音が出力されてもよい。
【００４４】
＜４．本実施形態のシステムにおける処理＞
以上では、本実施形態のシステムにおけるユーザに対する振動によるフィードバックについて説明された。以下では、本実施形態のシステムの各構成が行う処理について説明される。図６は、ゲーム機１００の各構成が行う処理を示すフロー図である。
【００４５】
最初にＳ１００において、触覚エンジン１１０はユーザが操作する操作仮想オブジェクト４００ａが有する属性を認識する。次にＳ１０２において、物理エンジン１０８は、リスナー５００に対する接触を検知する。つまり物理エンジン１０８は、操作仮想オブジェクト４００ａに他の仮想オブジェクト４００が衝突したことなどを検知する。
【００４６】
次にＳ１０４において処理部１０２は、リスナー５００が接触を検知する検知モードが操作仮想オブジェクト４００ａが有する属性に基づいて振動がフィードバックされるモードか否かを判定する。Ｓ１０４において処理部１０２が、リスナー５００が接触を検知する検知モードが操作仮想オブジェクト４００ａが有する属性に基づいて振動がフィードバックされるモードであると判定すると、処理はＳ１０６に進む。
【００４７】
Ｓ１０６において触覚エンジン１１０は操作仮想オブジェクト４００ａに付随する振動データを取得する。次にＳ１１０において物理エンジン１０８は、操作仮想オブジェクト４００ａと他の仮想オブジェクト４００が衝突したときの相対速度、接触位置などを算出する。
【００４８】
次にＳ１１２において処理部１０２は、物理エンジン１０８が算出した相対速度、接触位置などに関する情報およびＳ１０４で判定されたモードに関する情報を触覚エンジン１１０に送り、触覚エンジン１１０の振動データ生成部１１２は取得した情報に基づいて出力する振動データを生成する。ここで振動データ生成部１１２は、操作仮想オブジェクト４００ａが有する属性に基づいた振動データと物理エンジン１０８が算出した相対速度、接触位置などの情報に基づいて出力する振動データを生成する。
【００４９】
Ｓ１０４において、処理部１０２が、リスナー５００が接触を検知する検知モードが操作仮想オブジェクト４００ａが有する属性に基づいて振動がフィードバックされるモードではないと判定すると、処理はＳ１０８に進む。Ｓ１０８において触覚エンジン１１０は、ユーザが操作しない仮想オブジェクト４００、つまり操作仮想オブジェクト４００ａに衝突した仮想オブジェクト４００に付随する振動データを取得する。
【００５０】
そして上述した処理と同様、Ｓ１１０において物理エンジン１０８は相対速度、接触位置などを算出する。そしてＳ１１２において触覚エンジン１１０の振動データ生成部１１２は、操作仮想オブジェクト４００ａに衝突した仮想オブジェクト４００が有する属性に基づいた振動データと物理エンジン１０８が算出した相対速度、接触位置などの情報に基づいて出力する振動データを生成する。なお、上述したように振動データ生成部１１２は、操作仮想オブジェクト４００ａが有する属性と操作仮想オブジェクト４００ａに衝突した仮想オブジェクト４００が有する属性と、物理エンジン１０８が算出した相対速度、接触位置などの情報に基づいて出力する振動データを生成してもよい。
【００５１】
＜５．操作仮想オブジェクトに対する接触以外によって発生するフィードバック＞
以上では、ユーザが操作する操作仮想オブジェクト４００ａに他の仮想オブジェクト４００が接触したときに振動によるフィードバックが行われる例が説明された。以下では、操作仮想オブジェクト４００ａに他の仮想オブジェクト４００が衝突しないときに振動によるフィードバックが行われる例が説明される。
【００５２】
図７は、操作仮想オブジェクト４００ａから離れた位置にある衝撃波発生源８００によって発生する衝撃波８０２に基づいて振動によるフィードバックが行われる例を示す図である。なお、衝撃波発生源８００は例えば爆発であってもよく、衝撃波８０２の伝搬は物理エンジン１０８によって仮想空間内でシュミレーションされてもよい。
【００５３】
図７の例では、仮想空間内で発生した爆発によって生じた衝撃波８０２が操作仮想オブジェクト４００ａに配置されたリスナー５００に届くことによって、振動によるフィードバックが行われる。このとき振動によるフィードバックは、操作仮想オブジェクト４００ａと衝撃波発生源８００との間の媒体の性質に応じて行われてもよい。
【００５４】
例えば媒体が空気である場合の振動によるフィードバックと、媒体が水である場合の振動によるフィードバックとでは、振動の強さが異なってもよい。このとき媒体が水である場合の振動は、媒体が空気である場合の振動に比べて弱くてもよい。これは、シュミレーションされる衝撃波８０２の伝搬特性が媒体によって異なるからである。
【００５５】
これによってユーザは、例えばユーザが操作する操作仮想オブジェクト４００ａが水中にあることを振動によるフィードバックによって感じることができるため、ユーザが得られる仮想的な臨場感がより向上する。
【００５６】
また振動データは、仮想空間内でシュミレーションされる衝撃波８０２の伝搬によらず、単純に衝撃波発生源８００と操作仮想オブジェクト４００ａとの距離に応じて生成されてもよい。これにより、より単純な構成を有する物理エンジン１０８によっても振動によるフィードバックが行われる。
【００５７】
＜６．仮想オブジェクトの形状および材質に基づく振動によるフィードバック＞
以上では、衝撃波８０２に基づいて振動によるフィードバックが行われる例について説明された。以下では、仮想オブジェクト４００の形状および材質に基づく振動によるフィードバックについてより詳細に説明される。
【００５８】
図８から図１１は、半円状の仮想オブジェクト４００ｄの上を操作仮想オブジェクト４００ａが通過する様子を表す図である。以下ではこのような状況における振動によるフィードバックについて説明される。なお、半円状の仮想オブジェクト４００ｄは摩擦が少ない（つるつるした触感を有する）表面を有する。
【００５９】
図８から図９に示されるように、操作仮想オブジェクト４００ａが移動して半円状の仮想オブジェクト４００ｄの端部に接触したときに、振動時間が短い振動のフィードバックが行われる。次に図１０のように、操作仮想オブジェクト４００ａが半円状の仮想オブジェクト４００ｄの表面を移動している間は、振動によるフィードバックは行われない。次に図１１に示されるように、操作仮想オブジェクト４００ａが半円状の仮想オブジェクト４００ｄのもう一方の端部に降りるとき、再び振動時間が短い振動のフィードバックが行われる。
【００６０】
以上説明したように、操作仮想オブジェクト４００ａが接触している面の形状が変化するタイミング(図９および図１１の状態)で振動時間が短い振動がユーザに提示されることによって、面の形状変化をユーザは感じることができる。また、摩擦が少ない面を操作仮想オブジェクト４００ａが移動している間（図１０の状態）は、振動が提示されないことによって、つるつるした触感をユーザは感じることができる。またこのとき、操作仮想オブジェクト４００ａは、半円状の仮想オブジェクト４００ｄの表面に沿って動くので、視覚によってもユーザは半円状の仮想オブジェクト４００ｄの膨らんだ形状を感じることができる。
【００６１】
また、摩擦が大きい（ざらざらした触覚を有する）面を操作仮想オブジェクト４００ａが移動する場合は、異なる振動フィードバックが行われてもよい。図１２は、半円状の仮想オブジェクトの一部４００ｅが、摩擦が大きい面を有する場合の様子を表す図である。このとき操作仮想オブジェクト４００ａが半円状の仮想オブジェクトの摩擦が大きい面４００ｅの上を移動するとき、摩擦感を想起させる振動が連続的にユーザに提供されることによって、ユーザはざらざらした触感を感じることができる。また、ユーザが操作仮想オブジェクト４００ａを操作する速度に応じて振動が変えられてもよい。例えば図１２の例においてユーザが操作仮想オブジェクト４００ａを操作する速度が速くなればなるほど、コントローラ２００が振動する時間間隔が短くなってもよい。
【００６２】
また摩擦が小さい面から摩擦が大きい面に操作仮想オブジェクト４００ａが移動する場合、ユーザに提供される振動が変化するため、ユーザはその振動の変化から質感が変わったことを感じ取れる。
【００６３】
＜７．複数の振動デバイスを有するウェアラブル端末＞
以上では、コントローラ２００のようなユーザが把持する装置によって、振動によるフィードバックが行われる例が説明された。以下では、複数の振動デバイス２０８を有するジャケット型のウェアラブル端末について説明される。
【００６４】
図１３は、ジャケット型のウェアラブル端末７００の外観の一例を示す図である。ジャケット型のウェアラブル端末７００は、複数の振動デバイス２０８ａ〜２０８ｆを備えている。また、複数の振動デバイス２０８ａ〜２０８ｆは、図１３に示されるように左右対称に配置されてもよい。
【００６５】
図１４は、ジャケット型のウェアラブル端末７００に対応するようにリスナー５００ａ〜５００ｆが操作仮想オブジェクト４００ａに配置されることを示す図である。リスナー５００ａ〜５００ｆのそれぞれは、ジャケット型のウェアラブル端末７００の振動デバイス２０８ａ〜２０８ｆのそれぞれに対応する。上述したようにリスナー５００ａ〜５００ｆに他の仮想オブジェクト４００が接触したとき、接触したリスナー５００に対応する振動デバイス２０８が振動する。例えばリスナー５００ａに他の仮想オブジェクト４００が接触したとき、振動デバイス２０８ａが振動することによってユーザに対して振動によるフィードバックが行われる。
【００６６】
図１３および図１４で示されるように、複数の振動デバイス２０８に対して複数のリスナー５００が配置される場合、複数のリスナー５００間の結合関係に基づいて振動によるフィードバックが行われてもよい。図１５は、このような複数のリスナー５００間の結合関係を示す図である。図１５で表される点線は、複数のリスナー５００間の結合関係を表す結合要素５０２である。結合要素５０２は、ばね要素であったり、ダンパー要素であったり、時間遅れ要素であったりしてもよい。つまり結合要素５０２は、衝撃の伝搬特性に関する要素であり、伝搬速度または伝搬の減衰に関する要素であってもよい。
【００６７】
結合要素５０２に応じて振動の伝搬がシミュレーションされることによって、１つのリスナー５００に生じた接触による振動が周辺のリスナー５００に伝搬される。例えば、リスナー５００ａに他の仮想オブジェクト４００が接触した場合、リスナー５００ｂ、５００ｄ、５００ｅに振動が伝わってもよい。
【００６８】
また、結合要素５０２が時間遅れの要素とされることで、周辺のリスナー５００は衝突が生じたリスナー５００よりも遅れたタイミングで振動する。例えば、リスナー５００ａに他の仮想オブジェクト４００が接触した場合、最初にリスナー５００ｂ、５００ｄおよび５００ｅに振動が伝わり、少し遅れてリスナー５００ｃおよび５００ｆに振動が伝わってもよい。これにより、ユーザは振動の拡がりを感じることができる。
【００６９】
また、結合要素５０２がばね要素とされることで、ユーザは反発力のある物体（例えば内部に気体を有するボールのような物体）が衝突したような触覚を感じることができる。また、結合要素５０２がダンパー要素とされることで、ユーザは衝撃が吸収される服を着ているかのような触覚を感じることができる。
【００７０】
以上のように、複数のリスナー５００間の結合関係に基づいて振動によるフィードバックが行われることにより、ユーザはより多様な振動によるフィードバックを感じることができる。
【００７１】
また、衝突する仮想オブジェクト４００の大きさに応じて、衝突を検知するリスナー５００の数が変化してもよい。図１６は、衝突する仮想オブジェクト４００の大きさと衝突を検知するリスナー５００との関係を示す図である。
【００７２】
例えば、図１６で示されるように、直径がリスナー５００の幅または高さの１つ分より小さい仮想オブジェクト４００ｆがリスナー５００に衝突した場合、１つのリスナー５００が衝突を検知してもよい。また、直径がリスナー５００の幅または高さの１つ分より大きく２つ分より小さい仮想オブジェクト４００ｇがリスナー５００に衝突した場合、縦２つ横２つの合計４つのリスナー５００が衝突を検知してもよい。また、直径がリスナー５００の幅または高さの２つ分より大きく３つ分より小さい仮想オブジェクト４００ｈがリスナー５００に衝突した場合、縦３つ横２つの合計６つのリスナー５００が衝突を検知してもよい。
【００７３】
また、衝突する仮想オブジェクト４００の質量または速度、または質量および速度から得られる仮想オブジェクト４００の運動エネルギーの大きさに応じて、衝突を検知するリスナー５００の数が変化してもよい。また同時に、提供される振動の強度が変化してもよい。つまり、衝突する仮想オブジェクト４００の質量、速度または運動エネルギーが大きいほど衝突を検知するリスナー５００の数が多くなってもよく、振動の強度が強くなってもよい。
【００７４】
また、上述した衝突を検知するリスナー５００の数および振動の強度は、リスナー５００が配置される操作仮想オブジェクト４００ａの属性に基づいて変化してもよい。例えば、複数のリスナー５００が配置された操作仮想オブジェクト４００ａが、ゴムのような衝撃を吸収する属性を有していた場合、衝突を検知するリスナー５００の数は少なくなってもよい。またこのとき衝突によってユーザにフィードバックされる振動の大きさは小さくなってもよい。
【００７５】
＜８．リスナーが接触を検知する検知モード＞
以上では、複数の振動デバイス２０８に対する複数のリスナー５００が操作仮想オブジェクト４００ａに配置される例が説明された。以下では、リスナー５００が接触を検知する範囲について説明される。上述されたように、操作仮想オブジェクト４００ａに配置されたリスナー５００は他の仮想オブジェクト４００との接触を検知する。しかしながらユーザによって、フィードバックを受けたいと考える頻度が異なることが考えられる。
【００７６】
そこで本実施形態では、リスナー５００が接触を検知する範囲が異なる複数のモードが設けられる。複数のモードは、「リスナー５００が振動を全く検知しないモード」と、「リスナー５００が仮想オブジェクト４００がリスナー５００に接触したときに振動を検知するモード」と、「リスナー５００が全ての振動を検知するモード」を含む。ここで「リスナー５００が仮想オブジェクト４００がリスナー５００に接触したときに振動を検知するモード」と、「リスナー５００が全ての振動を検知するモード」との差異点は、例えば上述した衝撃波発生源８００による衝撃波８０２を検知するか否かであってもよく、またある特定の属性を有する仮想オブジェクト４００との接触による振動を検知するか否かであってもよい。
【００７７】
また、上述したようにリスナー５００は音も検知する。よって同様にリスナー５００が音を検知する範囲が異なる複数のモードが設けられてもよい。例えば音に関する複数のモードは、「リスナー５００が音を全く検知しないモード」と、「リスナー５００が一定範囲の音を検知するモード」と、「リスナー５００が全ての音を検知するモード」を含む。
【００７８】
上述したようにリスナー５００が振動および音を検知する範囲に関して複数のモードが設けられることによって、ユーザは自分の好みに合ったモードを選択することができる。
【００７９】
また、仮想空間内では、ユーザが操作する操作仮想オブジェクト４００ａは、ユーザが意図しないところで他の仮想オブジェクト４００と接触することがある。例えばユーザが人型の操作仮想オブジェクト４００ａを操作している場合、人型の操作仮想オブジェクト４００ａの足元で草や石などの仮想オブジェクト４００との接触が起こることがある。このようなときに全ての接触をリスナー５００が検知し、振動によるフィードバックがユーザに対して行われることは好ましくない。
【００８０】
そこで本実施形態ではさらに、上述したリスナー５００が振動および音を検知する範囲に関するモードに加えて、視線検知デバイスからの情報に基づいてリスナー５００が振動および音を検知するモードが設定されてもよい。
【００８１】
図１７は、視線検知デバイス６００を備えるシステムの構成を示す図である。本実施形態のシステムは、ユーザの視線を検知する視線検知デバイス６００を有し、視線検知デバイス６００は視線検知部６０２とゲーム機１００と無線で接続するための通信部６０４とを有する。
【００８２】
視線検知デバイス６００は、例えばユーザの頭に装着される装置（例えばヘッドギアのような装置）であってもよい。この場合、視線検知部６０２は撮像部を備え、撮像部によって撮像された画像に基づいてユーザの視線が検知されてもよい。また、視線検知部６０２はジャイロセンサおよび／または加速度センサであってもよく、当該センサが検知する角速度、角加速度、加速度に基づいて、ユーザの視線が検知されてもよい。
【００８３】
以上のような構成を本実施形態のシステムが有する場合、リスナー５００は、視線検知デバイス６００からの情報に基づく仮想空間内でのユーザの視野内にある仮想オブジェクト４００と操作仮想オブジェクト４００ａとの接触を検知してもよい。このとき、リスナー５００は、仮想空間内でのユーザの視野内に無い仮想オブジェクト４００と操作仮想オブジェクト４００ａとの接触を検知しなくてもよい。
【００８４】
このように視線検知デバイス６００からの情報に基づく仮想空間内でのユーザの視野に関する情報が用いられることにより、ユーザが期待していないタイミングで振動が頻発することが防止され、ユーザがある仮想オブジェクト４００に注目しているときに振動によるフィードバックが得られる。
【００８５】
なお、以上の実施形態では仮想空間内でのユーザの視野を検知するために視線検知デバイス６００が用いられた。しかし通常のディスプレイの場合、ディスプレイ内に描画されている範囲がユーザの視野の範囲とされてもよい。
【００８６】
＜９．スピーカを備えるウェアラブル端末＞
以上では、視線検知デバイス６００を有するシステムの実施形態について説明された。以下では、スピーカを備えるジャケット型のウェアラブル端末７００の動作について説明される。図１８は、スピーカ２１２を備えるジャケット型のウェアラブル端末７００の外観を示す図である。図１８から理解されるように、ユーザの耳に近い位置にスピーカ２１２が配置される。
【００８７】
図１８に示されるボイスコイルモータのような音を出力することができる振動デバイス２０８とスピーカ２１２とを備えるジャケット型のウェアラブル端末７００によって、振動と音が別々にユーザに提供されることによって、仮想オブジェクト４００の位置関係が表現される。
【００８８】
例えば人は音の発生源の方向を左右の耳の音量差および位相差で知覚するため、スピーカ２１２から出力される音によって音の発生源の方向が表現される。また音の発生源との距離は主に音の大きさで知覚されるため、ボイスコイルモータのような振動デバイス２０８で出力する音の大きさを変えて、仮想オブジェクト４００が仮想空間内で接触した位置を表現することができる。
【００８９】
このとき例えば、仮想空間内においてユーザの胸元で仮想オブジェクト４００との接触が生じた場合、ユーザの胸元近くに配置されている順に、振動デバイス２０８ａ、２０８ｄから大きな音が出力され、振動デバイス２０８ｂ、２０８ｅから中程度の音が出力され、振動デバイス２０８ｃ、２０８ｆから小さな音が出力される。このとき例えば、ユーザの耳から振動デバイス２０８までの距離の２乗に反比例させて遠い位置の振動デバイス２０８ほど小さな音量が出力されるように制御が行われてもよい。
【００９０】
また、振動デバイス２０８が振動するときに発生する振動音がユーザに聞こえないことが好ましいため、振動デバイス２０８の振動音を打ち消すように、スピーカ２１２または別の振動デバイス２０８が制御されてもよい。このときジャケット型のウェアラブル端末７００ではユーザの耳に対するスピーカ２１２の相対位置が固定的であるため、振動デバイス２０８に入力される波形に基づいてスピーカ２１２が制御されることで、マイクロフォンを用いずに振動デバイス２０８の振動音を打ち消すことができる。
【００９１】
また、スピーカ２１２付近にマイクロフォンを配置し、ユーザの耳に届くと想定される音をマイクロフォンによって検出し、リアルタイムに逆位相の音が再生されることで、高精度に振動デバイス２０８の振動音を打ち消すことができるとともに、周辺の音も打ち消すことができる。
【００９２】
＜１０．振動データの生成方法＞
以上では、スピーカ２１２を備えるジャケット型のウェアラブル端末７００の動作について説明された。以下では、本実施形態のシステムで用いられる振動データの生成方法について説明される。図１９から図２２は、本実施形態のシステムで用いられる振動データが生成される過程を示す図である。
【００９３】
図１９の左図は、実物体（例えば摩擦係数が大きい面）をなぞった際の加速度データを加速度センサでサンプリングしたときの波形である。また、図１９の右図は、サンプリングされた波形（図１９の左図）の周波数成分を表したグラフである。
【００９４】
図２０は、ピンクノイズの波形および周波数成分を表すグラフである。図２１の左図は、図１９の右図で表された周波数特性を用いて図２０のピンクノイズにイコライザーをかけたときの波形である。
【００９５】
以上のように本実施形態のシステムで用いられる振動データは、実体物から得られた波形に基づいてピンクノイズにイコライザーをかけて生成される。そして「イコライザーのかけられたピンクノイズ」が、操作仮想オブジェクト４００ａの速度に応じて再生される。これによって「連続的な触感の表現」と、「物体固有の触覚の表現」が両立される。
【００９６】
＜１１．補足＞
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属する。
【００９７】
例えば、上述した例では触覚データの例として振動データが説明された。しかし触覚データは振動データに限定されない。例えば触覚データは、電気刺激に関する触覚データであってもよく、また熱に関する触覚データであってもよい。このときリスナー５００は、熱または電気刺激を検知してもよい。
【００９８】
また、上述した振動データと同様に仮想オブジェクト４００が有する属性に基づいて、熱または電気刺激に関する触覚データが生成されてもよい。例えば、操作仮想オブジェクト４００ａが金属の属性を有しているとき、金属は熱伝導率が高いので、急激に熱が伝わるように触覚データが生成されてもよい。一方、操作仮想オブジェクト４００ａが木の属性を有しているとき、木は金属よりも熱伝導率が低いので、金属の属性を有する仮想オブジェクト４００に熱源が振れた場合よりも緩やかに熱が伝わるように触覚データが生成されてもよい。また同様に操作仮想オブジェクト４００ａが金属の属性を有しているとき、金属は電気伝導率が高いので、強い電気刺激がユーザにフィードバックされるように触覚データが生成されてもよい。一方、操作仮想オブジェクト４００ａが木の属性を有しているとき、木は金属よりも電気伝導率が低いので、触覚データは生成されなくてもよい。
【００９９】
また、上述したように操作仮想オブジェクト４００ａから離れた位置にある衝撃波発生源８００からの衝撃波８０２をリスナー５００が検知する実施形態が説明された。このとき、ジャケット型のウェアラブル端末７００は振動する一方、ユーザが把持するコントローラ２００は振動しなくてもよい。つまり、機器の構成（または種類）によって触覚フィードバックが異なってもよい。
【０１００】
また、上述した物理エンジン１０８および触覚エンジン１１０は汎用のプロセッサを用いて実現されてもよい。また、当該プロセッサを上述したように動作させるためのコンピュータプログラムが提供されてもよい。また、このようなプログラムが記憶された記憶媒体が提供されてもよい。
【０１０１】
＜１２．むすび＞
以上説明したように、本開示のシステムは、仮想オブジェクト４００と関連付けられた属性情報に応じて振動データが生成される。また、本開示のシステムは、リスナー５００が配置された操作仮想オブジェクト４００ａと他の仮想オブジェクト４００とが接触したときの相対速度または接触位置に基づいて振動データが生成される。これによってユーザは、臨場感がある振動によるフィードバクを受けることができる。
【０１０２】
また、本開示のシステムでは、リスナー５００が配置された操作仮想オブジェクト４００ａに接触した他の仮想オブジェクト４００と関連付けられた属性情報に基づいて振動データが生成される。ユーザは、ゲームなどを行っているとき、ユーザが操作する操作仮想オブジェクト４００ａの触覚ではなく、操作仮想オブジェクト４００ａに接触する仮想オブジェクト４００の触覚によるフィードバックを望む。よって上述した構成によって、ユーザはより臨場感があるフィードバックを受けることができる。
【０１０３】
また、本開示のシステムでは、仮想オブジェクト４００が属性情報に応じた振動データを有することによって、振動データの生成がリアルタイムで行われる。また、振動データが各仮想オブジェクト４００にマッピングされることによって、容易に振動データを各仮想オブジェクト４００に付与することができる。
【０１０４】
また、本開示のシステムでは、複数のリスナー５００間の結合関係に基づいて振動によるフィードバックが行われることにより、ユーザはより多様な振動によるフィードバックを感じることができる。
【０１０５】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成する仮想空間データ生成部と、
前記仮想オブジェクトに対する接触を検知するリスナーを配置するリスナー配置部と、
前記リスナーが配置された仮想オブジェクトと、
前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成する触覚データ生成部と、を備える情報処理装置。
（２）
前記リスナーが配置された前記仮想オブジェクトは、ユーザが操作する前記仮想オブジェクトである、前記（１）に記載の情報処理装置。
（３）
前記触覚データは振動に関するデータである、前記（１）または前記（２）に記載の情報処理装置。
（４）
前記仮想空間データ生成部は、前記仮想オブジェクトに属性を関連付けるように前記仮想オブジェクトを形成する、前記（１）から前記（３）のいずれか１項に記載の情報処理装置。
（５）
前記仮想オブジェクトの前記属性情報は、前記仮想オブジェクトの質量、剛性、材質、大きさ、形状、位置、速度のうち少なくとも１つを含む、前記（４）に記載の情報処理装置。
（６）
前記触覚データ生成部は、前記ユーザが操作する前記仮想オブジェクトの前記属性に基づいて前記触覚データを生成する、前記（５）に記載の情報処理装置。
（７）
前記触覚データ生成部は、前記ユーザが操作する前記仮想オブジェクトとは異なる前記他の仮想オブジェクトの前記属性に基づいて前記触覚データを生成する、前記（５）に記載の情報処理装置。
（８）
前記触覚データ生成部は、前記ユーザが操作する前記仮想オブジェクトの前記属性および前記ユーザが操作する前記仮想オブジェクトとは異なる前記他の仮想オブジェクトの前記属性の両方に基づいて前記触覚データを生成する、前記（５）に記載の情報処理装置。
（９）
前記触覚データ生成部はさらに、前記リスナーが配置された仮想オブジェクトと、他の仮想オブジェクトとの相対速度または接触位置に応じて前記触覚データを生成する、前記（１）から前記（８）のいずれか１項に記載の情報処理装置。
（１０）
前記触覚データ生成部は、前記リスナーが配置された前記仮想オブジェクトから離れた位置に存在する衝撃の発生源に基づく前記触覚データを生成する、前記（１）から前記（９）のいずれか１項に記載の情報処理装置。
（１１）
前記触覚データ生成部は、前記リスナーが配置された前記仮想オブジェクトと、前記衝撃の発生源との間の媒体に基づいて前記触覚データを生成する、前記（１０）に記載の情報処理装置。
（１２）
前記リスナー配置部は、複数の前記リスナーを前記仮想オブジェクトに配置し、
前記触覚データ生成部は、前記複数の前記リスナーのうちの少なくとも１つに対応する前記触覚デバイスに対する前記触覚データと、前記複数の前記リスナー間の結合関係とに基づいて、前記複数の前記リスナーのうちの他のリスナーに対応する前記触覚デバイスに対する前記触覚データを生成する、前記（１）から前記（１１）のいずれか１項に記載の情報処理装置。
（１３）
前記結合関係は伝搬特性に関する、前記（１２）に記載の情報処理装置。
（１４）
前記伝搬特性は伝搬速度または伝搬の減衰に関する、前記（１３）に記載の情報処理装置。
（１５）
さらに触覚データ生成部は、ユーザの視線を検知する視線検知部からの情報に基づいて前記触覚データを生成する、前記（１）から前記（１４）のいずれか１項に記載の情報処理装置。
（１６）
前記触覚データ生成部は、前記仮想空間における前記ユーザの視野内の前記仮想オブジェクトと、前記ユーザが操作する前記仮想オブジェクトとの接触に基づいて前記触覚データを生成する、前記（１５）に記載の情報処理装置。
（１７）
前記触覚データは、電気刺激または熱に関するデータである、前記（１）から前記（１６）のいずれか１項に記載の情報処理装置。
（１８）
属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成することと、
前記仮想オブジェクトに対する接触を検知するリスナーを配置することと、
前記リスナーが前記仮想オブジェクトに配置されることと、
前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成することと、を含む、方法。
（１９）
プロセッサに属性を有する仮想オブジェクトを含む仮想空間に関するデータを生成させ、
前記仮想オブジェクトに対する接触を検知するリスナーを配置させ、
前記リスナーを前記仮想オブジェクトに配置させ、
前記仮想オブジェクトと、他の仮想オブジェクトが接触したときに、前記仮想オブジェクトの属性情報もしくは前記他の仮想オブジェクトの属性情報のうち少なくとも一つに基づいて、触覚デバイスを動作させる触覚データを生成させる、コンピュータプログラム。
【符号の説明】
【０１０６】
１００    ゲーム機
１０２    処理部
１０４    仮想空間データ生成部
１０６    リスナー配置部
１０８    物理エンジン
１１０    触覚エンジン
１１２    振動データ生成部
１１４    音声データ生成部
１１６    通信部
２００    コントローラ
２０２    処理部
２０４    加速度センサ
２０６    ジャイロセンサ
２０８    振動デバイス
２１０    通信部
２１２    スピーカ
３００    表示装置
４００    仮想オブジェクト
４００ａ    操作仮想オブジェクト
５００    リスナー
５０２    結合要素
６００    視線検知デバイス
６０２    視線検知部
６０４    通信部
７００    ウェアラブル端末
８００    衝撃波発生源
８０２    衝撃波
【図１】
2017043400.tif 000003
【図２】
2017043400.tif 000004
【図３】
2017043400.tif 000005
【図４】
2017043400.tif 000006
【図５】
2017043400.tif 000007
【図６】
2017043400.tif 000008
【図７】
2017043400.tif 000009
【図８】
2017043400.tif 000010
【図９】
2017043400.tif 000011
【図１０】
2017043400.tif 000012
【図１１】
2017043400.tif 000013
【図１２】
2017043400.tif 000014
【図１３】
2017043400.tif 000015
【図１４】
2017043400.tif 000016
【図１５】
2017043400.tif 000017
【図１６】
2017043400.tif 000018
【図１７】
2017043400.tif 000019
【図１８】
2017043400.tif 000020
【図１９】
2017043400.tif 000021
【図２０】
2017043400.tif 000022
【図２１】
2017043400.tif 000023
【国際調査報告】
2017043400.tif 000024
2017043400.tif 000025
2017043400.tif 000026
2017043400.tif 000027