(57)【要約】      （修正有）【課題】仮想空間内で位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させる情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ及び表示システムを提供する。【解決手段】端末装置において、制御プログラムは、仮想空間を仮想カメラで撮像した画像を、ＨＭＤに設けられた表示部１２に表示させる表示制御部１１０と、ＨＭＤの姿勢に関する姿勢情報を取得する姿勢情報取得部１１５と、して機能させる。表示制御部１１０は、仮想空間における仮想点の位置に基づいて、仮想空間における仮想カメラの位置を変化させ、姿勢情報に基づいて、仮想空間における仮想カメラの姿勢を変化させる。仮想点は、仮想空間に存在するキャラクタに基づく位置に設定され、仮想空間におけるキャラクタの位置及び形状のうち少なくとも一方の変化に基づいて、仮想点の位置が変化する。【選択図】図８
2020113291.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを具備する情報処理装置のプログラムであって、
前記プロセッサを、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
して機能させ、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に
基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置のプログラム。
【請求項２】
プロセッサを具備する情報処理装置のプログラムであって、
前記プロセッサを、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
して機能させ、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に
基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置のプログラム。
【請求項３】
前記仮想点は、
前記オブジェクトの特定の部分に設定される、
ことを特徴とする、請求項１または２に記載の情報処理装置のプログラム。
【請求項４】
前記表示制御部は、
前記仮想空間における前記仮想カメラの位置が、
前記仮想空間及び前記仮想点の少なくとも一方に基づいて定められる特定領域内に位置するように、
前記仮想空間における前記仮想カメラの位置を変化させる、
ことを特徴とする、請求項２に記載の情報処理装置のプログラム。
【請求項５】
前記表示制御部は、
前記ヘッドマウントディスプレイが所定の姿勢変化をした場合に、
前記仮想カメラによる前記仮想空間の撮像範囲を変化させる、
ことを特徴とする、請求項１乃至４のうち何れか１項に記載の情報処理装置のプログラム。
【請求項６】
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置。
【請求項７】
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置。
【請求項８】
表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、ヘッドマウントディスプレイ。
【請求項９】
表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、ヘッドマウントディスプレイ。
【請求項１０】
表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、表示システム。
【請求項１１】
表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、表示システムに関する。
【背景技術】
【０００２】
近年、ヘッドマウントディスプレイ（ＨＭＤ：Head Mounted Display）が広く普及しつつある。ＨＭＤは、ユーザの頭部に装着され、ユーザの眼前に設けられた表示部に対して、例えば、仮想カメラで仮想空間を撮像した画像であって、両眼視差を利用した立体視画像等を表示する（例えば、特許文献１参照）。このようなＨＭＤにおいては、一般的に、ＨＭＤの姿勢の変化に基づいて、仮想空間における仮想カメラの姿勢を変化することで、ユーザが仮想空間の様々な方向を視認することを可能としている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１１５１２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ＨＭＤの表示部において、仮想空間内で位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させたい場合がある。この場合、ＨＭＤを装着したユーザは、表示部にオブジェクトを継続的に表示させるために、オブジェクトの位置または形状の変化に応じて、仮想空間内の仮想カメラの位置及び姿勢を変化させることが必要となることがある。
しかし、ユーザからの指示をＨＭＤの姿勢の変化により受け付ける場合、ユーザは、仮想空間における仮想カメラの姿勢の変化以外の操作を行うことが難しく、例えば、仮想空間における仮想カメラの位置の変化等の操作が困難となることがあった。そして、ＨＭＤを装着したユーザが、仮想空間内の仮想カメラの位置及び姿勢の両方を変化させることが難しい場合、表示部において、位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させることが、困難となる場合があった。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、ＨＭＤの表示部において、仮想空間内で位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させることを、可能とする技術の提供を、解決課題の一つとする。
【課題を解決するための手段】
【０００６】
以上の課題を解決するために、本発明の一態様に係る情報処理装置のプログラムは、プロセッサを具備する情報処理装置のプログラムであって、前記プロセッサを、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、して機能させ、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態に係るヘッドマウントディスプレイ１の概要の一例を示す説明図である。
【図２】ヘッドマウントディスプレイ１の使用例を示す説明図である。
【図３】仮想空間ＳP-Vの一例を示す説明図である。
【図４】仮想空間ＳP-Vにおける仮想カメラＣMの一例を示す説明図である。
【図５】表示画像ＧHの一例を示す説明図である。
【図６】視認画像ＧSの一例を示す説明図である。
【図７】仮想空間ＳP-Vにおける仮想カメラＣMの一例を示す説明図である。
【図８】端末装置１０の構成の一例を示すブロック図である。
【図９】端末装置１０のハードウェア構成の一例を示すブロック図である。
【図１０】端末装置１０の動作の一例を示すフローチャートである。
【図１１】端末装置１０の動作の一例を示すフローチャートである。
【図１２】位置追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１３】位置追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１４】位置追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１５】位置追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１６】姿勢追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１７】姿勢追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１８】姿勢追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図１９】姿勢追従制御モードにおける仮想カメラＣMの動作の一例を示す説明図である。
【図２０】変形例１に係る仮想カメラＣMの動作の一例を示す説明図である。
【図２１】変形例４に係る端末装置１０の動作の一例を示すフローチャートである。
【図２２】変形例４に係る端末装置１０の動作の一例を示すフローチャートである。
【図２３】変形例９に係る表示システムＳYSの構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための形態について図面を参照して説明する。なお、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【０００９】
［Ａ．実施形態］
以下、本発明の実施形態を説明する。
【００１０】
［１．ヘッドマウントディスプレイの概要］
以下、図１乃至図７を参照しながら、本実施形態に係るヘッドマウントディスプレイ１（以下、「ＨＭＤ１」と称する）の概要の一例について説明する。
【００１１】
図１は、本実施形態に係るＨＭＤ１の概要の一例を説明するための分解斜視図である。図２は、本実施形態に係るＨＭＤ１の利用イメージの一例を説明するための説明図である。
【００１２】
図１に示すように、本実施形態に係るＨＭＤ１は、端末装置１０と、装着具９０と、を有する。
端末装置１０は、画像を表示するための表示部１２を備える。本実施形態では、端末装置１０としてスマートフォンを採用する場合を、一例として想定する。但し、端末装置１０は、ＨＭＤ１に設けられるための専用の表示デバイスであってもよい。
【００１３】
装着具９０は、図２に示すように、ＨＭＤ１をユーザＵの頭部に装着するための構成要素である。
図１に示すように、装着具９０は、ＨＭＤ１をユーザＵの頭部に装着するための一対のテンプル９１L及び９１Rと、端末装置１０をＨＭＤ１に取り付けるための取付孔９２と、ユーザＵがＨＭＤ１を頭部に装着した場合に、ユーザＵの両眼が存在する位置に対応するように設けられた一対の貫通孔９２L及び９２Rと、を備える。なお、貫通孔９２L及び９２Rの各々には、レンズが設けられていてもよい。そして、ユーザＵが、ＨＭＤ１を頭部に装着した場合、ユーザＵの左眼は、貫通孔９２Lを介して、または、取付孔９２に設けられたレンズを介して、取付孔９２に挿入された端末装置１０が具備する表示部１２を視認することができ、ユーザＵの右眼は、貫通孔９２Rを介して、または、貫通孔９２Rに設けられたレンズを介して、取付孔９２に挿入された端末装置１０が具備する表示部１２を視認することができる。
【００１４】
図２に示すように、ＨＭＤ１を頭部に装着したユーザＵは、頭部の姿勢を変化させることにより、ＨＭＤ１の姿勢を変化させることができる。以下では、説明の便宜上、ＨＭＤ１に固定された座標系である装置座標系ΣＳを導入する。
装置座標系ΣＳとは、例えば、ＨＭＤ１の所定箇所に原点を有し、互いに直交するＸＳ軸、ＹＳ軸、及び、ＺＳ軸を有する３軸の直交座標系である。本実施形態では、図２に示すように、ユーザＵがＨＭＤ１を装着した場合に、＋ＸＳ方向がユーザＵから見た前方方向となり、＋ＹＳ方向がユーザＵから見た左手方向となり、＋ＺＳ方向がユーザＵから見た上方向となるように、装置座標系ΣＳが設定されている場合を、一例として想定する。
【００１５】
図２に示すように、ＨＭＤ１を頭部に装着したユーザＵは、頭部の姿勢を変化させることで、ＸＳ軸周りの回転方向、すなわち、ロール方向ＱＸにＨＭＤ１が回転するように、ＨＭＤ１の姿勢を変化させることが可能であり、ＹＳ軸周りの回転方向、すなわち、ピッチ方向ＱＹにＨＭＤ１が回転するように、ＨＭＤ１の姿勢を変化させることが可能であり、また、ＺＳ軸周りの回転方向、すなわち、ヨー方向ＱＺにＨＭＤ１が回転するように、ＨＭＤ１の姿勢を変化させることが可能である。すなわち、ＨＭＤ１を頭部に装着したユーザＵは、頭部の姿勢を変化させることで、ロール方向ＱＸ、ピッチ方向ＱＹ、及び、ヨー方向ＱＺの一部または全部を合成した任意の回転方向、すなわち、任意の回転軸ＷＳ周りの回転方向ＱＷにＨＭＤ１が回転するように、ＨＭＤ１の姿勢を変化させることが可能である。
【００１６】
端末装置１０は、３次元の仮想的な空間である仮想空間ＳP-Vにおいて、仮想的なカメラである仮想カメラＣMにより仮想空間ＳP-Vを撮像し、撮像結果を示す画像である表示画像ＧHを、表示部１２に表示させる。
【００１７】
図３は、仮想空間ＳP-V及び仮想カメラＣMを説明するための説明図である。
【００１８】
本実施形態では、図３に示すように、仮想空間ＳP-Vにおいて、仮想空間ＳP-Vの環境を構成する地面、床面、及び、壁面等の環境構成物ＥVと、仮想的なキャラクタＶ（「オブジェクト」の一例）と、が存在する場合を、一例として想定する。ここで、キャラクタＶとは、例えば、仮想空間ＳP-Vに存在する仮想的な人物、動物、ロボット、または、モンスター等である。
また、本実施形態では、キャラクタＶが、仮想空間ＳP-Vにおいて複数種類のモーションを実行可能である場合を想定する。ここで、「モーション」とは、例えば、座る、立つ、走る、戦う、及び、ダンスをする等、キャラクタＶが仮想空間ＳP-Vにおいて、位置及び体勢の少なくとも一方を変化させることである。なお、キャラクタＶが体勢を変化させる場合、キャラクタＶの形状も変化する。すなわち、「キャラクタＶの体勢」とは、「オブジェクトの形状」の一例である。
【００１９】
また、本実施形態では、図３に示すように、仮想カメラＣMが、左眼用の仮想カメラＣM-Lと、右眼用の仮想カメラＣM-Rとを含む場合を、一例として想定する。
また、以下では、図３に示すように、仮想空間ＳP-Vに固定された座標系である仮想空間座標系ΣＶを導入する。仮想空間座標系ΣＶとは、例えば、仮想空間ＳP-Vの所定箇所に原点を有し、互いに直交するＸＶ軸、ＹＶ軸、及び、ＺＶ軸を有する３軸の直交座標系である。
【００２０】
図４は、仮想空間ＳP-Vを、＋ＺＶ方向から平面視した場合の、仮想カメラＣM及びキャラクタＶの位置関係を説明するための説明図である。なお、図４では、仮想カメラＣMが、キャラクタＶを、キャラクタＶの正面方向から撮像している場合を例示している。
【００２１】
以下では、図４に示すように、仮想空間ＳP-Vにおける仮想カメラＣM-Lの位置を、位置ＰC-Lと称し、仮想空間ＳP-Vにおける仮想カメラＣM-Rの位置を、位置ＰC-Rと称し、位置ＰC-L及び位置ＰC-Rの中点を、位置ＰCと称する。
また、以下では、図４に示すように、仮想カメラＣM-Lの光軸方向を、撮像方向ＬC-Lと称し、仮想カメラＣM-Rの光軸方向を、撮像方向ＬC-Rと称し、撮像方向ＬC-Lを示すベクトルと、撮像方向ＬC-Rを示すベクトルとの和により示される方向を、撮像方向ＬCと称する。なお、本実施形態では、撮像方向ＬC-Lと撮像方向ＬC-Rとが、同一の方向である場合を想定する。このため、本実施形態では、撮像方向ＬCは、撮像方向ＬC-L及び撮像方向ＬC-Rと同一の方向となる。
【００２２】
図５は、仮想カメラＣMが仮想空間ＳP-Vを撮像した結果である表示画像ＧHの一例を示す図である。なお、図５では、図４に示すように、仮想カメラＣMが、キャラクタＶを、キャラクタＶの正面方向から撮像した場合を想定する。
【００２３】
図５に示すように、表示部１２のうち、貫通孔９２Lを介して視認可能な左眼用視認領域１２-Lには、仮想カメラＣM-Lによる撮像結果、例えば、仮想カメラＣM-LによりキャラクタＶを撮像した結果であるキャラクタ画像ＧV-Lと、仮想カメラＣM-Lにより環境構成物ＥVを撮像した結果である環境画像ＧEV-Lとが、表示される。また、表示部１２のうち、貫通孔９２Rを介して視認可能な右眼用視認領域１２-Rには、仮想カメラＣM-Rによる撮像結果、例えば、仮想カメラＣM-RによりキャラクタＶを撮像した結果であるキャラクタ画像ＧV-Rと、仮想カメラＣM-Rにより環境構成物ＥVを撮像した結果である環境画像ＧEV-Rとが、表示される。
すなわち、ユーザＵは、左眼によりキャラクタ画像ＧV-L及び環境画像ＧEV-Lを視認し、右眼によりキャラクタ画像ＧV-R及び環境画像ＧEV-Rを視認することができる。このため、ユーザＵは、図６に例示するように、表示部１２において、キャラクタＶ及び環境構成物ＥV等の仮想空間ＳP-V内に存在する仮想的な物体を、キャラクタ画像ＧV及び環境画像ＧEV等の立体的な３次元の物体として表した、視認画像ＧSを視認することが可能となる。
【００２４】
なお、以下では、説明の便宜上、図７に例示するように、仮想空間ＳP-Vにおける、仮想カメラＣMとキャラクタＶとの相対的な位置関係を説明する場合に、２台の仮想カメラＣM-L及びＣM-Rを、１台の仮想カメラＣMとして表現することとする。そして、以下では、仮想空間ＳP-Vにおける仮想カメラＣMの位置が位置ＰCであり、仮想カメラＣMの光軸方向が撮像方向ＬCであることと看做す。
また、以下では、説明の便宜上、図７に示すように、仮想空間ＳP-Vにおける仮想カメラＣMに固定された座標系であるカメラ座標系ΣＣを導入する。カメラ座標系ΣＣとは、例えば、仮想空間ＳP-Vのうち仮想カメラＣMの位置ＰCに原点を有し、互いに直交するＸＣ軸、ＹＣ軸、及び、ＺＣ軸を有する３軸の直交座標系である。本実施形態では、ＨＭＤ１を装着したユーザＵから見て、ＸＣ軸がＸＳ軸と平行であり、ＹＣ軸がＹＳ軸と平行であり、ＺＣ軸がＺＳ軸と平行である場合を、一例として想定する。すなわち、本実施形態では、ＸＣ軸が、仮想カメラＣMの撮像方向ＬCに延在する場合を、一例として想定する。なお、図７では、カメラ座標系ΣＣの原点と位置ＰCとを異なる位置として示しているが、これは図示の都合上であって、カメラ座標系ΣＣの原点と位置ＰCとは同一の位置である（後述する図１２乃至図１９でも同様）。
【００２５】
［２．端末装置の構成］
以下、図８及び図９を参照しながら、端末装置１０の構成の一例について説明する。
【００２６】
図８は、端末装置１０の構成の一例を示す機能ブロック図である。
【００２７】
図８に示すように、端末装置１０は、端末装置１０の各部を制御する制御部１１と、画像を表示するための表示部１２と、端末装置１０のユーザＵによる操作を受け付けるための操作部１３と、端末装置１０の姿勢変化を検出して検出結果を示す姿勢情報Ｂを出力する姿勢情報生成部１４と、各種情報を記憶する記憶部１５と、を備える。
【００２８】
本実施形態では、姿勢情報生成部１４として、例えば、３軸の角速度センサ１００２（図９参照）を採用する。具体的には、姿勢情報生成部１４は、単位時間におけるロール方向ＱＸの姿勢変化を検出するＸ軸角速度センサと、単位時間におけるピッチ方向ＱＹの姿勢変化を検出するＹ軸角速度センサと、単位時間におけるヨー方向ＱＺの姿勢変化を検出するＺ軸角速度センサと、を備える。そして、姿勢情報生成部１４は、Ｘ軸角速度センサ、Ｙ軸角速度センサ、及び、Ｚ軸角速度センサによる検出結果を示す姿勢情報Ｂを、周期的に出力する。
【００２９】
記憶部１５は、端末装置１０の制御プログラムＰRGと、キャラクタＶが実行可能な複数種類のモーションに関するモーション情報ＤMとを含む、各種情報を記憶する。
ここで、モーション情報ＤMとは、キャラクタＶが各モーションを実行する場合に、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状の経時的な変化を表す情報である。具体的には、例えば、キャラクタＶが、頭部、胴体部、及び、脚部等の複数の部位から構成される場合、モーション情報ＤMとは、キャラクタＶを構成する複数の部位の各々についての位置の経時的な変化を表す情報であってもよい。または、モーション情報ＤMとは、キャラクタＶを構成する複数の部位間の相対的な位置関係の経時的な変化を表す情報であってもよい。または、モーション情報ＤMとは、キャラクタＶを構成する複数の部位間を接続する関節の角度、すなわち、関節に接続される２つの部位のなす角度の経時的な変化を表す情報であってもよい。
【００３０】
制御部１１は、姿勢情報Ｂを取得する姿勢情報取得部１１５（「取得部」の一例）と、姿勢情報Ｂに基づいて表示画像ＧHを生成する表示制御部１１０と、を備える。
表示制御部１１０は、モード指定部１１１と、仮想カメラ制御部１１２と、キャラクタ制御部１１３と、表示情報生成部１１４と、を備える。
【００３１】
仮想カメラ制御部１１２は、姿勢情報Ｂに基づいて、仮想空間ＳP-Vにおける仮想カメラＣMを制御する。なお、本実施形態において、仮想カメラ制御部１１２は、複数の制御モードによる仮想カメラＣMの制御が可能である。具体的には、仮想カメラ制御部１１２は、位置追従制御モードによる仮想カメラＣMの制御と、姿勢追従制御モードによる仮想カメラＣMの制御と、が可能である。
位置追従制御モードとは、仮想空間ＳP-Vにおける仮想カメラＣMの位置ＰCが、仮想空間ＳP-Vにおける仮想点Ｋの位置ＰKに基づく位置となるように、仮想空間ＳP-Vにおける仮想カメラＣMを制御する制御モードである。また、仮想カメラ制御部１１２は、位置追従制御モードにおいて、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を、姿勢情報Ｂに基づいて変化させる。なお、仮想点Ｋについては後述する。
姿勢追従制御モードとは、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を、例えば、仮想カメラＣMから見て撮像方向ＬCに仮想点Ｋが位置するような姿勢となるように、仮想空間ＳP-Vにおける仮想カメラＣMを制御する制御モードである。また、仮想カメラ制御部１１２は、姿勢追従制御モードにおいて、仮想空間ＳP-Vにおける仮想カメラＣMの位置ＰCを、姿勢情報Ｂに基づいて変化させる。
【００３２】
モード指定部１１１は、仮想カメラ制御部１１２の制御モードを指定する。
表示情報生成部１１４は、仮想カメラＣMによる仮想空間ＳP-Vの撮像結果を表す表示情報ＤSを生成し、当該表示情報ＤSを表示部１２に供給することで、表示部１２に対して表示画像ＧHを表示させる。
キャラクタ制御部１１３は、モーション情報ＤMに基づいて、キャラクタＶにモーションを実行させる。
【００３３】
図９は、端末装置１０のハードウェア構成の一例を示すハードウェア構成図である。
【００３４】
図９に示すように、端末装置１０は、端末装置１０の各部を制御するプロセッサ１０００（「情報処理装置」の一例）と、各種情報を記憶するメモリ１００１と、端末装置１０の姿勢変化を検出して検出結果を示す姿勢情報Ｂを出力する角速度センサ１００２と、各種画像を表示可能な表示装置１００３と、端末装置１０のユーザＵによる操作を受け付けるための入力装置１００４と、を備える。
【００３５】
メモリ１００１は、例えば、プロセッサ１０００の作業領域として機能するＲＡＭ（Random Access Memory）等の揮発性メモリと、端末装置１０の制御プログラムＰRG等の各種情報を記憶するＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性メモリとを含み、記憶部１５として機能する。
プロセッサ１０００は、例えば、ＣＰＵ（Central Processing Unit）であり、メモリ１００１に記憶された制御プログラムＰRGを実行し、当該制御プログラムＰRGに従って動作することで、制御部１１として機能する。
角速度センサ１００２は、上述の通り、Ｘ軸角速度センサ、Ｙ軸角速度センサ、及び、Ｚ軸角速度センサを備え、姿勢情報生成部１４として機能する。
表示装置１００３及び入力装置１００４は、例えば、タッチパネルであり、表示部１２及び操作部１３として機能する。なお、表示装置１００３及び入力装置１００４は、別体として構成されていてもよい。また、入力装置１００４は、タッチパネル、操作ボタン、キーボード、ジョイスティック、及び、マウス等のポインティングデバイスの一部または全部を含む、１または複数の機器から構成されるものであってもよい。
【００３６】
なお、プロセッサ１０００は、ＣＰＵに加え、または、ＣＰＵに替えて、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）、または、ＦＰＧＡ（Field Programmable Gate Array）、等の、ハードウェアを含んで構成されるものであってもよい。この場合、プロセッサ１０００により実現される制御部１１の一部または全部は、ＤＳＰ等のハードウェアにより実現されてもよい。
【００３７】
［３．端末装置の動作］
以下、図１０乃至図１９を参照しながら、端末装置１０の動作の一例について説明する。
【００３８】
図１０及び図１１は、端末装置１０が表示部１２に表示画像ＧHを表示させる表示処理を実行する場合における、端末装置１０の動作の一例を示すフローチャートである。なお、本実施形態では、例えば、ユーザＵが、表示処理を開始させる旨の所定の開始操作を操作部１３から入力した場合に、端末装置１０が、表示処理を開始させることとする。
【００３９】
［３．１．位置追従制御モード］
図１０に示すように、表示処理が開始されると、モード指定部１１１は、制御モードを位置追従制御モードに設定する（Ｓ１００）。
【００４０】
次に、仮想カメラ制御部１１２は、モード指定部１１１が制御モードを位置追従制御モードに設定した際のＨＭＤ１の姿勢を、「初期姿勢」として定める（Ｓ１０２）。
なお、以下では、ＨＭＤ１が初期姿勢である場合の装置座標系ΣＳを、「初期座標系ΣＳ１」と称する。また、以下では、後述する図１２に示すように、モード指定部１１１が制御モードを位置追従制御モードに設定した際の仮想カメラＣMの撮像方向ＬCを、「初期撮像方向ＬC1」と称する。
【００４１】
次に、キャラクタ制御部１１３は、モーション情報ＤMに基づいて、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状（体勢）を決定し、当該決定の結果を示すキャラクタ情報ＤCを生成する（Ｓ１０４）。
具体的には、キャラクタ制御部１１３は、ステップＳ１０４において、例えば、キャラクタＶが実行しているモーションの種類を特定する。そして、キャラクタ制御部１１３は、ステップＳ１０４において、例えば、モーション情報ＤMのうち、特定した種類のモーションに係る情報と、キャラクタＶが当該モーションを開始してからの経過時間と、に基づいて、現在時刻におけるキャラクタＶの位置及び形状を決定することで、キャラクタ情報ＤCを生成する。
なお、本実施形態では、一例として、キャラクタＶが予め定められた種類のモーションを実行している場合を想定する。但し、キャラクタ制御部１１３は、ステップＳ１０４において、キャラクタＶが実行するモーションの種類を決定してもよい。
【００４２】
次に、キャラクタ制御部１１３は、ステップＳ１０４で生成されたキャラクタ情報ＤCに基づいて、仮想空間ＳP-Vにおける仮想点Ｋの位置ＰKを決定し、当該決定の結果を示す仮想点位置情報ＤK（「位置情報」の一例）を生成する（Ｓ１０６）。
具体的には、キャラクタ制御部１１３は、ステップＳ１０６において、例えば、キャラクタＶを構成する、頭部、胴体部、及び、脚部等の複数の部位のうち、キャラクタＶが実行しているモーションの種類に対応する部位に基づく位置（「オブジェクトに基づく位置」の一例）を、仮想点Ｋの位置として決定することで、仮想点位置情報ＤKを生成してもよい。より具体的には、キャラクタ制御部１１３は、ステップＳ１０６において、例えば、キャラクタＶが実行しているモーションの種類に対応するキャラクタＶの部位のうち、キャラクタＶの表面上における特定の位置を、仮想点Ｋの位置として決定し、当該決定された仮想点Ｋの位置を示す仮想点位置情報ＤKを生成してもよい。なお、モーション情報ＤMは、各モーションに対応するキャラクタＶの部位を示す情報を含んでいてもよい。
以下では、後述する図１２に示すように、モード指定部１１１が制御モードを位置追従制御モードに設定した際の仮想点Ｋの位置ＰKを、「初期位置ＰK1」と称する。また、以下では、初期位置ＰK1を起点とし、位置ＰKを終点とするベクトルを、「仮想点位置ベクトルＶK」と称する。
【００４３】
次に、仮想カメラ制御部１１２は、仮想点位置情報ＤKに基づいて、仮想空間ＳP-Vにおける仮想カメラＣMの位置ＰCを決定する（Ｓ１０８）。
具体的には、仮想カメラ制御部１１２は、ステップＳ１０８において、仮想カメラＣMから見て仮想点Ｋが初期撮像方向ＬC1に位置するように、仮想カメラＣMの位置ＰCを決定する。
また、仮想カメラ制御部１１２は、例えば、仮想カメラＣM及び仮想点Ｋの間の距離が、所定の距離Ｄisとなるように、仮想カメラＣMの位置ＰCを決定する。この場合、仮想カメラ制御部１１２は、例えば、仮想カメラＣM及び仮想点Ｋの間の距離が、キャラクタＶが実行しているモーションの種類に応じた距離となるように、仮想カメラＣMの位置ＰCを決定してもよい。
なお、以下では、後述する図１２に示すように、モード指定部１１１が制御モードを位置追従制御モードに設定した際の仮想カメラＣMの位置ＰCを、「初期位置ＰC1」と称する。すなわち、本実施形態において、仮想カメラ制御部１１２は、ステップＳ１０８において、仮想点位置ベクトルＶKの起点を初期位置ＰC1に配置した場合に、当該仮想点位置ベクトルＶKの終点の位置を、仮想カメラＣMの位置ＰCとして決定することになる。
また、以下では、モード指定部１１１が制御モードを位置追従制御モードに設定した際のカメラ座標系ΣＣを、「初期カメラ座標系ΣＣ１」と称する。ここで、初期カメラ座標系ΣＣ１とは、原点の位置が初期位置ＰC1であり、ＸＣ軸が初期撮像方向ＬC1となるような座標系である。すなわち、本実施形態において、仮想カメラ制御部１１２は、ステップＳ１０８において、仮想点位置ベクトルＶKの起点を初期カメラ座標系ΣＣ１の原点に配置した場合に、当該仮想点位置ベクトルＶKの終点の位置を、カメラ座標系ΣＣの原点として決定することになる。
【００４４】
次に、姿勢情報取得部１１５は、姿勢情報生成部１４から姿勢情報Ｂを取得する（Ｓ１１０）。
そして、仮想カメラ制御部１１２は、ステップＳ１１０において、姿勢情報取得部１１５が取得した姿勢情報Ｂに基づいて、ＨＭＤ１の初期姿勢からの姿勢変化ｄB1を算出する（Ｓ１１２）。
なお、本実施形態において、仮想カメラ制御部１１２は、一例として、姿勢変化ｄB1を、初期座標系ΣＳ１における回転軸ＷＳと、回転軸ＷＳ周りの回転角度θＷと、により表現する。すなわち、本実施形態において、姿勢変化ｄB1は、ＨＭＤ１が初期座標系ΣＳ１から見て回転軸ＷＳ周りに回転角度θＷだけ回転した場合、初期座標系ΣＳ１における回転軸ＷＳを示す方向ベクトルと、回転角度θＷを示す値と、を含む。
但し、姿勢変化ｄB1は、他の任意の表現方法により表現されるものであってもよい。例えば、姿勢変化ｄB1は、初期座標系ΣＳ１から装置座標系ΣＳへの姿勢変化を示す姿勢変換行列により表現されるものであってもよいし、初期座標系ΣＳ１から装置座標系ΣＳへの姿勢変化を示すクォータニオンにより表現されるものであってもよい。
また、以下では、ＨＭＤ１が、回転軸ＷＳ周りに回転角度θＷだけ回転した場合に、当該回転角度θＷを、「姿勢変化量」と称する場合がある。
【００４５】
次に、仮想カメラ制御部１１２は、ステップＳ１１２において算出した姿勢変化ｄB1に基づいて、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定する（Ｓ１１４）。
具体的には、ステップＳ１１４において、仮想カメラ制御部１１２は、撮像方向ＬCが、初期撮像方向ＬC1を、姿勢変化ｄB1に対応した姿勢変化量だけ変化させた方向となるように、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定する。すなわち、ステップＳ１１４において、仮想カメラ制御部１１２は、カメラ座標系ΣＣが、初期カメラ座標系ΣＣ１を、姿勢変化ｄB1に対応した姿勢変化量だけ変化した姿勢を有する座標系となるように、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定する。
より具体的には、仮想カメラ制御部１１２は、ステップＳ１１４において、例えば、仮想空間ＳP-Vに仮想回転軸ＷＳＣ１を設定する。ここで、仮想回転軸ＷＳＣ１とは、仮想カメラＣMの初期位置ＰC1と交差する仮想空間ＳP-V内の直線であって、初期カメラ座標系ΣＣ１から見た仮想回転軸ＷＳＣ１の方向を表すベクトルの成分と、初期座標系ΣＳ１から見た回転軸ＷＳの方向を表すベクトルの成分とが、同一となるような直線である。次に、仮想カメラ制御部１１２は、ステップＳ１１４において、例えば、カメラ座標系ΣＣの各座標軸の方向が、初期カメラ座標系ΣＣ１を仮想回転軸ＷＳＣ１周りに回転角度θＷだけ回転させた方向となるように、カメラ座標系ΣＣを設定することで、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定する。なお、上述の通り、仮想カメラ制御部１１２は、ステップＳ１０８において、カメラ座標系ΣＣの原点の位置が、初期カメラ座標系ΣＣ１の原点の位置である初期位置ＰC1を、仮想点位置ベクトルＶKだけ移動させた位置となるように、カメラ座標系ΣＣの原点を設定する。
例えば、仮想カメラ制御部１１２は、ＨＭＤ１が、初期姿勢から、ＺＳ軸周りのヨー方向ＱＺに対して回転角度θＷだけ回転した場合、初期カメラ座標系ΣＣ１のＺＣ軸を仮想回転軸ＷＳＣ１として設定したうえで、カメラ座標系ΣＣを、初期カメラ座標系ΣＣ１を仮想回転軸ＷＳＣ１周りに回転角度θＷだけ回転させた姿勢の座標系とすることで、仮想カメラＣMの姿勢を決定する。
例えば、仮想カメラ制御部１１２は、ＨＭＤ１が、初期姿勢から、ＹＳ軸周りのピッチ方向ＱＹに対して回転角度θＷだけ回転した場合、初期カメラ座標系ΣＣ１のＹＣ軸を仮想回転軸ＷＳＣ１として設定したうえで、カメラ座標系ΣＣを、初期カメラ座標系ΣＣ１を仮想回転軸ＷＳＣ１周りに回転角度θＷだけ回転させた姿勢の座標系とすることで、仮想カメラＣMの姿勢を決定する。
例えば、仮想カメラ制御部１１２は、ＨＭＤ１が、初期姿勢から、ＸＳ軸周りのロール方向ＱＸに対して回転角度θＷだけ回転した場合、初期カメラ座標系ΣＣ１のＸＣ軸を仮想回転軸ＷＳＣ１として設定したうえで、カメラ座標系ΣＣを、初期カメラ座標系ΣＣ１を仮想回転軸ＷＳＣ１周りに回転角度θＷだけ回転させた姿勢の座標系とすることで、仮想カメラＣMの姿勢を決定する。
【００４６】
次に、表示情報生成部１１４は、仮想カメラＣMにより仮想空間ＳP-Vを撮像した結果を示す表示情報ＤSを生成し、当該表示情報ＤSを表示部１２に供給することで、表示部１２に対して表示画像ＧHを表示させる（Ｓ１１６）。
【００４７】
その後、モード指定部１１１は、ステップＳ１１０で取得された姿勢情報Ｂ、または、ステップＳ１１２で算出された姿勢変化ｄB1に基づいて、制御モードを、姿勢追従制御モードに移行させるか否かを判定する（Ｓ１１８）。
本実施形態では、一例として、現在時刻よりも所定時間だけ前の時刻から現在時刻までの判定期間におけるＨＭＤ１の姿勢変化量が、所定の閾値以下の場合に、モード指定部１１１が、制御モードを、位置追従制御モードから姿勢追従制御モードに移行させる場合を想定する。このため、モード指定部１１１は、ステップＳ１１８において、例えば、判定期間におけるＨＭＤ１の姿勢変化量が、所定の閾値以下であるか否かを判定することで、制御モードを、姿勢追従制御モードに移行させるか否かを判定する。なお、モード指定部１１１は、ステップＳ１１８において、例えば、判定期間の開始時刻におけるＨＭＤ１の姿勢と、判定期間内の任意の時刻におけるＨＭＤ１の姿勢との差分が、所定の閾値よりも小さいか否かを判定することで、制御モードを、姿勢追従制御モードに移行させるか否かを判定してもよい。
そして、モード指定部１１１は、ステップＳ１１８における判定の結果が肯定の場合には、処理をステップＳ２００に進め、ステップＳ１１８における判定の結果が否定の場合には、処理をステップＳ１２０に進める。
その後、制御部１１は、ユーザＵが、表示処理を終了させる旨の所定の終了操作を操作部１３から入力したか否かを判定する（Ｓ１２０）。そして、制御部１１は、ステップＳ１２０における判定の結果が否定の場合には、処理をステップＳ１０４に進め、ステップＳ１２０における判定の結果が肯定の場合には、表示処理を終了させる。
【００４８】
以下、図１２〜図１５を参照しつつ、制御モードが位置追従制御モードに設定されている場合における、仮想カメラＣMの位置及び姿勢の変化の一例を説明する。
【００４９】
図１２〜図１５は、−ＹＶ方向から仮想空間ＳP-Vを見た場合の、時刻ｔ1から時刻ｔ4にかけての仮想カメラＣM及びキャラクタＶの動きの一例を説明するための説明図である。
なお、図１２〜図１５に示す例では、キャラクタＶが、図１２に示す時刻ｔ1から図１３に示す時刻ｔ2にかけて「座る」というモーションを実行し、その後、図１４に示す時刻ｔ3から図１５に示す時刻ｔ4にかけて「立つ」というモーションを実行する場合を想定する。すなわち、図１２〜図１５に示す例では、キャラクタＶが、時刻ｔ1において立っている状態となり、その後、時刻ｔ2において座っている状態に変化し、その後、時刻ｔ3まで座っている状態を継続し、その後、時刻ｔ4において立っている状態に変化する場合を例示している。
また、図１２〜図１５に示す例では、仮想点Ｋが、キャラクタＶの「鼻」に設定される場合を、一例として想定する。すなわち、図１２〜図１５に示す例では、「座る」というモーションの種類に対応する仮想点Ｋの位置、及び、「立つ」というモーションの種類に対応する仮想点Ｋの位置が、共に、キャラクタＶの「鼻」である場合を、一例として想定する。
また、図１２〜図１５に示す例では、モード指定部１１１が、時刻ｔ1において、制御モードを位置追従制御モードに設定する場合を想定する。すなわち、図１２〜図１５に示す例では、時刻ｔ1におけるＨＭＤ１の姿勢が、初期姿勢となる。そして、図１２〜図１５に示す例では、ＨＭＤ１が、時刻ｔ1において初期姿勢となり、その後、時刻ｔ2まで初期姿勢を維持し、その後、時刻ｔ3においてＹＳ軸周りに回転角度θＷだけ回転をし、その後、時刻ｔ4まで時刻ｔ3における姿勢を維持する場合を、一例として想定する。
【００５０】
図１２に示すように、キャラクタ制御部１１３は、時刻ｔ1において、立っている状態のキャラクタＶの鼻が存在する位置ＰK(t1)に、仮想点Ｋを設定し、当該位置ＰK(t1)を初期位置ＰK1として定める。
また、仮想カメラ制御部１１２は、時刻ｔ1において、初期姿勢に基づいて定められる撮像方向ＬC(t1)を初期撮像方向ＬC1として定める。なお、図１２では、撮像方向ＬC(t1)が＋ＸＶ方向である場合を、一例として想定する。
そして、仮想カメラ制御部１１２は、時刻ｔ1において、位置ＰK(t1)と初期撮像方向ＬC1とに基づいて、仮想カメラＣMの位置ＰC(t1)を決定し、当該位置ＰC(t1)を初期位置ＰC1として定める。より具体的には、仮想カメラ制御部１１２は、時刻ｔ1において、仮想カメラＣMから見て初期撮像方向ＬC1に位置ＰK(t1)が位置するように、仮想カメラＣMの位置ＰC(t1)を決定する。また、仮想カメラ制御部１１２は、時刻ｔ1において、初期姿勢に対応するカメラ座標系ΣＣを、初期カメラ座標系ΣＣ１として定める。
【００５１】
図１３に示すように、キャラクタ制御部１１３は、時刻ｔ2において、座っている状態のキャラクタＶの鼻が存在する位置ＰK(t2)に、仮想点Ｋを設定する。また、キャラクタ制御部１１３は、初期位置ＰK1を起点とし位置ＰK(t2)を終点とするベクトルを、仮想点位置ベクトルＶK(t2)として定める。
上述の通り、図１２〜図１５に示す例では、ＨＭＤ１が、時刻ｔ1から時刻ｔ2まで初期姿勢を維持する場合を想定する。このため、仮想カメラ制御部１１２は、時刻ｔ2において、初期撮像方向ＬC1を、撮像方向ＬC(t2)として定める。
そして、仮想カメラ制御部１１２は、時刻ｔ2において、仮想カメラＣMから見て初期撮像方向ＬC1に位置ＰK(t2)が位置するように、仮想カメラＣMの位置ＰC(t2)を決定する。すなわち、仮想カメラ制御部１１２は、時刻ｔ2において、初期位置ＰC1を仮想点位置ベクトルＶK(t2)だけ移動した位置を、位置ＰC(t2)として決定する。また、仮想カメラ制御部１１２は、時刻ｔ2において、カメラ座標系ΣＣを、位置ＰC(t2)を原点とし、初期カメラ座標系ΣＣ１と同一の姿勢の有する座標系として設定する。
【００５２】
図１４に示すように、キャラクタ制御部１１３は、時刻ｔ3において、座っている状態のキャラクタＶの鼻が存在する位置ＰK(t3)に、仮想点Ｋを設定する。上述の通り、図１２〜図１５に示す例では、キャラクタＶが、時刻ｔ2から時刻ｔ3まで座っている状態を継続する。このため、位置ＰK(t3)は、位置ＰK(t2)と同一の位置となる。
また、上述の通り、図１２〜図１５に示す例では、ＨＭＤ１が、時刻ｔ2において初期姿勢であり、その後、時刻ｔ2から時刻ｔ3までの間に、ＹＳ軸周りに回転角度θＷだけ回転する。このため、仮想カメラ制御部１１２は、時刻ｔ3において、初期カメラ座標系ΣＣ１のＹＣ軸と平行な仮想回転軸ＷＳＣ１を設定する。そして、仮想カメラ制御部１１２は、時刻ｔ3において、初期撮像方向ＬC1を仮想回転軸ＷＳＣ１回りに回転角度θＷだけ回転させた方向を撮像方向ＬC(t3)として定める。
また、仮想カメラ制御部１１２は、時刻ｔ3において、仮想カメラＣMから見て初期撮像方向ＬC1に位置ＰK(t3)が位置するように、仮想カメラＣMの位置ＰC(t3)を決定する。すなわち、仮想カメラ制御部１１２は、時刻ｔ3において、位置ＰC(t2)と同一の位置を、仮想カメラＣMの位置ＰC(t3)として決定する。また、仮想カメラ制御部１１２は、時刻ｔ3において、カメラ座標系ΣＣを、位置ＰC(t3)を原点とし、初期カメラ座標系ΣＣ１の各座標軸を仮想回転軸ＷＳＣ１回りに回転角度θＷだけ回転させた座標軸を有する座標系として設定する。
【００５３】
図１５に示すように、キャラクタ制御部１１３は、時刻ｔ4において、立っている状態のキャラクタＶの鼻が存在する位置ＰK(t4)に、仮想点Ｋを設定する。なお、図１２〜図１５に示す例では、位置ＰK(t4)が初期位置ＰK1と同一の位置である場合を、一例として想定する。
上述の通り、図１２〜図１５に示す例では、ＨＭＤ１が、時刻ｔ3における姿勢を時刻ｔ4まで維持する。このため、仮想カメラ制御部１１２は、時刻ｔ4において、初期撮像方向ＬC1を仮想回転軸ＷＳＣ１回りに回転角度θＷだけ回転させた方向を、撮像方向ＬC(t4)として定める。
また、仮想カメラ制御部１１２は、時刻ｔ4において、仮想カメラＣMから見て初期撮像方向ＬC1に位置ＰK(t4)が位置するように、仮想カメラＣMの位置ＰC(t4)を決定する。また、仮想カメラ制御部１１２は、時刻ｔ4において、カメラ座標系ΣＣを、位置ＰC(t4)を原点とし、初期カメラ座標系ΣＣ１の各座標軸を仮想回転軸ＷＳＣ１回りに回転角度θＷだけ回転させた座標軸を有する座標系として設定する。
【００５４】
［３．２．姿勢追従制御モード］
図１１に示すように、モード指定部１１１は、制御モードを姿勢追従制御モードに設定する（Ｓ２００）。
【００５５】
次に、仮想カメラ制御部１１２は、モード指定部１１１が制御モードを姿勢追従制御モードに設定した際のＨＭＤ１の姿勢を、「基準姿勢」として定める（Ｓ２０２）。
なお、以下では、ＨＭＤ１が基準姿勢である場合の装置座標系ΣＳを、「基準座標系ΣＳ２」と称する。また、以下では、後述する図１６に示すように、モード指定部１１１が制御モードを姿勢追従制御モードに設定した際の仮想カメラＣMの撮像方向ＬCを、「基準撮像方向ＬC2」と称する。また、以下では、モード指定部１１１が制御モードを姿勢追従制御モードに設定した際の仮想カメラＣMの位置ＰCを、「基準位置ＰC2」と称する。
【００５６】
次に、キャラクタ制御部１１３は、モーション情報ＤMに基づいて、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状を決定し、当該決定の結果を示すキャラクタ情報ＤCを生成する（Ｓ２０４）。
【００５７】
次に、キャラクタ制御部１１３は、ステップＳ２０４で生成されたキャラクタ情報ＤCに基づいて、仮想空間ＳP-Vにおける仮想点Ｋの位置ＰKを決定し、当該決定の結果を示す仮想点位置情報ＤKを生成する（Ｓ２０６）。
以下では、後述する図１６に示すように、モード指定部１１１が制御モードを姿勢追従制御モードに設定した際の仮想点Ｋの位置ＰKを、「基準位置ＰK2」と称する。
【００５８】
次に、仮想カメラ制御部１１２は、仮想点位置情報ＤKに基づいて、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定する（Ｓ２０８）。
具体的には、仮想カメラ制御部１１２は、ステップＳ２０８において、基準位置ＰC2から仮想点Ｋを示す方向が撮像方向ＬCとなるように、仮想カメラＣMの姿勢を決定する。換言すれば、仮想カメラ制御部１１２は、ステップＳ２０８において、カメラ座標系ΣＣの各座標軸が、カメラ座標系ΣＣのＸＣ軸上に仮想点Ｋが位置するような方向を向くように、カメラ座標系ΣＣを設定する。
なお、以下では、モード指定部１１１が制御モードを姿勢追従制御モードに設定した際のカメラ座標系ΣＣを、「基準カメラ座標系ΣＣ２」と称する。ここで、基準カメラ座標系ΣＣ２とは、原点の位置が基準位置ＰC2であり、ＸＣ軸が基準撮像方向ＬC2となるような座標系である。
また、以下では、基準撮像方向ＬC2と撮像方向ＬCとのなす角を、「撮像角度θＫ」と称する。
【００５９】
次に、姿勢情報取得部１１５は、姿勢情報生成部１４から姿勢情報Ｂを取得する（Ｓ２１０）。
そして、仮想カメラ制御部１１２は、ステップＳ２１０において、姿勢情報取得部１１５が取得した姿勢情報Ｂに基づいて、ＨＭＤ１の基準姿勢からの姿勢変化ｄB2を算出する（Ｓ２１２）。
なお、本実施形態において、仮想カメラ制御部１１２は、一例として、姿勢変化ｄB2を、基準座標系ΣＳ２における回転軸ＷＳと、回転軸ＷＳ周りの回転角度θＷと、により表現する。
【００６０】
次に、仮想カメラ制御部１１２は、ステップＳ２１２において算出した姿勢変化ｄB2に基づいて、仮想空間ＳP-Vにおける仮想カメラＣMの位置ＰCを決定する（Ｓ２１４）。
具体的には、ステップＳ２１４において、仮想カメラ制御部１１２は、まず、仮想空間ＳP-Vに仮想回転軸ＷＳＣ２を設定する。ここで、仮想回転軸ＷＳＣ２とは、仮想カメラＣMの基準位置ＰC2と交差する仮想空間ＳP-V内の直線であって、基準カメラ座標系ΣＣ２から見た仮想回転軸ＷＳＣ２の方向を表すベクトルの成分と、基準座標系ΣＳ２から見た回転軸ＷＳの方向を表すベクトルの成分とが、同一となるような直線である。次に、仮想カメラ制御部１１２は、仮想回転軸ＷＳＣ２と撮像方向ＬCとに交差（典型的には、直交）する方向を有し、回転角度θＷに応じた長さを有する、カメラ位置変化ベクトルＶCを生成する。そして、仮想カメラ制御部１１２は、カメラ位置変化ベクトルＶCの起点を基準位置ＰC2としたときの、カメラ位置変化ベクトルＶCの終点の位置を、仮想カメラＣMの位置ＰCとして決定する。換言すれば、仮想カメラ制御部１１２は、ステップＳ２１４において、カメラ座標系ΣＣの原点の位置が、基準カメラ座標系ΣＣ２の原点の位置である基準位置ＰC2を、カメラ位置変化ベクトルＶCだけ移動させた位置となるように、カメラ座標系ΣＣの原点を設定する。なお、上述の通り、仮想カメラ制御部１１２は、ステップＳ２０８において、カメラ座標系ΣＣの各座標軸の方向が、基準カメラ座標系ΣＣ２を仮想回転軸ＷＳＣ２周りに回転角度θＷだけ回転させた方向となるように、カメラ座標系ΣＣを設定することで、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定する。
【００６１】
次に、表示情報生成部１１４は、仮想カメラＣMにより仮想空間ＳP-Vを撮像した結果を示す表示情報ＤSを生成し、当該表示情報ＤSを表示部１２に供給することで、表示部１２に対して表示画像ＧHを表示させる（Ｓ２１６）。
【００６２】
その後、モード指定部１１１は、ステップＳ２１０で取得された姿勢情報Ｂ、または、ステップＳ２１２で算出された姿勢変化ｄB2に基づいて、制御モードを、位置追従制御モードに移行させるか否かを判定する（Ｓ２１８）。
本実施形態では、一例として、現在時刻よりも所定時間だけ前の時刻から現在時刻までの判定期間におけるＨＭＤ１の姿勢変化量が、所定の閾値以下の場合に、モード指定部１１１が、制御モードを、姿勢追従制御モードから位置追従制御モードに移行させる場合を想定する。このため、モード指定部１１１は、ステップＳ２１８において、例えば、判定期間におけるＨＭＤ１の姿勢変化量が、所定の閾値以下であるか否かを判定することで、制御モードを、位置追従制御モードに移行させるか否かを判定する。
そして、モード指定部１１１は、ステップＳ２１８における判定の結果が肯定の場合には、処理をステップＳ１００に進め、ステップＳ２１８における判定の結果が否定の場合には、処理をステップＳ２２０に進める。
その後、制御部１１は、ユーザＵが、表示処理を終了させる旨の所定の終了操作を操作部１３から入力したか否かを判定する（Ｓ２２０）。そして、制御部１１は、ステップＳ２２０における判定の結果が否定の場合には、処理をステップＳ２０４に進め、ステップＳ２２０における判定の結果が肯定の場合には、表示処理を終了させる。
【００６３】
以下、図１６〜図１９を参照しつつ、制御モードが姿勢追従制御モードに設定されている場合における、仮想カメラＣMの位置及び姿勢の変化の一例を説明する。
【００６４】
図１６〜図１９は、−ＹＶ方向から仮想空間ＳP-Vを見た場合の、時刻ｔ5から時刻ｔ8にかけての仮想カメラＣM及びキャラクタＶの動きの一例を説明するための説明図である。
なお、図１６〜図１９に示す例では、キャラクタＶが、図１６に示す時刻ｔ5から図１７に示す時刻ｔ6にかけて「座る」というモーションを実行し、その後、図１８に示す時刻ｔ7から図１９に示す時刻ｔ8にかけて「立つ」というモーションを実行する場合を想定する。すなわち、図１６〜図１８に示す例では、キャラクタＶが、時刻ｔ5において立っている状態となり、その後、時刻ｔ6において座っている状態に変化し、その後、時刻ｔ7まで座っている状態を継続し、その後、時刻ｔ8において立っている状態に変化する場合を例示している。
また、図１６〜図１９に示す例では、仮想点Ｋが、キャラクタＶの「鼻」に設定される場合を、一例として想定する。
また、図１６〜図１９に示す例では、モード指定部１１１が、時刻ｔ5において、制御モードを姿勢追従制御モードに設定する場合を想定する。すなわち、図１６〜図１９に示す例では、時刻ｔ5におけるＨＭＤ１の姿勢が、基準姿勢となる。そして、図１６〜図１９に示す例では、ＨＭＤ１が、時刻ｔ5において基準姿勢となり、その後、時刻ｔ6まで基準姿勢を維持し、その後、時刻ｔ7においてＹＳ軸周りに回転角度θＷだけ回転をし、その後、時刻ｔ8まで時刻ｔ7における姿勢を維持する場合を、一例として想定する。
【００６５】
図１６に示すように、キャラクタ制御部１１３は、時刻ｔ5において、立っている状態のキャラクタＶの鼻が存在する位置ＰK(t5)に、仮想点Ｋを設定し、当該位置ＰK(t5)を基準位置ＰK2として定める。
また、仮想カメラ制御部１１２は、時刻ｔ5における仮想カメラＣMの位置ＰC(t5)を基準位置ＰC2として定める。そして、仮想カメラ制御部１１２は、時刻ｔ5において、位置ＰC(t5)から位置ＰK(t5)に向かう方向を撮像方向ＬC(t5)とし、当該撮像方向ＬC(t5)を、基準撮像方向ＬC2として定める。なお、図１６では、撮像方向ＬC(t5)が＋ＸＶ方向である場合を、一例として想定する。
なお、仮想カメラ制御部１１２は、時刻ｔ5において、基準姿勢に対応するカメラ座標系ΣＣを、基準カメラ座標系ΣＣ２として定める。
【００６６】
図１７に示すように、キャラクタ制御部１１３は、時刻ｔ6において、座っている状態のキャラクタＶの鼻が存在する位置ＰK(t6)に、仮想点Ｋを設定する。この場合、キャラクタ制御部１１３は、例えば、基準位置ＰK2を起点とし位置ＰK(t6)を終点とするベクトルを、仮想点位置ベクトルＶK(t6)として定めてもよい。
上述の通り、図１６〜図１９に示す例では、ＨＭＤ１が、時刻ｔ5から時刻ｔ6まで基準姿勢を維持する場合を想定する。このため、仮想カメラ制御部１１２は、時刻ｔ6において、仮想カメラＣMの位置ＰC(t6)を、基準位置ＰC2に設定する。そして、仮想カメラ制御部１１２は、時刻ｔ6において、基準位置ＰC2から位置ＰK(t6)に向かう方向を撮像方向ＬC(t6)として定める。この場合、基準撮像方向ＬC2と撮像方向ＬC(t6)とのなす角度が、撮像角度θＫとなる。
なお、仮想カメラ制御部１１２は、例えば、基準位置ＰC2と交差し、基準撮像方向ＬC2及び仮想点位置ベクトルＶKの双方に直交するカメラ回転軸ＬKを設定し、基準撮像方向ＬC2をカメラ回転軸ＬK周りに撮像角度θＫだけ回転させることで、撮像方向ＬCを定めてもよい。図１７に示す例では、カメラ回転軸ＬKは、基準カメラ座標系ΣＣ２のＹＣ軸となる。
すなわち、仮想カメラ制御部１１２は、時刻ｔ6において、カメラ座標系ΣＣを、位置ＰC(t6)を原点とし、基準カメラ座標系ΣＣ２をカメラ回転軸ＬK周りに撮像角度θＫだけ回転させた座標系として定める。
【００６７】
図１８に示すように、キャラクタ制御部１１３は、時刻ｔ7において、座っている状態のキャラクタＶの鼻が存在する位置ＰK(t7)に、仮想点Ｋを設定する。上述の通り、図１６〜図１９に示す例では、キャラクタＶが、時刻ｔ6から時刻ｔ7まで座っている状態を継続する。このため、位置ＰK(t7)は、位置ＰK(t6)と同一の位置となる。
また、仮想カメラ制御部１１２は、時刻ｔ7において、基準位置ＰC2から位置ＰK(t7)に向かう方向を撮像方向ＬC(t7)として定める。この場合、基準撮像方向ＬC2と撮像方向ＬC(t7)とのなす角度が、撮像角度θＫとなる。すなわち、撮像方向ＬC(t7)は、撮像方向ＬC(t6)と同一の方向となる。
また、上述の通り、図１６〜図１９に示す例では、ＨＭＤ１が、時刻ｔ6において基準姿勢であり、その後、時刻ｔ6から時刻ｔ7までの間に、ＹＳ軸周りに回転角度θＷだけ回転する。このため、仮想カメラ制御部１１２は、時刻ｔ7において、基準カメラ座標系ΣＣ２のＹＣ軸と平行な仮想回転軸ＷＳＣ２を設定する。そして、仮想カメラ制御部１１２は、時刻ｔ7において、仮想回転軸ＷＳＣ２と撮像方向ＬC(t7)とに直交する方向を有し、回転角度θＷに応じた長さを有する、カメラ位置変化ベクトルＶCを設定する。また、仮想カメラ制御部１１２は、時刻ｔ7において、基準位置ＰC2を、カメラ位置変化ベクトルＶCだけ移動させた位置を、位置ＰC(t7)として定める。
すなわち、仮想カメラ制御部１１２は、時刻ｔ7において、カメラ座標系ΣＣを、位置ＰC(t7)を原点とし、基準カメラ座標系ΣＣ２をカメラ回転軸ＬK周りに撮像角度θＫだけ回転させた座標系として定める。
【００６８】
図１９に示すように、キャラクタ制御部１１３は、時刻ｔ8において、立っている状態のキャラクタＶの鼻が存在する位置ＰK(t8)に、仮想点Ｋを設定する。なお、図１６〜図１９に示す例では、位置ＰK(t8)が基準位置ＰK2と同一の位置である場合を、一例として想定する。
また、仮想カメラ制御部１１２は、時刻ｔ8において、基準位置ＰC2から位置ＰK(t8)に向かう方向を撮像方向ＬC(t8)として定める。この場合、撮像方向ＬC(t8)は、基準撮像方向ＬC2と同一の方向となる。
上述の通り、図１６〜図１９に示す例では、ＨＭＤ１が、時刻ｔ7における姿勢を時刻ｔ8まで維持する。このため、仮想カメラ制御部１１２は、時刻ｔ8において、仮想回転軸ＷＳＣ２と撮像方向ＬC(t8)とに直交する方向を有し、回転角度θＷに応じた長さを有する、カメラ位置変化ベクトルＶCを設定する。そして、仮想カメラ制御部１１２は、時刻ｔ8において、基準位置ＰC2を、カメラ位置変化ベクトルＶCだけ移動させた位置を、位置ＰC(t8)として定める。
すなわち、仮想カメラ制御部１１２は、時刻ｔ8において、カメラ座標系ΣＣを、位置ＰC(t8)を原点とし、基準カメラ座標系ΣＣ２と同一の姿勢を有する座標系として定める。
【００６９】
［４．実施形態の結論］
以上において説明したように、本実施形態において、表示制御部１１０は、制御モードが位置追従制御モードである場合に、仮想点Ｋの位置ＰKに基づいて、仮想カメラＣMの位置ＰCを制御し、ＨＭＤ１の姿勢変化を示す姿勢情報Ｂに基づいて、仮想カメラＣMの撮像方向ＬCを制御することができる。すなわち、表示制御部１１０は、制御モードが位置追従制御モードである場合に、仮想カメラＣMの位置及び姿勢の双方を変化させることができる。このため、本実施形態によれば、ＨＭＤ１を装着したユーザＵが、例えば、仮想カメラＣMの撮像方向ＬCがキャラクタＶを向くように、ＨＭＤ１の姿勢を制御することで、表示部１２にキャラクタＶを継続的に表示することが可能となる。
【００７０】
また、本実施形態において、表示制御部１１０は、制御モードが姿勢追従制御モードである場合に、仮想点Ｋの位置ＰKに基づいて、仮想カメラＣMの撮像方向ＬCを制御し、姿勢情報Ｂに基づいて、仮想カメラＣMの位置ＰCを制御する。すなわち、表示制御部１１０は、制御モードが姿勢追従制御モードである場合に、仮想カメラＣMの位置及び姿勢の双方を変化させることができる。このため、本実施形態によれば、ＨＭＤ１を装着したユーザＵが、例えば、仮想カメラＣMの位置ＰCが、仮想カメラＣMから見て撮像方向ＬCにキャラクタＶが存在するような位置となるように、ＨＭＤ１の姿勢を制御することで、表示部１２にキャラクタＶを継続的に表示することが可能となる。
【００７１】
［Ｂ．変形例］
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２以上の態様は、相互に矛盾しない範囲内で適宜に併合され得る。なお、以下に例示する変形例において作用や機能が実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【００７２】
［変形例１］
上述した実施形態において、仮想カメラ制御部１１２は、制御モードが位置追従制御モードの場合、ＨＭＤ１が初期姿勢からＸＳ軸周りのロール方向ＱＸに対して回転角度θＷだけ回転したときに、仮想カメラＣMの姿勢をカメラ座標系ΣＣのＸＣ軸を周りに回転角度θＷだけ回転させ、また、制御モードが姿勢追従制御モードの場合、ＨＭＤ１が基準姿勢からＸＳ軸周りのロール方向ＱＸに対して回転角度θＷだけ回転したときに、仮想カメラＣMの位置ＰCをＸＣ軸に直交するカメラ位置変化ベクトルＶC方向に対して、回転角度θＷに応じた距離だけ移動させるが、本発明はこのような態様に限定されるものではない。
【００７３】
例えば、図２０に示すように、仮想カメラ制御部１１２は、ＨＭＤ１がロール方向ＱＸに対して回転した場合には、仮想カメラＣMをＸＣ軸に平行な方向に移動させてもよい。
具体的には、仮想カメラ制御部１１２は、ＨＭＤ１が＋ＱＸ方向に回転角度θＷだけ回転した場合には、仮想カメラＣMを＋ＸＣ方向に対して回転角度θＷに応じた距離だけ移動させることで、仮想カメラＣMとキャラクタＶとの距離を近づけ、また、ＨＭＤ１が−ＱＸ方向に回転角度θＷだけ回転した場合には、仮想カメラＣMを−ＸＣ方向に対して回転角度θＷに応じた距離だけ移動させることで、仮想カメラＣMとキャラクタＶとの距離を遠ざけてもよい。
【００７４】
また、例えば、仮想カメラ制御部１１２は、ＨＭＤ１がロール方向ＱＸに対して回転（「所定の姿勢変化」の一例）した場合には、仮想カメラＣMによる撮像範囲を変更してもよい。
具体的には、仮想カメラ制御部１１２は、ＨＭＤ１が＋ＱＸ方向に回転角度θＷだけ回転した場合には、回転角度θＷに応じた倍率で、仮想カメラＣMによる撮像範囲を縮小し、キャラクタＶが拡大して撮像されるようにし、また、ＨＭＤ１が−ＱＸ方向に回転角度θＷだけ回転した場合には、回転角度θＷに応じた倍率で、仮想カメラＣMによる撮像範囲を拡大し、キャラクタＶが縮小して撮像されるようにしてもよい。
【００７５】
［変形例２］
上述した実施形態及び変形例において、キャラクタ制御部１１３は、キャラクタＶの有する複数の部位のうち、キャラクタＶが実行しているモーションの種類に対応する部位に対して、仮想点Ｋを設定するが、本発明はこのような態様に限定されるものではない。
例えば、キャラクタ制御部１１３は、キャラクタＶが実行しているモーションの種類とは無関係に、キャラクタＶの有する複数の部位のうち、所定の部位に対して、仮想点Ｋを設定してもよい。すなわち、キャラクタ制御部１１３は、キャラクタＶの特定の部分に対して、仮想点Ｋを設定してもよい。
また、例えば、キャラクタ制御部１１３は、キャラクタＶが実行しているモーションを、複数の単位動作に区分し、キャラクタＶの有する複数の部位のうち、キャラクタＶが実行している単位動作に対応する部位に対して、仮想点Ｋを設定してもよい。すなわち、キャラクタＶが実行しているモーションが、一の単位動作と他の単位動作とを含む場合、キャラクタＶが一の単位動作を実行している場合に、仮想点Ｋが設定される部位と、キャラクタＶが他の単位動作を実行している場合に、仮想点Ｋが設定される部位とは、異なる部位であってもよい。
【００７６】
［変形例３］
上述した実施形態及び変形例において、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合、ＨＭＤ１の姿勢変化ｄB2に応じて定められるカメラ位置変化ベクトルＶCに基づいて、仮想カメラＣMの位置ＰCを変化させるが、本発明はこのような態様に限定されるものではない。
例えば、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMが、環境構成物ＥVと接触しないように、仮想カメラＣMの位置ＰCを変化させてもよい。具体的には、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMを、環境構成物ＥVからの距離が、距離α（αは、α≧０を満たす実数）以上離間した領域である、領域Ａr1において変化させてもよい。
また、例えば、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMが、仮想点Ｋから遠ざかり過ぎないように、仮想カメラＣMの位置ＰCを変化させてもよい。具体的には、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMを、仮想点Ｋからの距離が、距離β（βは、β＞０を満たす実数）以内となる領域である、領域Ａr2において変化させてもよい。
また、例えば、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMが、キャラクタＶと接触しないように、仮想カメラＣMの位置ＰCを変化させてもよい。具体的には、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMを、キャラクタＶからの距離が、距離γ（γは、γ≧０を満たす実数）以上離間した領域である、領域Ａr3において変化させてもよい。
また、例えば、仮想カメラ制御部１１２は、制御モードが姿勢追従制御モードの場合に、仮想カメラＣMが領域Ａr1に位置するという条件と、仮想カメラＣMが領域Ａr2に位置するという条件と、仮想カメラＣMが領域Ａr3に位置するという条件と、のうち、一部または全部の条件を満たすように、仮想カメラＣMの位置ＰCを変化させてもよい。
【００７７】
［変形例４］
上述した実施形態及び変形例において、制御部１１は、位置追従制御モード及び姿勢追従制御モードの、２つの制御モードによる表示処理の実行が可能であるが、本発明はこのような態様に限定されるものではない。制御部１１は、位置追従制御モード及び姿勢追従制御モードのうち、一方の制御モードによる表示処理の実行が可能であってもよい。
例えば、制御部１１は、図２１に示すように、位置追従制御モードにより表示処理を実行するものであってもよい。なお、図２１に示すフローチャートは、制御部１１が、ステップＳ１１８及びステップＳ２００〜Ｓ２２０の処理を実行しない点を除き、図１０及び図１１に示すフローチャートと同様である。
また、例えば、制御部１１は、図２２に示すように、姿勢追従制御モードにより表示処理を実行するものであってもよい。なお、図２２に示すフローチャートは、制御部１１が、ステップＳ２１８及びステップＳ１００〜Ｓ１２０の処理を実行しない点を除き、図１０及び図１１に示すフローチャートと同様である。
【００７８】
［変形例５］
上述した実施形態及び変形例において、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状は、モーション情報ＤMにより規定されているが、本発明はこのような態様に限定されるものではない。
例えば、キャラクタ制御部１１３は、モーション情報ＤMを用いずに、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状を決定してもよい。
具体的には、キャラクタ制御部１１３は、例えば、ユーザＵによる操作部１３の操作結果、または、ユーザＵに装着されたＨＭＤ１の姿勢の変化に基づいて、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状を決定してもよい。
また、端末装置１０は、外部装置（図示省略）と通信可能な通信装置（図示省略）を具備していてもよい。この場合、キャラクタ制御部１１３は、通信装置が外部装置から受信した情報に基づいて、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状を決定してもよい。例えば、端末装置１０が他の端末装置１０と通信可能である場合、キャラクタ制御部１１３は、端末装置１０に設けられた通信装置が受信した、他のユーザＵによる他の端末装置１０の操作結果に基づいて、仮想空間ＳP-VにおけるキャラクタＶの位置及び形状を決定してもよい。
【００７９】
［変形例６］
上述した実施形態及び変形例において、ＨＭＤ１は、ＨＭＤ１を装着したユーザＵの視線方向を検出するアイトラッキング機能を有していてもよい。
この場合、仮想カメラ制御部１１２は、位置追従制御モードにおいて、ＨＭＤ１の姿勢変化ｄB1の代わりに、ＨＭＤ１を装着したユーザＵの視線方向に基づいて、仮想空間ＳP-Vにおける仮想カメラＣMの姿勢を決定してもよい。
また、この場合、仮想カメラ制御部１１２は、姿勢追従制御モードにおいて、ＨＭＤ１の姿勢変化ｄB2の代わりに、ＨＭＤ１を装着したユーザＵの視線方向に基づいて、仮想空間ＳP-Vにおける仮想カメラＣMの位置ＰCを決定してもよい。
【００８０】
［変形例７］
上述した実施形態及び変形例において、仮想カメラ制御部１１２は、現在時刻の仮想点Ｋの位置ＰKに基づいて、仮想カメラＣMの位置または姿勢を決定するが、本発明はこのような態様に限定されるものではない。仮想カメラ制御部１１２は、現在時刻の仮想点Ｋの位置ＰKと、過去の仮想カメラＣMの位置ＰC、若しくは、過去の仮想カメラＣMの位置ＰCの変化量、または、過去の仮想カメラＣMの姿勢、若しくは、過去の仮想カメラＣMの姿勢の変化量と、に基づいて、現在時刻の仮想カメラＣMの位置または姿勢を決定してもよい。
【００８１】
例えば、仮想カメラ制御部１１２は、位置追従制御モードにおいて、現在時刻の仮想点Ｋの位置ＰKと、過去の仮想カメラＣMの位置ＰC、または、過去の仮想カメラＣMの位置ＰCの変化量と、に基づいて、仮想カメラＣMの位置ＰCを決定してもよい。具体的には、仮想カメラ制御部１１２は、位置追従制御モードにおいて、現在時刻よりも過去の単位期間ＴU1（「第１の単位期間」の一例）における、仮想カメラＣMの位置ＰCの変化量と、単位期間ＴU1に後続し、単位期間ＴU1と同一の時間長を有し、現在時刻を含む単位期間ＴU2（「第２の単位期間」の一例）における、仮想カメラＣMの位置ＰCの変化量とが、所定の閾値（「第１閾値」の一例）以下となるように、現在時刻の仮想点Ｋの位置ＰKに基づいて決定された仮想カメラＣMの位置ＰCを補正してもよい。この場合、キャラクタＶが単位期間ＴU1において実行するモーションと、キャラクタＶが単位期間ＴU2において実行するモーションとは、異なる種類のモーションであってもよい。
この例によれば、仮想空間ＳP-Vにおいて、仮想カメラＣMの位置ＰCが急激に変化することを防止することができるため、仮想カメラＣMの撮像結果である表示画像ＧHを視認するユーザＵが、不快感を感じることを防止することが可能となる。
【００８２】
また、例えば、仮想カメラ制御部１１２は、姿勢追従制御モードにおいて、現在時刻の仮想点Ｋの位置ＰKと、過去の仮想カメラＣMの姿勢、または、過去の仮想カメラＣMの姿勢の変化量と、に基づいて、仮想カメラＣMの姿勢を決定してもよい。具体的には、仮想カメラ制御部１１２は、姿勢追従制御モードにおいて、現在時刻よりも過去の単位期間ＴU3（「第１の単位期間」の他の例）における、仮想カメラＣMの姿勢の変化量と、単位期間ＴU3に後続し、単位期間ＴU3と同一の時間長を有し、現在時刻を含む単位期間ＴU4（「第２の単位期間」の他の例）における、仮想カメラＣMの姿勢の変化量とが、所定の閾値（「第２閾値」の一例）以下となるように、現在時刻の仮想点Ｋの位置ＰKに基づいて決定された仮想カメラＣMの姿勢を補正してもよい。この場合、キャラクタＶが単位期間ＴU3において実行するモーションと、キャラクタＶが単位期間ＴU4において実行するモーションとは、異なる種類のモーションであってもよい。
この例によれば、仮想空間ＳP-Vにおいて、仮想カメラＣMの姿勢が急激に変化することを防止することができるため、仮想カメラＣMの撮像結果である表示画像ＧHを視認するユーザＵが、不快感を感じることを防止することが可能となる。
【００８３】
［変形例８］
上述した実施形態及び変形例において、姿勢情報Ｂは、端末装置１０の姿勢変化の検出結果を示すが、本発明はこのような態様に限定されるものではない。姿勢情報Ｂは、例えば、地上に固定された座標系から見た端末装置１０の姿勢を示す情報であってもよい。
この場合、姿勢情報生成部１４は、例えば、角速度センサ、及び、地磁気センサの一方または双方を含んで構成されていてもよい。また、この場合、姿勢情報Ｂは、例えば、ＨＭＤ１の外部に設けられ、ＨＭＤ１を撮像する撮像装置から出力される画像情報であってもよい。
【００８４】
［変形例９］
上述した実施形態及び変形例において、情報処理装置は、ＨＭＤ１に設けられるが、情報処理装置は、ＨＭＤ１とは別個に設けられてもよい。
【００８５】
図２３は、本変形例に係る表示システムＳYSの構成の一例を示すブロック図である。
図２３に示すように、表示システムＳYSは、情報処理装置２０と、情報処理装置２０と通信可能なヘッドマウントディスプレイ１Ａと、を備える。このうち、情報処理装置２０は、例えば、制御部１１と、操作部１３と、記憶部１５とを備えてもよい。また、ヘッドマウントディスプレイ１Ａは、表示部１２と、姿勢情報生成部１４とに加え、ヘッドマウントディスプレイ１Ａを装着したユーザＵによる操作を受け付ける操作部３１と、各種情報を記憶する記憶部３２と、を備えてもよい。
【００８６】
［Ｃ．付記］
以上の記載から、本発明は例えば以下のように把握される。なお、各態様の理解を容易にするために、以下では、図面の参照符号を便宜的に括弧書きで付記するが、本発明を図示の態様に限定する趣旨ではない。
【００８７】
［付記１］
本発明の一態様に係る情報処理装置のプログラムは、プロセッサを具備する情報処理装置のプログラムであって、前記プロセッサを、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、して機能させ、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【００８８】
この態様によれば、ヘッドマウントディスプレイを装着したユーザが、ヘッドマウントディスプレイの姿勢を変化させることにより、仮想空間における仮想カメラの姿勢を変化させることができ、また、表示制御部が、オブジェクトに基づく位置に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置を変化させることができる。すなわち、この態様において、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイを装着したユーザが、例えば、仮想カメラの光軸方向がオブジェクトと交差するように、ヘッドマウントディスプレイの姿勢を制御することで、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
また、この態様によれば、実空間においてヘッドマウントディスプレイの位置を変化させることなく、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、例えば、実空間においてヘッドマウントディスプレイの位置を変化させることで、仮想空間における仮想カメラの位置または姿勢を変化させる場合と比較して、ヘッドマウントディスプレイを装着したユーザが、容易に、仮想空間における仮想カメラを操作することが可能となる。
また、この態様によれば、表示制御部が、オブジェクトの位置に基づいて仮想カメラの位置を変化させつつ、ヘッドマウントディスプレイの姿勢に基づいて仮想カメラの姿勢を変化させる。このため、この態様によれば、ヘッドマウントディスプレイの表示部にオブジェクトを継続的に表示させることと、ヘッドマウントディスプレイを装着したユーザに対して、仮想カメラの姿勢の操作に係る自由度を提供することとの、両立が可能となる。
【００８９】
なお、上記態様において、「仮想カメラ」とは、例えば、仮想空間を撮像する第１の仮想カメラと、仮想空間内のうち第１の仮想カメラとは異なる位置から仮想空間を撮像する第２の仮想カメラと、を備えるものであってもよい。また、この場合、「立体視画像」とは、例えば、仮想空間を第１の仮想カメラで撮像した、ユーザが左眼で視認するための左眼用画像と、仮想空間を第２の仮想カメラで撮像した、ユーザが右眼で視認するための右眼用画像と、を含む画像であってもよい。
【００９０】
また、上記態様において、「ヘッドマウントディスプレイ」とは、例えば、頭部に装着可能な表示装置であってもよい。具体的には、「ヘッドマウントディスプレイ」とは、頭部に装着可能なゴーグル型または眼鏡型の表示装置であってもよい。また、「ヘッドマウントディスプレイ」とは、例えば、頭部に装着可能な装着具と、当該装着具に対して取り付けられた、スマートフォンのような携帯型の表示装置と、を有するものであってもよい。
【００９１】
また、上記態様において、「ヘッドマウントディスプレイの姿勢」とは、例えば、ヘッドマウントディスプレイの向きであってもよいし、ヘッドマウントディスプレイの傾きであってもよいし、ヘッドマウントディスプレイの向き及び傾きの双方を含む概念であってもよい。ここで、「ヘッドマウントディスプレイの向き」とは、例えば、現実空間における水平面内においてヘッドマウントディスプレイが向いている方向であってもよいし、ヘッドマウントディスプレイの基準方向と磁北方向とのなす角度であってもよい。また、「ヘッドマウントディスプレイの傾き」とは、例えば、ヘッドマウントディスプレイの基準方向と鉛直方向とのなす角度であってもよい。
【００９２】
また、上記態様において、「姿勢情報」とは、例えば、ヘッドマウントディスプレイの姿勢を示す情報であってもよいし、ヘッドマウントディスプレイの姿勢変化を示す情報であってもよい。
【００９３】
また、上記態様において、「取得部」は、例えば、ヘッドマウントディスプレイから姿勢情報を取得してもよいし、ヘッドマウントディスプレイを撮像する撮像装置から姿勢情報を取得してもよい。取得部が、ヘッドマウントディスプレイから姿勢情報を取得する場合、ヘッドマウントディスプレイは、ヘッドマウントディスプレイの姿勢変化を示す情報を検出するためのセンサを備えていてもよいし、ヘッドマウントディスプレイの姿勢を示す情報を検出するためのセンサを備えていてもよい。ここで、「ヘッドマウントディスプレイの姿勢変化を示す情報を検出するためのセンサ」とは、例えば、角速度センサであってもよい。また、「ヘッドマウントディスプレイの姿勢を示す情報を検出するためのセンサ」とは、例えば、地磁気センサ、及び、角速度センサの一方または双方であってもよい。また、取得部が、ヘッドマウントディスプレイを撮像する撮像装置から姿勢情報を取得する場合、姿勢情報は、例えば、撮像装置によりヘッドマウントディスプレイを撮像した結果を示す画像であってもよい。
【００９４】
また、上記態様において、「位置情報」とは、例えば、仮想空間における仮想点の現在位置を示す情報であってもよいし、仮想空間における仮想点の過去または未来の位置を示す情報であってもよいし、仮想空間における仮想点の経時的な位置の変化の軌跡を示す情報であってもよい。
【００９５】
また、上記態様において、「オブジェクト」とは、仮想空間内に存在する仮想的な物体であって、形状と仮想空間における存在位置との一方または双方が変化可能な物体であってもよい。具体的には、「オブジェクト」は、例えば、仮想空間に存在する、人物、動物、及び、モンスター等の、キャラクタであってもよいし、仮想空間に存在する乗り物等の人工物であってもよい。
【００９６】
［付記２］
本発明の他の態様に係る情報処理装置のプログラムは、プロセッサを具備する情報処理装置のプログラムであって、前記プロセッサを、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、して機能させ、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【００９７】
この態様によれば、ヘッドマウントディスプレイを装着したユーザが、ヘッドマウントディスプレイの姿勢を変化させることにより、仮想空間における仮想カメラの位置を変化させることができ、また、表示制御部が、オブジェクトに基づく位置に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの姿勢を変化させることができる。すなわち、この態様において、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイを装着したユーザが、例えば、ヘッドマウントディスプレイの姿勢を変化させることにより、仮想カメラの光軸方向がオブジェクトと交差するように、ヘッドマウントディスプレイの位置を制御することで、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
また、この態様によれば、実空間においてヘッドマウントディスプレイの位置を変化させることなく、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、例えば、実空間においてヘッドマウントディスプレイの位置を変化させることで、仮想空間における仮想カメラの位置または姿勢を変化させる場合と比較して、ヘッドマウントディスプレイを装着したユーザが、容易に、仮想空間における仮想カメラを操作することが可能となる。
また、この態様によれば、表示制御部が、オブジェクトの位置に基づいて仮想カメラの姿勢を変化させつつ、ヘッドマウントディスプレイの姿勢に基づいて仮想カメラの位置を変化させる。このため、この態様によれば、ヘッドマウントディスプレイの表示部にオブジェクトを継続的に表示させることと、ヘッドマウントディスプレイを装着したユーザに対して、仮想カメラの位置の操作に係る自由度を提供することとの、両立が可能となる。
【００９８】
［付記３］
本発明の他の態様に係る情報処理装置のプログラムは、付記１または２に記載の情報処理装置のプログラムであって、前記仮想点は、前記オブジェクトの特定の部分に設定される、ことを特徴とする。
【００９９】
この態様によれば、表示制御部が、オブジェクトの特定の部分に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置または姿勢を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【０１００】
［付記４］
本発明の他の態様に係る情報処理装置のプログラムは、付記１または２に記載の情報処理装置のプログラムであって、前記仮想点は、前記オブジェクトが位置及び形状の少なくとも一方を変化させるモーションを実行する場合に、前記オブジェクトのうち、前記モーションに応じた部分に設定される、ことを特徴とする。
【０１０１】
この態様によれば、表示制御部が、オブジェクトのうちモーションに応じた部分に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置または姿勢を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトのうちモーションに応じた部分を含む領域を継続的に表示させることが可能となる。
【０１０２】
なお、上記態様において、「モーションに応じた部分」とは、モーションに応じて変化する部分であってもよい。具体的には、オブジェクトが第１の部分と第２の部分とを有する場合、モーションが第１の進行段階にあるときには、仮想点がオブジェクトの第１の部分に設定され、モーションが第２の進行段階にあるときには、仮想点がオブジェクトの第２の部分に設定される等、モーションの進行段階に応じて、仮想点が設定されるオブジェクトの部分が変化してもよい。
【０１０３】
［付記５］
本発明の他の態様に係る情報処理装置のプログラムは、付記１または２に記載の情報処理装置のプログラムであって、前記オブジェクトは、前記仮想空間における位置及び形状の少なくとも一方を変化させる複数種類のモーションを実行可能であり、前記仮想点は、前記オブジェクトのうち、前記オブジェクトの実行しているモーションの種類に応じた部分に設定される、ことを特徴とする。
【０１０４】
この態様によれば、表示制御部が、オブジェクトのうちモーションの種類に応じた部分に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置または姿勢を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトのうちモーションの種類に応じた部分を含む領域を継続的に表示させることが可能となる。
【０１０５】
なお、上記態様において、「モーションの種類」とは、例えば、座る、立つ、歩く、及び、走る等の、個別のモーションを区別するための情報であってもよい。また、上記態様において、「モーションの種類」とは、オブジェクトが実行可能な複数のモーションを、所定の基準により分類した結果を示す情報であってもよい。
ここで、モーションを分類するための「所定の基準」とは、モーションの内容に基づく基準であってもよい。具体的には、「所定の基準」とは、例えば、オブジェクトが直立した状態で行われるモーションであるか否か、オブジェクトがモーションを実行する場合にオブジェクトの位置の変化量が所定の変化量以上となる位置変化の大きいモーションであるか否か、及び、オブジェクトがモーションを実行する場合にオブジェクトの形状の変化量が所定の変化量以上となる姿勢変化の大きいモーションであるか否か、等の一部または全部を含むものであってもよい。
また、モーションを分類するための「所定の基準」とは、モーションを実行可能なオブジェクトの種類に基づく基準であってもよい。具体的には、「所定の基準」とは、例えば、人間により実行可能なモーションであるか否か、人間以外のモンスター等により実行可能なモーションであるか否か、及び、仮想的な生物以外の人工物により実行可能なモーションであるか否か、等の一部または全部を含むものであってもよい。
【０１０６】
［付記６］
本発明の他の態様に係る情報処理装置のプログラムは、付記１に記載の情報処理装置のプログラムであって、前記表示制御部は、第１の単位期間における、前記仮想カメラの前記仮想空間における位置の変化量と、前記第１の単位期間に後続する第２の単位期間における、前記仮想カメラの前記仮想空間における位置の変化量と、の差分値が、第１閾値以下となるように、前記仮想空間における前記仮想カメラの位置を変化させる、ことを特徴とする。
【０１０７】
この態様によれば、表示制御部は、例えば、第１の単位期間と第２の単位期間との間で、仮想カメラの移動速度を滑らかに変化させることができる。これにより、この態様によれば、例えば、第１の単位期間と第２の単位期間との間で、仮想カメラの移動速度が急激に変化する場合と比較して、ヘッドマウントディスプレイを装着したユーザが違和感を感じる可能性を低減することが可能となる。
【０１０８】
なお、上記態様において、「第１の単位期間」及び「第２の単位期間」とは、同一の時間長を有する期間であってもよい。例えば、「第１の単位期間」及び「第２の単位期間」は、表示部に１枚の画像を表示するために必要な、１つのフレーム期間であってもよいし、表示部に複数の画像を表示するために必要な、複数のフレーム期間であってもよい。
【０１０９】
［付記７］
本発明の他の態様に係る情報処理装置のプログラムは、付記２に記載の情報処理装置のプログラムであって、前記表示制御部は、第１の単位期間における、前記仮想カメラの前記仮想空間における姿勢の変化量と、前記第１の単位期間に後続する第２の単位期間における、前記仮想カメラの前記仮想空間における姿勢の変化量と、の差分値が、第２閾値以下となるように、前記仮想空間における前記仮想カメラの姿勢を変化させる、ことを特徴とする。
【０１１０】
この態様によれば、表示制御部は、例えば、第１の単位期間と第２の単位期間との間で、仮想カメラの姿勢の変化速度を滑らかに変化させることができる。これにより、この態様によれば、例えば、第１の単位期間と第２の単位期間との間で、仮想カメラの姿勢の変化速度が急激に変化する場合と比較して、ヘッドマウントディスプレイを装着したユーザが違和感を感じる可能性を低減することが可能となる。
【０１１１】
［付記８］
本発明の他の態様に係る情報処理装置のプログラムは、付記６または７に記載の情報処理装置のプログラムであって、前記第１の単位期間は、前記オブジェクトが位置及び形状の少なくとも一方を変化させる、第１のモーションを実行する期間であり、前記第２の単位期間は、前記オブジェクトが位置及び形状の少なくとも一方を、前記第１のモーションとは異なる態様で変化させる、第２のモーションを実行する期間である、ことを特徴とする。
【０１１２】
この態様によれば、表示制御部は、例えば、オブジェクトのモーションを切り替える際に、仮想カメラの移動速度または姿勢の変化速度を滑らかに変化させることができる。これにより、この態様によれば、例えば、オブジェクトがモーションを切り替える際に、仮想カメラの移動速度または姿勢の変化速度が急激に変化する場合と比較して、ヘッドマウントディスプレイを装着したユーザが違和感を感じる可能性を低減することが可能となる。
【０１１３】
［付記９］
本発明の他の態様に係る情報処理装置のプログラムは、付記２に記載の情報処理装置のプログラムであって、前記表示制御部は、前記仮想空間における前記仮想カメラの位置が、前記仮想空間及び前記仮想点の少なくとも一方に基づいて定められる特定領域内に位置するように、前記仮想空間における前記仮想カメラの位置を変化させる、ことを特徴とする。
【０１１４】
この態様によれば、表示制御部は、仮想カメラが特定領域内に位置するように、仮想空間における仮想カメラの位置を設定する。このため、この態様によれば、例えば、仮想カメラによるオブジェクトの撮像が仮想空間の構成要素により妨げられたり、または、仮想カメラがオブジェクトから所定の距離より離間してオブジェクトの撮像が困難になったりすることを、防止することが可能となる。
【０１１５】
なお、上記態様において、「特定領域」とは、仮想空間のうち、オブジェクトが存在する領域以外の領域であってもよいし、仮想空間のうち、仮想空間を構成する建物、地面、及び、森林、山岳等の環境構成物が存在する領域以外の領域であってもよい。この態様において、「特定領域」とは、仮想点からの距離が所定の距離以下となる領域であってもよい。
【０１１６】
［付記１０］
本発明の他の態様に係る情報処理装置のプログラムは、付記１乃至９に記載の情報処理装置のプログラムであって、前記表示制御部は、前記ヘッドマウントディスプレイが所定の姿勢変化をした場合に、前記仮想カメラによる前記仮想空間の撮像範囲を変化させる、ことを特徴とする。
【０１１７】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの表示部に対して、オブジェクトを、ユーザの所望の大きさで表示させることが可能となる。
【０１１８】
［付記１１］
本発明の一態様に係る情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【０１１９】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【０１２０】
［付記１２］
本発明の他の態様に係る情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【０１２１】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【０１２２】
［付記１３］
本発明の一態様に係るヘッドマウントディスプレイは、表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【０１２３】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【０１２４】
［付記１４］
本発明の他の態様に係るヘッドマウントディスプレイは、表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【０１２５】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【０１２６】
［付記１５］
本発明の一態様に係る表示システムは、表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【０１２７】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【０１２８】
［付記１６］
本発明の他の態様に係る表示システムは、表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【０１２９】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【符号の説明】
【０１３０】
１…ヘッドマウントディスプレイ、１０…端末装置、１１…制御部、１２…表示部、１３…操作部、１４…姿勢情報生成部、１５…記憶部、１１０…表示制御部、１１１…モード指定部、１１２…仮想カメラ制御部、１１３…キャラクタ制御部、１１４…表示情報生成部、１１５…姿勢情報取得部、１０００…プロセッサ、１００２…角速度センサ。
【図１】
2020113291.tif 000003
【図２】
2020113291.tif 000004
【図３】
2020113291.tif 000005
【図４】
2020113291.tif 000006
【図５】
2020113291.tif 000007
【図６】
2020113291.tif 000008
【図７】
2020113291.tif 000009
【図８】
2020113291.tif 000010
【図９】
2020113291.tif 000011
【図１０】
2020113291.tif 000012
【図１１】
2020113291.tif 000013
【図１２】
2020113291.tif 000014
【図１３】
2020113291.tif 000015
【図１４】
2020113291.tif 000016
【図１５】
2020113291.tif 000017
【図１６】
2020113291.tif 000018
【図１７】
2020113291.tif 000019
【図１８】
2020113291.tif 000020
【図１９】
2020113291.tif 000021
【図２０】
2020113291.tif 000022
【図２１】
2020113291.tif 000023
【図２２】
2020113291.tif 000024
【図２３】
2020113291.tif 000025