IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コナミデジタルエンタテインメントの特許一覧

特許7043711情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、表示システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-22
(45)【発行日】2022-03-30
(54)【発明の名称】情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、表示システム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20220323BHJP
   G06F 3/01 20060101ALI20220323BHJP
【FI】
G06T19/00 300B
G06F3/01 510
【請求項の数】 11
(21)【出願番号】P 2020030567
(22)【出願日】2020-02-26
(62)【分割の表示】P 2018011423の分割
【原出願日】2018-01-26
(65)【公開番号】P2020113291
(43)【公開日】2020-07-27
【審査請求日】2020-12-22
(73)【特許権者】
【識別番号】506113602
【氏名又は名称】株式会社コナミデジタルエンタテインメント
(74)【代理人】
【識別番号】100125689
【弁理士】
【氏名又は名称】大林 章
(74)【代理人】
【識別番号】100128598
【弁理士】
【氏名又は名称】高田 聖一
(74)【代理人】
【識別番号】100121108
【弁理士】
【氏名又は名称】高橋 太朗
(72)【発明者】
【氏名】小川 和宏
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2017-142783(JP,A)
【文献】特開2012-003363(JP,A)
【文献】特開2009-237680(JP,A)
【文献】国際公開第2016/157523(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 3/048 - 3/0489
(57)【特許請求の範囲】
【請求項1】
プロセッサを具備する情報処理装置のプログラムであって、
前記プロセッサを、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
して機能させ、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に
基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置のプログラム。
【請求項2】
プロセッサを具備する情報処理装置のプログラムであって、
前記プロセッサを、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
して機能させ、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に
基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置のプログラム。
【請求項3】
前記仮想点は、
前記オブジェクトの特定の部分に設定される、
ことを特徴とする、請求項1または2に記載の情報処理装置のプログラム。
【請求項4】
前記表示制御部は、
前記仮想空間における前記仮想カメラの位置が、
前記仮想空間及び前記仮想点の少なくとも一方に基づいて定められる特定領域内に位置するように、
前記仮想空間における前記仮想カメラの位置を変化させる、
ことを特徴とする、請求項2に記載の情報処理装置のプログラム。
【請求項5】
前記表示制御部は、
前記ヘッドマウントディスプレイが所定の姿勢変化をした場合に、
前記仮想カメラによる前記仮想空間の撮像範囲を変化させる、
ことを特徴とする、請求項1乃至4のうち何れか1項に記載の情報処理装置のプログラム。
【請求項6】
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置。
【請求項7】
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、情報処理装置。
【請求項8】
表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、ヘッドマウントディスプレイ。
【請求項9】
表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、ヘッドマウントディスプレイ。
【請求項10】
表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、表示システム。
【請求項11】
表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、
前記情報処理装置は、
仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、
前記表示部に表示させる表示制御部と、
前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、
を備え、
前記表示制御部は、
前記仮想空間における仮想点の位置に関する位置情報に基づいて、
前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、
前記姿勢情報に基づいて、
前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、
前記仮想点は、
前記仮想空間に存在するオブジェクトに基づく位置に設定され、
前記仮想空間における前記オブジェクトの形状の変化に基づいて、
前記仮想点の位置が変化し、
前記仮想点は、
前記オブジェクトが形状を変化させるモーションを実行する場合に、
前記オブジェクトのうち、前記モーションに応じた部分に設定される、
ことを特徴とする、表示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置のプログラム、ヘッドマウントディスプレイ、及び、表示システムに関する。
【背景技術】
【0002】
近年、ヘッドマウントディスプレイ(HMD:Head Mounted Display)が広く普及しつつある。HMDは、ユーザの頭部に装着され、ユーザの眼前に設けられた表示部に対して、例えば、仮想カメラで仮想空間を撮像した画像であって、両眼視差を利用した立体視画像等を表示する(例えば、特許文献1参照)。このようなHMDにおいては、一般的に、HMDの姿勢の変化に基づいて、仮想空間における仮想カメラの姿勢を変化することで、ユーザが仮想空間の様々な方向を視認することを可能としている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-115122号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、HMDの表示部において、仮想空間内で位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させたい場合がある。この場合、HMDを装着したユーザは、表示部にオブジェクトを継続的に表示させるために、オブジェクトの位置または形状の変化に応じて、仮想空間内の仮想カメラの位置及び姿勢を変化させることが必要となることがある。
しかし、ユーザからの指示をHMDの姿勢の変化により受け付ける場合、ユーザは、仮想空間における仮想カメラの姿勢の変化以外の操作を行うことが難しく、例えば、仮想空間における仮想カメラの位置の変化等の操作が困難となることがあった。そして、HMDを装着したユーザが、仮想空間内の仮想カメラの位置及び姿勢の両方を変化させることが難しい場合、表示部において、位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させることが、困難となる場合があった。
【0005】
本発明は、上述した事情を鑑みてなされたものであり、HMDの表示部において、仮想空間内で位置及び形状の一方または双方を変化させるオブジェクトを継続的に表示させることを、可能とする技術の提供を、解決課題の一つとする。
【課題を解決するための手段】
【0006】
以上の課題を解決するために、本発明の一態様に係る情報処理装置のプログラムは、プロセッサを具備する情報処理装置のプログラムであって、前記プロセッサを、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、して機能させ、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【図面の簡単な説明】
【0007】
図1】本発明の実施形態に係るヘッドマウントディスプレイ1の概要の一例を示す説明図である。
図2】ヘッドマウントディスプレイ1の使用例を示す説明図である。
図3】仮想空間SP-Vの一例を示す説明図である。
図4】仮想空間SP-Vにおける仮想カメラCMの一例を示す説明図である。
図5】表示画像GHの一例を示す説明図である。
図6】視認画像GSの一例を示す説明図である。
図7】仮想空間SP-Vにおける仮想カメラCMの一例を示す説明図である。
図8】端末装置10の構成の一例を示すブロック図である。
図9】端末装置10のハードウェア構成の一例を示すブロック図である。
図10】端末装置10の動作の一例を示すフローチャートである。
図11】端末装置10の動作の一例を示すフローチャートである。
図12】位置追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図13】位置追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図14】位置追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図15】位置追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図16】姿勢追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図17】姿勢追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図18】姿勢追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図19】姿勢追従制御モードにおける仮想カメラCMの動作の一例を示す説明図である。
図20】変形例1に係る仮想カメラCMの動作の一例を示す説明図である。
図21】変形例4に係る端末装置10の動作の一例を示すフローチャートである。
図22】変形例4に係る端末装置10の動作の一例を示すフローチャートである。
図23】変形例9に係る表示システムSYSの構成の一例を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本発明を実施するための形態について図面を参照して説明する。なお、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【0009】
[A.実施形態]
以下、本発明の実施形態を説明する。
【0010】
[1.ヘッドマウントディスプレイの概要]
以下、図1乃至図7を参照しながら、本実施形態に係るヘッドマウントディスプレイ1(以下、「HMD1」と称する)の概要の一例について説明する。
【0011】
図1は、本実施形態に係るHMD1の概要の一例を説明するための分解斜視図である。図2は、本実施形態に係るHMD1の利用イメージの一例を説明するための説明図である。
【0012】
図1に示すように、本実施形態に係るHMD1は、端末装置10と、装着具90と、を有する。
端末装置10は、画像を表示するための表示部12を備える。本実施形態では、端末装置10としてスマートフォンを採用する場合を、一例として想定する。但し、端末装置10は、HMD1に設けられるための専用の表示デバイスであってもよい。
【0013】
装着具90は、図2に示すように、HMD1をユーザUの頭部に装着するための構成要素である。
図1に示すように、装着具90は、HMD1をユーザUの頭部に装着するための一対のテンプル91L及び91Rと、端末装置10をHMD1に取り付けるための取付孔92と、ユーザUがHMD1を頭部に装着した場合に、ユーザUの両眼が存在する位置に対応するように設けられた一対の貫通孔92L及び92Rと、を備える。なお、貫通孔92L及び92Rの各々には、レンズが設けられていてもよい。そして、ユーザUが、HMD1を頭部に装着した場合、ユーザUの左眼は、貫通孔92Lを介して、または、取付孔92に設けられたレンズを介して、取付孔92に挿入された端末装置10が具備する表示部12を視認することができ、ユーザUの右眼は、貫通孔92Rを介して、または、貫通孔92Rに設けられたレンズを介して、取付孔92に挿入された端末装置10が具備する表示部12を視認することができる。
【0014】
図2に示すように、HMD1を頭部に装着したユーザUは、頭部の姿勢を変化させることにより、HMD1の姿勢を変化させることができる。以下では、説明の便宜上、HMD1に固定された座標系である装置座標系Σを導入する。
装置座標系Σとは、例えば、HMD1の所定箇所に原点を有し、互いに直交するX軸、Y軸、及び、Z軸を有する3軸の直交座標系である。本実施形態では、図2に示すように、ユーザUがHMD1を装着した場合に、+X方向がユーザUから見た前方方向となり、+Y方向がユーザUから見た左手方向となり、+Z方向がユーザUから見た上方向となるように、装置座標系Σが設定されている場合を、一例として想定する。
【0015】
図2に示すように、HMD1を頭部に装着したユーザUは、頭部の姿勢を変化させることで、X軸周りの回転方向、すなわち、ロール方向QにHMD1が回転するように、HMD1の姿勢を変化させることが可能であり、Y軸周りの回転方向、すなわち、ピッチ方向QにHMD1が回転するように、HMD1の姿勢を変化させることが可能であり、また、Z軸周りの回転方向、すなわち、ヨー方向QにHMD1が回転するように、HMD1の姿勢を変化させることが可能である。すなわち、HMD1を頭部に装着したユーザUは、頭部の姿勢を変化させることで、ロール方向Q、ピッチ方向Q、及び、ヨー方向Qの一部または全部を合成した任意の回転方向、すなわち、任意の回転軸W周りの回転方向QにHMD1が回転するように、HMD1の姿勢を変化させることが可能である。
【0016】
端末装置10は、3次元の仮想的な空間である仮想空間SP-Vにおいて、仮想的なカメラである仮想カメラCMにより仮想空間SP-Vを撮像し、撮像結果を示す画像である表示画像GHを、表示部12に表示させる。
【0017】
図3は、仮想空間SP-V及び仮想カメラCMを説明するための説明図である。
【0018】
本実施形態では、図3に示すように、仮想空間SP-Vにおいて、仮想空間SP-Vの環境を構成する地面、床面、及び、壁面等の環境構成物EVと、仮想的なキャラクタV(「オブジェクト」の一例)と、が存在する場合を、一例として想定する。ここで、キャラクタVとは、例えば、仮想空間SP-Vに存在する仮想的な人物、動物、ロボット、または、モンスター等である。
また、本実施形態では、キャラクタVが、仮想空間SP-Vにおいて複数種類のモーションを実行可能である場合を想定する。ここで、「モーション」とは、例えば、座る、立つ、走る、戦う、及び、ダンスをする等、キャラクタVが仮想空間SP-Vにおいて、位置及び体勢の少なくとも一方を変化させることである。なお、キャラクタVが体勢を変化させる場合、キャラクタVの形状も変化する。すなわち、「キャラクタVの体勢」とは、「オブジェクトの形状」の一例である。
【0019】
また、本実施形態では、図3に示すように、仮想カメラCMが、左眼用の仮想カメラCM-Lと、右眼用の仮想カメラCM-Rとを含む場合を、一例として想定する。
また、以下では、図3に示すように、仮想空間SP-Vに固定された座標系である仮想空間座標系Σを導入する。仮想空間座標系Σとは、例えば、仮想空間SP-Vの所定箇所に原点を有し、互いに直交するX軸、Y軸、及び、Z軸を有する3軸の直交座標系である。
【0020】
図4は、仮想空間SP-Vを、+Z方向から平面視した場合の、仮想カメラCM及びキャラクタVの位置関係を説明するための説明図である。なお、図4では、仮想カメラCMが、キャラクタVを、キャラクタVの正面方向から撮像している場合を例示している。
【0021】
以下では、図4に示すように、仮想空間SP-Vにおける仮想カメラCM-Lの位置を、位置PC-Lと称し、仮想空間SP-Vにおける仮想カメラCM-Rの位置を、位置PC-Rと称し、位置PC-L及び位置PC-Rの中点を、位置PCと称する。
また、以下では、図4に示すように、仮想カメラCM-Lの光軸方向を、撮像方向LC-Lと称し、仮想カメラCM-Rの光軸方向を、撮像方向LC-Rと称し、撮像方向LC-Lを示すベクトルと、撮像方向LC-Rを示すベクトルとの和により示される方向を、撮像方向LCと称する。なお、本実施形態では、撮像方向LC-Lと撮像方向LC-Rとが、同一の方向である場合を想定する。このため、本実施形態では、撮像方向LCは、撮像方向LC-L及び撮像方向LC-Rと同一の方向となる。
【0022】
図5は、仮想カメラCMが仮想空間SP-Vを撮像した結果である表示画像GHの一例を示す図である。なお、図5では、図4に示すように、仮想カメラCMが、キャラクタVを、キャラクタVの正面方向から撮像した場合を想定する。
【0023】
図5に示すように、表示部12のうち、貫通孔92Lを介して視認可能な左眼用視認領域12-Lには、仮想カメラCM-Lによる撮像結果、例えば、仮想カメラCM-LによりキャラクタVを撮像した結果であるキャラクタ画像GV-Lと、仮想カメラCM-Lにより環境構成物EVを撮像した結果である環境画像GEV-Lとが、表示される。また、表示部12のうち、貫通孔92Rを介して視認可能な右眼用視認領域12-Rには、仮想カメラCM-Rによる撮像結果、例えば、仮想カメラCM-RによりキャラクタVを撮像した結果であるキャラクタ画像GV-Rと、仮想カメラCM-Rにより環境構成物EVを撮像した結果である環境画像GEV-Rとが、表示される。
すなわち、ユーザUは、左眼によりキャラクタ画像GV-L及び環境画像GEV-Lを視認し、右眼によりキャラクタ画像GV-R及び環境画像GEV-Rを視認することができる。このため、ユーザUは、図6に例示するように、表示部12において、キャラクタV及び環境構成物EV等の仮想空間SP-V内に存在する仮想的な物体を、キャラクタ画像GV及び環境画像GEV等の立体的な3次元の物体として表した、視認画像GSを視認することが可能となる。
【0024】
なお、以下では、説明の便宜上、図7に例示するように、仮想空間SP-Vにおける、仮想カメラCMとキャラクタVとの相対的な位置関係を説明する場合に、2台の仮想カメラCM-L及びCM-Rを、1台の仮想カメラCMとして表現することとする。そして、以下では、仮想空間SP-Vにおける仮想カメラCMの位置が位置PCであり、仮想カメラCMの光軸方向が撮像方向LCであることと看做す。
また、以下では、説明の便宜上、図7に示すように、仮想空間SP-Vにおける仮想カメラCMに固定された座標系であるカメラ座標系Σを導入する。カメラ座標系Σとは、例えば、仮想空間SP-Vのうち仮想カメラCMの位置PCに原点を有し、互いに直交するX軸、Y軸、及び、Z軸を有する3軸の直交座標系である。本実施形態では、HMD1を装着したユーザUから見て、X軸がX軸と平行であり、Y軸がY軸と平行であり、Z軸がZ軸と平行である場合を、一例として想定する。すなわち、本実施形態では、X軸が、仮想カメラCMの撮像方向LCに延在する場合を、一例として想定する。なお、図7では、カメラ座標系Σの原点と位置PCとを異なる位置として示しているが、これは図示の都合上であって、カメラ座標系Σの原点と位置PCとは同一の位置である(後述する図12乃至図19でも同様)。
【0025】
[2.端末装置の構成]
以下、図8及び図9を参照しながら、端末装置10の構成の一例について説明する。
【0026】
図8は、端末装置10の構成の一例を示す機能ブロック図である。
【0027】
図8に示すように、端末装置10は、端末装置10の各部を制御する制御部11と、画像を表示するための表示部12と、端末装置10のユーザUによる操作を受け付けるための操作部13と、端末装置10の姿勢変化を検出して検出結果を示す姿勢情報Bを出力する姿勢情報生成部14と、各種情報を記憶する記憶部15と、を備える。
【0028】
本実施形態では、姿勢情報生成部14として、例えば、3軸の角速度センサ1002(図9参照)を採用する。具体的には、姿勢情報生成部14は、単位時間におけるロール方向Qの姿勢変化を検出するX軸角速度センサと、単位時間におけるピッチ方向Qの姿勢変化を検出するY軸角速度センサと、単位時間におけるヨー方向Qの姿勢変化を検出するZ軸角速度センサと、を備える。そして、姿勢情報生成部14は、X軸角速度センサ、Y軸角速度センサ、及び、Z軸角速度センサによる検出結果を示す姿勢情報Bを、周期的に出力する。
【0029】
記憶部15は、端末装置10の制御プログラムPRGと、キャラクタVが実行可能な複数種類のモーションに関するモーション情報DMとを含む、各種情報を記憶する。
ここで、モーション情報DMとは、キャラクタVが各モーションを実行する場合に、仮想空間SP-VにおけるキャラクタVの位置及び形状の経時的な変化を表す情報である。具体的には、例えば、キャラクタVが、頭部、胴体部、及び、脚部等の複数の部位から構成される場合、モーション情報DMとは、キャラクタVを構成する複数の部位の各々についての位置の経時的な変化を表す情報であってもよい。または、モーション情報DMとは、キャラクタVを構成する複数の部位間の相対的な位置関係の経時的な変化を表す情報であってもよい。または、モーション情報DMとは、キャラクタVを構成する複数の部位間を接続する関節の角度、すなわち、関節に接続される2つの部位のなす角度の経時的な変化を表す情報であってもよい。
【0030】
制御部11は、姿勢情報Bを取得する姿勢情報取得部115(「取得部」の一例)と、姿勢情報Bに基づいて表示画像GHを生成する表示制御部110と、を備える。
表示制御部110は、モード指定部111と、仮想カメラ制御部112と、キャラクタ制御部113と、表示情報生成部114と、を備える。
【0031】
仮想カメラ制御部112は、姿勢情報Bに基づいて、仮想空間SP-Vにおける仮想カメラCMを制御する。なお、本実施形態において、仮想カメラ制御部112は、複数の制御モードによる仮想カメラCMの制御が可能である。具体的には、仮想カメラ制御部112は、位置追従制御モードによる仮想カメラCMの制御と、姿勢追従制御モードによる仮想カメラCMの制御と、が可能である。
位置追従制御モードとは、仮想空間SP-Vにおける仮想カメラCMの位置PCが、仮想空間SP-Vにおける仮想点Kの位置PKに基づく位置となるように、仮想空間SP-Vにおける仮想カメラCMを制御する制御モードである。また、仮想カメラ制御部112は、位置追従制御モードにおいて、仮想空間SP-Vにおける仮想カメラCMの姿勢を、姿勢情報Bに基づいて変化させる。なお、仮想点Kについては後述する。
姿勢追従制御モードとは、仮想空間SP-Vにおける仮想カメラCMの姿勢を、例えば、仮想カメラCMから見て撮像方向LCに仮想点Kが位置するような姿勢となるように、仮想空間SP-Vにおける仮想カメラCMを制御する制御モードである。また、仮想カメラ制御部112は、姿勢追従制御モードにおいて、仮想空間SP-Vにおける仮想カメラCMの位置PCを、姿勢情報Bに基づいて変化させる。
【0032】
モード指定部111は、仮想カメラ制御部112の制御モードを指定する。
表示情報生成部114は、仮想カメラCMによる仮想空間SP-Vの撮像結果を表す表示情報DSを生成し、当該表示情報DSを表示部12に供給することで、表示部12に対して表示画像GHを表示させる。
キャラクタ制御部113は、モーション情報DMに基づいて、キャラクタVにモーションを実行させる。
【0033】
図9は、端末装置10のハードウェア構成の一例を示すハードウェア構成図である。
【0034】
図9に示すように、端末装置10は、端末装置10の各部を制御するプロセッサ1000(「情報処理装置」の一例)と、各種情報を記憶するメモリ1001と、端末装置10の姿勢変化を検出して検出結果を示す姿勢情報Bを出力する角速度センサ1002と、各種画像を表示可能な表示装置1003と、端末装置10のユーザUによる操作を受け付けるための入力装置1004と、を備える。
【0035】
メモリ1001は、例えば、プロセッサ1000の作業領域として機能するRAM(Random Access Memory)等の揮発性メモリと、端末装置10の制御プログラムPRG等の各種情報を記憶するEEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリとを含み、記憶部15として機能する。
プロセッサ1000は、例えば、CPU(Central Processing Unit)であり、メモリ1001に記憶された制御プログラムPRGを実行し、当該制御プログラムPRGに従って動作することで、制御部11として機能する。
角速度センサ1002は、上述の通り、X軸角速度センサ、Y軸角速度センサ、及び、Z軸角速度センサを備え、姿勢情報生成部14として機能する。
表示装置1003及び入力装置1004は、例えば、タッチパネルであり、表示部12及び操作部13として機能する。なお、表示装置1003及び入力装置1004は、別体として構成されていてもよい。また、入力装置1004は、タッチパネル、操作ボタン、キーボード、ジョイスティック、及び、マウス等のポインティングデバイスの一部または全部を含む、1または複数の機器から構成されるものであってもよい。
【0036】
なお、プロセッサ1000は、CPUに加え、または、CPUに替えて、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、または、FPGA(Field Programmable Gate Array)、等の、ハードウェアを含んで構成されるものであってもよい。この場合、プロセッサ1000により実現される制御部11の一部または全部は、DSP等のハードウェアにより実現されてもよい。
【0037】
[3.端末装置の動作]
以下、図10乃至図19を参照しながら、端末装置10の動作の一例について説明する。
【0038】
図10及び図11は、端末装置10が表示部12に表示画像GHを表示させる表示処理を実行する場合における、端末装置10の動作の一例を示すフローチャートである。なお、本実施形態では、例えば、ユーザUが、表示処理を開始させる旨の所定の開始操作を操作部13から入力した場合に、端末装置10が、表示処理を開始させることとする。
【0039】
[3.1.位置追従制御モード]
図10に示すように、表示処理が開始されると、モード指定部111は、制御モードを位置追従制御モードに設定する(S100)。
【0040】
次に、仮想カメラ制御部112は、モード指定部111が制御モードを位置追従制御モードに設定した際のHMD1の姿勢を、「初期姿勢」として定める(S102)。
なお、以下では、HMD1が初期姿勢である場合の装置座標系Σを、「初期座標系ΣS1」と称する。また、以下では、後述する図12に示すように、モード指定部111が制御モードを位置追従制御モードに設定した際の仮想カメラCMの撮像方向LCを、「初期撮像方向LC1」と称する。
【0041】
次に、キャラクタ制御部113は、モーション情報DMに基づいて、仮想空間SP-VにおけるキャラクタVの位置及び形状(体勢)を決定し、当該決定の結果を示すキャラクタ情報DCを生成する(S104)。
具体的には、キャラクタ制御部113は、ステップS104において、例えば、キャラクタVが実行しているモーションの種類を特定する。そして、キャラクタ制御部113は、ステップS104において、例えば、モーション情報DMのうち、特定した種類のモーションに係る情報と、キャラクタVが当該モーションを開始してからの経過時間と、に基づいて、現在時刻におけるキャラクタVの位置及び形状を決定することで、キャラクタ情報DCを生成する。
なお、本実施形態では、一例として、キャラクタVが予め定められた種類のモーションを実行している場合を想定する。但し、キャラクタ制御部113は、ステップS104において、キャラクタVが実行するモーションの種類を決定してもよい。
【0042】
次に、キャラクタ制御部113は、ステップS104で生成されたキャラクタ情報DCに基づいて、仮想空間SP-Vにおける仮想点Kの位置PKを決定し、当該決定の結果を示す仮想点位置情報DK(「位置情報」の一例)を生成する(S106)。
具体的には、キャラクタ制御部113は、ステップS106において、例えば、キャラクタVを構成する、頭部、胴体部、及び、脚部等の複数の部位のうち、キャラクタVが実行しているモーションの種類に対応する部位に基づく位置(「オブジェクトに基づく位置」の一例)を、仮想点Kの位置として決定することで、仮想点位置情報DKを生成してもよい。より具体的には、キャラクタ制御部113は、ステップS106において、例えば、キャラクタVが実行しているモーションの種類に対応するキャラクタVの部位のうち、キャラクタVの表面上における特定の位置を、仮想点Kの位置として決定し、当該決定された仮想点Kの位置を示す仮想点位置情報DKを生成してもよい。なお、モーション情報DMは、各モーションに対応するキャラクタVの部位を示す情報を含んでいてもよい。
以下では、後述する図12に示すように、モード指定部111が制御モードを位置追従制御モードに設定した際の仮想点Kの位置PKを、「初期位置PK1」と称する。また、以下では、初期位置PK1を起点とし、位置PKを終点とするベクトルを、「仮想点位置ベクトルVK」と称する。
【0043】
次に、仮想カメラ制御部112は、仮想点位置情報DKに基づいて、仮想空間SP-Vにおける仮想カメラCMの位置PCを決定する(S108)。
具体的には、仮想カメラ制御部112は、ステップS108において、仮想カメラCMから見て仮想点Kが初期撮像方向LC1に位置するように、仮想カメラCMの位置PCを決定する。
また、仮想カメラ制御部112は、例えば、仮想カメラCM及び仮想点Kの間の距離が、所定の距離Disとなるように、仮想カメラCMの位置PCを決定する。この場合、仮想カメラ制御部112は、例えば、仮想カメラCM及び仮想点Kの間の距離が、キャラクタVが実行しているモーションの種類に応じた距離となるように、仮想カメラCMの位置PCを決定してもよい。
なお、以下では、後述する図12に示すように、モード指定部111が制御モードを位置追従制御モードに設定した際の仮想カメラCMの位置PCを、「初期位置PC1」と称する。すなわち、本実施形態において、仮想カメラ制御部112は、ステップS108において、仮想点位置ベクトルVKの起点を初期位置PC1に配置した場合に、当該仮想点位置ベクトルVKの終点の位置を、仮想カメラCMの位置PCとして決定することになる。
また、以下では、モード指定部111が制御モードを位置追従制御モードに設定した際のカメラ座標系Σを、「初期カメラ座標系ΣC1」と称する。ここで、初期カメラ座標系ΣC1とは、原点の位置が初期位置PC1であり、X軸が初期撮像方向LC1となるような座標系である。すなわち、本実施形態において、仮想カメラ制御部112は、ステップS108において、仮想点位置ベクトルVKの起点を初期カメラ座標系ΣC1の原点に配置した場合に、当該仮想点位置ベクトルVKの終点の位置を、カメラ座標系Σの原点として決定することになる。
【0044】
次に、姿勢情報取得部115は、姿勢情報生成部14から姿勢情報Bを取得する(S110)。
そして、仮想カメラ制御部112は、ステップS110において、姿勢情報取得部115が取得した姿勢情報Bに基づいて、HMD1の初期姿勢からの姿勢変化dB1を算出する(S112)。
なお、本実施形態において、仮想カメラ制御部112は、一例として、姿勢変化dB1を、初期座標系ΣS1における回転軸Wと、回転軸W周りの回転角度θと、により表現する。すなわち、本実施形態において、姿勢変化dB1は、HMD1が初期座標系ΣS1から見て回転軸W周りに回転角度θだけ回転した場合、初期座標系ΣS1における回転軸Wを示す方向ベクトルと、回転角度θを示す値と、を含む。
但し、姿勢変化dB1は、他の任意の表現方法により表現されるものであってもよい。例えば、姿勢変化dB1は、初期座標系ΣS1から装置座標系Σへの姿勢変化を示す姿勢変換行列により表現されるものであってもよいし、初期座標系ΣS1から装置座標系Σへの姿勢変化を示すクォータニオンにより表現されるものであってもよい。
また、以下では、HMD1が、回転軸W周りに回転角度θだけ回転した場合に、当該回転角度θを、「姿勢変化量」と称する場合がある。
【0045】
次に、仮想カメラ制御部112は、ステップS112において算出した姿勢変化dB1に基づいて、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定する(S114)。
具体的には、ステップS114において、仮想カメラ制御部112は、撮像方向LCが、初期撮像方向LC1を、姿勢変化dB1に対応した姿勢変化量だけ変化させた方向となるように、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定する。すなわち、ステップS114において、仮想カメラ制御部112は、カメラ座標系Σが、初期カメラ座標系ΣC1を、姿勢変化dB1に対応した姿勢変化量だけ変化した姿勢を有する座標系となるように、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定する。
より具体的には、仮想カメラ制御部112は、ステップS114において、例えば、仮想空間SP-Vに仮想回転軸WSC1を設定する。ここで、仮想回転軸WSC1とは、仮想カメラCMの初期位置PC1と交差する仮想空間SP-V内の直線であって、初期カメラ座標系ΣC1から見た仮想回転軸WSC1の方向を表すベクトルの成分と、初期座標系ΣS1から見た回転軸Wの方向を表すベクトルの成分とが、同一となるような直線である。次に、仮想カメラ制御部112は、ステップS114において、例えば、カメラ座標系Σの各座標軸の方向が、初期カメラ座標系ΣC1を仮想回転軸WSC1周りに回転角度θだけ回転させた方向となるように、カメラ座標系Σを設定することで、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定する。なお、上述の通り、仮想カメラ制御部112は、ステップS108において、カメラ座標系Σの原点の位置が、初期カメラ座標系ΣC1の原点の位置である初期位置PC1を、仮想点位置ベクトルVKだけ移動させた位置となるように、カメラ座標系Σの原点を設定する。
例えば、仮想カメラ制御部112は、HMD1が、初期姿勢から、Z軸周りのヨー方向Qに対して回転角度θだけ回転した場合、初期カメラ座標系ΣC1のZ軸を仮想回転軸WSC1として設定したうえで、カメラ座標系Σを、初期カメラ座標系ΣC1を仮想回転軸WSC1周りに回転角度θだけ回転させた姿勢の座標系とすることで、仮想カメラCMの姿勢を決定する。
例えば、仮想カメラ制御部112は、HMD1が、初期姿勢から、Y軸周りのピッチ方向Qに対して回転角度θだけ回転した場合、初期カメラ座標系ΣC1のY軸を仮想回転軸WSC1として設定したうえで、カメラ座標系Σを、初期カメラ座標系ΣC1を仮想回転軸WSC1周りに回転角度θだけ回転させた姿勢の座標系とすることで、仮想カメラCMの姿勢を決定する。
例えば、仮想カメラ制御部112は、HMD1が、初期姿勢から、X軸周りのロール方向Qに対して回転角度θだけ回転した場合、初期カメラ座標系ΣC1のX軸を仮想回転軸WSC1として設定したうえで、カメラ座標系Σを、初期カメラ座標系ΣC1を仮想回転軸WSC1周りに回転角度θだけ回転させた姿勢の座標系とすることで、仮想カメラCMの姿勢を決定する。
【0046】
次に、表示情報生成部114は、仮想カメラCMにより仮想空間SP-Vを撮像した結果を示す表示情報DSを生成し、当該表示情報DSを表示部12に供給することで、表示部12に対して表示画像GHを表示させる(S116)。
【0047】
その後、モード指定部111は、ステップS110で取得された姿勢情報B、または、ステップS112で算出された姿勢変化dB1に基づいて、制御モードを、姿勢追従制御モードに移行させるか否かを判定する(S118)。
本実施形態では、一例として、現在時刻よりも所定時間だけ前の時刻から現在時刻までの判定期間におけるHMD1の姿勢変化量が、所定の閾値以下の場合に、モード指定部111が、制御モードを、位置追従制御モードから姿勢追従制御モードに移行させる場合を想定する。このため、モード指定部111は、ステップS118において、例えば、判定期間におけるHMD1の姿勢変化量が、所定の閾値以下であるか否かを判定することで、制御モードを、姿勢追従制御モードに移行させるか否かを判定する。なお、モード指定部111は、ステップS118において、例えば、判定期間の開始時刻におけるHMD1の姿勢と、判定期間内の任意の時刻におけるHMD1の姿勢との差分が、所定の閾値よりも小さいか否かを判定することで、制御モードを、姿勢追従制御モードに移行させるか否かを判定してもよい。
そして、モード指定部111は、ステップS118における判定の結果が肯定の場合には、処理をステップS200に進め、ステップS118における判定の結果が否定の場合には、処理をステップS120に進める。
その後、制御部11は、ユーザUが、表示処理を終了させる旨の所定の終了操作を操作部13から入力したか否かを判定する(S120)。そして、制御部11は、ステップS120における判定の結果が否定の場合には、処理をステップS104に進め、ステップS120における判定の結果が肯定の場合には、表示処理を終了させる。
【0048】
以下、図12図15を参照しつつ、制御モードが位置追従制御モードに設定されている場合における、仮想カメラCMの位置及び姿勢の変化の一例を説明する。
【0049】
図12図15は、-Y方向から仮想空間SP-Vを見た場合の、時刻t1から時刻t4にかけての仮想カメラCM及びキャラクタVの動きの一例を説明するための説明図である。
なお、図12図15に示す例では、キャラクタVが、図12に示す時刻t1から図13に示す時刻t2にかけて「座る」というモーションを実行し、その後、図14に示す時刻t3から図15に示す時刻t4にかけて「立つ」というモーションを実行する場合を想定する。すなわち、図12図15に示す例では、キャラクタVが、時刻t1において立っている状態となり、その後、時刻t2において座っている状態に変化し、その後、時刻t3まで座っている状態を継続し、その後、時刻t4において立っている状態に変化する場合を例示している。
また、図12図15に示す例では、仮想点Kが、キャラクタVの「鼻」に設定される場合を、一例として想定する。すなわち、図12図15に示す例では、「座る」というモーションの種類に対応する仮想点Kの位置、及び、「立つ」というモーションの種類に対応する仮想点Kの位置が、共に、キャラクタVの「鼻」である場合を、一例として想定する。
また、図12図15に示す例では、モード指定部111が、時刻t1において、制御モードを位置追従制御モードに設定する場合を想定する。すなわち、図12図15に示す例では、時刻t1におけるHMD1の姿勢が、初期姿勢となる。そして、図12図15に示す例では、HMD1が、時刻t1において初期姿勢となり、その後、時刻t2まで初期姿勢を維持し、その後、時刻t3においてY軸周りに回転角度θだけ回転をし、その後、時刻t4まで時刻t3における姿勢を維持する場合を、一例として想定する。
【0050】
図12に示すように、キャラクタ制御部113は、時刻t1において、立っている状態のキャラクタVの鼻が存在する位置PK(t1)に、仮想点Kを設定し、当該位置PK(t1)を初期位置PK1として定める。
また、仮想カメラ制御部112は、時刻t1において、初期姿勢に基づいて定められる撮像方向LC(t1)を初期撮像方向LC1として定める。なお、図12では、撮像方向LC(t1)が+X方向である場合を、一例として想定する。
そして、仮想カメラ制御部112は、時刻t1において、位置PK(t1)と初期撮像方向LC1とに基づいて、仮想カメラCMの位置PC(t1)を決定し、当該位置PC(t1)を初期位置PC1として定める。より具体的には、仮想カメラ制御部112は、時刻t1において、仮想カメラCMから見て初期撮像方向LC1に位置PK(t1)が位置するように、仮想カメラCMの位置PC(t1)を決定する。また、仮想カメラ制御部112は、時刻t1において、初期姿勢に対応するカメラ座標系Σを、初期カメラ座標系ΣC1として定める。
【0051】
図13に示すように、キャラクタ制御部113は、時刻t2において、座っている状態のキャラクタVの鼻が存在する位置PK(t2)に、仮想点Kを設定する。また、キャラクタ制御部113は、初期位置PK1を起点とし位置PK(t2)を終点とするベクトルを、仮想点位置ベクトルVK(t2)として定める。
上述の通り、図12図15に示す例では、HMD1が、時刻t1から時刻t2まで初期姿勢を維持する場合を想定する。このため、仮想カメラ制御部112は、時刻t2において、初期撮像方向LC1を、撮像方向LC(t2)として定める。
そして、仮想カメラ制御部112は、時刻t2において、仮想カメラCMから見て初期撮像方向LC1に位置PK(t2)が位置するように、仮想カメラCMの位置PC(t2)を決定する。すなわち、仮想カメラ制御部112は、時刻t2において、初期位置PC1を仮想点位置ベクトルVK(t2)だけ移動した位置を、位置PC(t2)として決定する。また、仮想カメラ制御部112は、時刻t2において、カメラ座標系Σを、位置PC(t2)を原点とし、初期カメラ座標系ΣC1と同一の姿勢の有する座標系として設定する。
【0052】
図14に示すように、キャラクタ制御部113は、時刻t3において、座っている状態のキャラクタVの鼻が存在する位置PK(t3)に、仮想点Kを設定する。上述の通り、図12図15に示す例では、キャラクタVが、時刻t2から時刻t3まで座っている状態を継続する。このため、位置PK(t3)は、位置PK(t2)と同一の位置となる。
また、上述の通り、図12図15に示す例では、HMD1が、時刻t2において初期姿勢であり、その後、時刻t2から時刻t3までの間に、Y軸周りに回転角度θだけ回転する。このため、仮想カメラ制御部112は、時刻t3において、初期カメラ座標系ΣC1のY軸と平行な仮想回転軸WSC1を設定する。そして、仮想カメラ制御部112は、時刻t3において、初期撮像方向LC1を仮想回転軸WSC1回りに回転角度θだけ回転させた方向を撮像方向LC(t3)として定める。
また、仮想カメラ制御部112は、時刻t3において、仮想カメラCMから見て初期撮像方向LC1に位置PK(t3)が位置するように、仮想カメラCMの位置PC(t3)を決定する。すなわち、仮想カメラ制御部112は、時刻t3において、位置PC(t2)と同一の位置を、仮想カメラCMの位置PC(t3)として決定する。また、仮想カメラ制御部112は、時刻t3において、カメラ座標系Σを、位置PC(t3)を原点とし、初期カメラ座標系ΣC1の各座標軸を仮想回転軸WSC1回りに回転角度θだけ回転させた座標軸を有する座標系として設定する。
【0053】
図15に示すように、キャラクタ制御部113は、時刻t4において、立っている状態のキャラクタVの鼻が存在する位置PK(t4)に、仮想点Kを設定する。なお、図12図15に示す例では、位置PK(t4)が初期位置PK1と同一の位置である場合を、一例として想定する。
上述の通り、図12図15に示す例では、HMD1が、時刻t3における姿勢を時刻t4まで維持する。このため、仮想カメラ制御部112は、時刻t4において、初期撮像方向LC1を仮想回転軸WSC1回りに回転角度θだけ回転させた方向を、撮像方向LC(t4)として定める。
また、仮想カメラ制御部112は、時刻t4において、仮想カメラCMから見て初期撮像方向LC1に位置PK(t4)が位置するように、仮想カメラCMの位置PC(t4)を決定する。また、仮想カメラ制御部112は、時刻t4において、カメラ座標系Σを、位置PC(t4)を原点とし、初期カメラ座標系ΣC1の各座標軸を仮想回転軸WSC1回りに回転角度θだけ回転させた座標軸を有する座標系として設定する。
【0054】
[3.2.姿勢追従制御モード]
図11に示すように、モード指定部111は、制御モードを姿勢追従制御モードに設定する(S200)。
【0055】
次に、仮想カメラ制御部112は、モード指定部111が制御モードを姿勢追従制御モードに設定した際のHMD1の姿勢を、「基準姿勢」として定める(S202)。
なお、以下では、HMD1が基準姿勢である場合の装置座標系Σを、「基準座標系ΣS2」と称する。また、以下では、後述する図16に示すように、モード指定部111が制御モードを姿勢追従制御モードに設定した際の仮想カメラCMの撮像方向LCを、「基準撮像方向LC2」と称する。また、以下では、モード指定部111が制御モードを姿勢追従制御モードに設定した際の仮想カメラCMの位置PCを、「基準位置PC2」と称する。
【0056】
次に、キャラクタ制御部113は、モーション情報DMに基づいて、仮想空間SP-VにおけるキャラクタVの位置及び形状を決定し、当該決定の結果を示すキャラクタ情報DCを生成する(S204)。
【0057】
次に、キャラクタ制御部113は、ステップS204で生成されたキャラクタ情報DCに基づいて、仮想空間SP-Vにおける仮想点Kの位置PKを決定し、当該決定の結果を示す仮想点位置情報DKを生成する(S206)。
以下では、後述する図16に示すように、モード指定部111が制御モードを姿勢追従制御モードに設定した際の仮想点Kの位置PKを、「基準位置PK2」と称する。
【0058】
次に、仮想カメラ制御部112は、仮想点位置情報DKに基づいて、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定する(S208)。
具体的には、仮想カメラ制御部112は、ステップS208において、基準位置PC2から仮想点Kを示す方向が撮像方向LCとなるように、仮想カメラCMの姿勢を決定する。換言すれば、仮想カメラ制御部112は、ステップS208において、カメラ座標系Σの各座標軸が、カメラ座標系ΣのX軸上に仮想点Kが位置するような方向を向くように、カメラ座標系Σを設定する。
なお、以下では、モード指定部111が制御モードを姿勢追従制御モードに設定した際のカメラ座標系Σを、「基準カメラ座標系ΣC2」と称する。ここで、基準カメラ座標系ΣC2とは、原点の位置が基準位置PC2であり、X軸が基準撮像方向LC2となるような座標系である。
また、以下では、基準撮像方向LC2と撮像方向LCとのなす角を、「撮像角度θ」と称する。
【0059】
次に、姿勢情報取得部115は、姿勢情報生成部14から姿勢情報Bを取得する(S210)。
そして、仮想カメラ制御部112は、ステップS210において、姿勢情報取得部115が取得した姿勢情報Bに基づいて、HMD1の基準姿勢からの姿勢変化dB2を算出する(S212)。
なお、本実施形態において、仮想カメラ制御部112は、一例として、姿勢変化dB2を、基準座標系ΣS2における回転軸Wと、回転軸W周りの回転角度θと、により表現する。
【0060】
次に、仮想カメラ制御部112は、ステップS212において算出した姿勢変化dB2に基づいて、仮想空間SP-Vにおける仮想カメラCMの位置PCを決定する(S214)。
具体的には、ステップS214において、仮想カメラ制御部112は、まず、仮想空間SP-Vに仮想回転軸WSC2を設定する。ここで、仮想回転軸WSC2とは、仮想カメラCMの基準位置PC2と交差する仮想空間SP-V内の直線であって、基準カメラ座標系ΣC2から見た仮想回転軸WSC2の方向を表すベクトルの成分と、基準座標系ΣS2から見た回転軸Wの方向を表すベクトルの成分とが、同一となるような直線である。次に、仮想カメラ制御部112は、仮想回転軸WSC2と撮像方向LCとに交差(典型的には、直交)する方向を有し、回転角度θに応じた長さを有する、カメラ位置変化ベクトルVCを生成する。そして、仮想カメラ制御部112は、カメラ位置変化ベクトルVCの起点を基準位置PC2としたときの、カメラ位置変化ベクトルVCの終点の位置を、仮想カメラCMの位置PCとして決定する。換言すれば、仮想カメラ制御部112は、ステップS214において、カメラ座標系Σの原点の位置が、基準カメラ座標系ΣC2の原点の位置である基準位置PC2を、カメラ位置変化ベクトルVCだけ移動させた位置となるように、カメラ座標系Σの原点を設定する。なお、上述の通り、仮想カメラ制御部112は、ステップS208において、カメラ座標系Σの各座標軸の方向が、基準カメラ座標系ΣC2を仮想回転軸WSC2周りに回転角度θだけ回転させた方向となるように、カメラ座標系Σを設定することで、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定する。
【0061】
次に、表示情報生成部114は、仮想カメラCMにより仮想空間SP-Vを撮像した結果を示す表示情報DSを生成し、当該表示情報DSを表示部12に供給することで、表示部12に対して表示画像GHを表示させる(S216)。
【0062】
その後、モード指定部111は、ステップS210で取得された姿勢情報B、または、ステップS212で算出された姿勢変化dB2に基づいて、制御モードを、位置追従制御モードに移行させるか否かを判定する(S218)。
本実施形態では、一例として、現在時刻よりも所定時間だけ前の時刻から現在時刻までの判定期間におけるHMD1の姿勢変化量が、所定の閾値以下の場合に、モード指定部111が、制御モードを、姿勢追従制御モードから位置追従制御モードに移行させる場合を想定する。このため、モード指定部111は、ステップS218において、例えば、判定期間におけるHMD1の姿勢変化量が、所定の閾値以下であるか否かを判定することで、制御モードを、位置追従制御モードに移行させるか否かを判定する。
そして、モード指定部111は、ステップS218における判定の結果が肯定の場合には、処理をステップS100に進め、ステップS218における判定の結果が否定の場合には、処理をステップS220に進める。
その後、制御部11は、ユーザUが、表示処理を終了させる旨の所定の終了操作を操作部13から入力したか否かを判定する(S220)。そして、制御部11は、ステップS220における判定の結果が否定の場合には、処理をステップS204に進め、ステップS220における判定の結果が肯定の場合には、表示処理を終了させる。
【0063】
以下、図16図19を参照しつつ、制御モードが姿勢追従制御モードに設定されている場合における、仮想カメラCMの位置及び姿勢の変化の一例を説明する。
【0064】
図16図19は、-Y方向から仮想空間SP-Vを見た場合の、時刻t5から時刻t8にかけての仮想カメラCM及びキャラクタVの動きの一例を説明するための説明図である。
なお、図16図19に示す例では、キャラクタVが、図16に示す時刻t5から図17に示す時刻t6にかけて「座る」というモーションを実行し、その後、図18に示す時刻t7から図19に示す時刻t8にかけて「立つ」というモーションを実行する場合を想定する。すなわち、図16図18に示す例では、キャラクタVが、時刻t5において立っている状態となり、その後、時刻t6において座っている状態に変化し、その後、時刻t7まで座っている状態を継続し、その後、時刻t8において立っている状態に変化する場合を例示している。
また、図16図19に示す例では、仮想点Kが、キャラクタVの「鼻」に設定される場合を、一例として想定する。
また、図16図19に示す例では、モード指定部111が、時刻t5において、制御モードを姿勢追従制御モードに設定する場合を想定する。すなわち、図16図19に示す例では、時刻t5におけるHMD1の姿勢が、基準姿勢となる。そして、図16図19に示す例では、HMD1が、時刻t5において基準姿勢となり、その後、時刻t6まで基準姿勢を維持し、その後、時刻t7においてY軸周りに回転角度θだけ回転をし、その後、時刻t8まで時刻t7における姿勢を維持する場合を、一例として想定する。
【0065】
図16に示すように、キャラクタ制御部113は、時刻t5において、立っている状態のキャラクタVの鼻が存在する位置PK(t5)に、仮想点Kを設定し、当該位置PK(t5)を基準位置PK2として定める。
また、仮想カメラ制御部112は、時刻t5における仮想カメラCMの位置PC(t5)を基準位置PC2として定める。そして、仮想カメラ制御部112は、時刻t5において、位置PC(t5)から位置PK(t5)に向かう方向を撮像方向LC(t5)とし、当該撮像方向LC(t5)を、基準撮像方向LC2として定める。なお、図16では、撮像方向LC(t5)が+X方向である場合を、一例として想定する。
なお、仮想カメラ制御部112は、時刻t5において、基準姿勢に対応するカメラ座標系Σを、基準カメラ座標系ΣC2として定める。
【0066】
図17に示すように、キャラクタ制御部113は、時刻t6において、座っている状態のキャラクタVの鼻が存在する位置PK(t6)に、仮想点Kを設定する。この場合、キャラクタ制御部113は、例えば、基準位置PK2を起点とし位置PK(t6)を終点とするベクトルを、仮想点位置ベクトルVK(t6)として定めてもよい。
上述の通り、図16図19に示す例では、HMD1が、時刻t5から時刻t6まで基準姿勢を維持する場合を想定する。このため、仮想カメラ制御部112は、時刻t6において、仮想カメラCMの位置PC(t6)を、基準位置PC2に設定する。そして、仮想カメラ制御部112は、時刻t6において、基準位置PC2から位置PK(t6)に向かう方向を撮像方向LC(t6)として定める。この場合、基準撮像方向LC2と撮像方向LC(t6)とのなす角度が、撮像角度θとなる。
なお、仮想カメラ制御部112は、例えば、基準位置PC2と交差し、基準撮像方向LC2及び仮想点位置ベクトルVKの双方に直交するカメラ回転軸LKを設定し、基準撮像方向LC2をカメラ回転軸LK周りに撮像角度θだけ回転させることで、撮像方向LCを定めてもよい。図17に示す例では、カメラ回転軸LKは、基準カメラ座標系ΣC2のY軸となる。
すなわち、仮想カメラ制御部112は、時刻t6において、カメラ座標系Σを、位置PC(t6)を原点とし、基準カメラ座標系ΣC2をカメラ回転軸LK周りに撮像角度θだけ回転させた座標系として定める。
【0067】
図18に示すように、キャラクタ制御部113は、時刻t7において、座っている状態のキャラクタVの鼻が存在する位置PK(t7)に、仮想点Kを設定する。上述の通り、図16図19に示す例では、キャラクタVが、時刻t6から時刻t7まで座っている状態を継続する。このため、位置PK(t7)は、位置PK(t6)と同一の位置となる。
また、仮想カメラ制御部112は、時刻t7において、基準位置PC2から位置PK(t7)に向かう方向を撮像方向LC(t7)として定める。この場合、基準撮像方向LC2と撮像方向LC(t7)とのなす角度が、撮像角度θとなる。すなわち、撮像方向LC(t7)は、撮像方向LC(t6)と同一の方向となる。
また、上述の通り、図16図19に示す例では、HMD1が、時刻t6において基準姿勢であり、その後、時刻t6から時刻t7までの間に、Y軸周りに回転角度θだけ回転する。このため、仮想カメラ制御部112は、時刻t7において、基準カメラ座標系ΣC2のY軸と平行な仮想回転軸WSC2を設定する。そして、仮想カメラ制御部112は、時刻t7において、仮想回転軸WSC2と撮像方向LC(t7)とに直交する方向を有し、回転角度θに応じた長さを有する、カメラ位置変化ベクトルVCを設定する。また、仮想カメラ制御部112は、時刻t7において、基準位置PC2を、カメラ位置変化ベクトルVCだけ移動させた位置を、位置PC(t7)として定める。
すなわち、仮想カメラ制御部112は、時刻t7において、カメラ座標系Σを、位置PC(t7)を原点とし、基準カメラ座標系ΣC2をカメラ回転軸LK周りに撮像角度θだけ回転させた座標系として定める。
【0068】
図19に示すように、キャラクタ制御部113は、時刻t8において、立っている状態のキャラクタVの鼻が存在する位置PK(t8)に、仮想点Kを設定する。なお、図16図19に示す例では、位置PK(t8)が基準位置PK2と同一の位置である場合を、一例として想定する。
また、仮想カメラ制御部112は、時刻t8において、基準位置PC2から位置PK(t8)に向かう方向を撮像方向LC(t8)として定める。この場合、撮像方向LC(t8)は、基準撮像方向LC2と同一の方向となる。
上述の通り、図16図19に示す例では、HMD1が、時刻t7における姿勢を時刻t8まで維持する。このため、仮想カメラ制御部112は、時刻t8において、仮想回転軸WSC2と撮像方向LC(t8)とに直交する方向を有し、回転角度θに応じた長さを有する、カメラ位置変化ベクトルVCを設定する。そして、仮想カメラ制御部112は、時刻t8において、基準位置PC2を、カメラ位置変化ベクトルVCだけ移動させた位置を、位置PC(t8)として定める。
すなわち、仮想カメラ制御部112は、時刻t8において、カメラ座標系Σを、位置PC(t8)を原点とし、基準カメラ座標系ΣC2と同一の姿勢を有する座標系として定める。
【0069】
[4.実施形態の結論]
以上において説明したように、本実施形態において、表示制御部110は、制御モードが位置追従制御モードである場合に、仮想点Kの位置PKに基づいて、仮想カメラCMの位置PCを制御し、HMD1の姿勢変化を示す姿勢情報Bに基づいて、仮想カメラCMの撮像方向LCを制御することができる。すなわち、表示制御部110は、制御モードが位置追従制御モードである場合に、仮想カメラCMの位置及び姿勢の双方を変化させることができる。このため、本実施形態によれば、HMD1を装着したユーザUが、例えば、仮想カメラCMの撮像方向LCがキャラクタVを向くように、HMD1の姿勢を制御することで、表示部12にキャラクタVを継続的に表示することが可能となる。
【0070】
また、本実施形態において、表示制御部110は、制御モードが姿勢追従制御モードである場合に、仮想点Kの位置PKに基づいて、仮想カメラCMの撮像方向LCを制御し、姿勢情報Bに基づいて、仮想カメラCMの位置PCを制御する。すなわち、表示制御部110は、制御モードが姿勢追従制御モードである場合に、仮想カメラCMの位置及び姿勢の双方を変化させることができる。このため、本実施形態によれば、HMD1を装着したユーザUが、例えば、仮想カメラCMの位置PCが、仮想カメラCMから見て撮像方向LCにキャラクタVが存在するような位置となるように、HMD1の姿勢を制御することで、表示部12にキャラクタVを継続的に表示することが可能となる。
【0071】
[B.変形例]
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は、相互に矛盾しない範囲内で適宜に併合され得る。なお、以下に例示する変形例において作用や機能が実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【0072】
[変形例1]
上述した実施形態において、仮想カメラ制御部112は、制御モードが位置追従制御モードの場合、HMD1が初期姿勢からX軸周りのロール方向Qに対して回転角度θだけ回転したときに、仮想カメラCMの姿勢をカメラ座標系ΣのX軸を周りに回転角度θだけ回転させ、また、制御モードが姿勢追従制御モードの場合、HMD1が基準姿勢からX軸周りのロール方向Qに対して回転角度θだけ回転したときに、仮想カメラCMの位置PCをX軸に直交するカメラ位置変化ベクトルVC方向に対して、回転角度θに応じた距離だけ移動させるが、本発明はこのような態様に限定されるものではない。
【0073】
例えば、図20に示すように、仮想カメラ制御部112は、HMD1がロール方向Qに対して回転した場合には、仮想カメラCMをX軸に平行な方向に移動させてもよい。
具体的には、仮想カメラ制御部112は、HMD1が+Q方向に回転角度θだけ回転した場合には、仮想カメラCMを+X方向に対して回転角度θに応じた距離だけ移動させることで、仮想カメラCMとキャラクタVとの距離を近づけ、また、HMD1が-Q方向に回転角度θだけ回転した場合には、仮想カメラCMを-X方向に対して回転角度θに応じた距離だけ移動させることで、仮想カメラCMとキャラクタVとの距離を遠ざけてもよい。
【0074】
また、例えば、仮想カメラ制御部112は、HMD1がロール方向Qに対して回転(「所定の姿勢変化」の一例)した場合には、仮想カメラCMによる撮像範囲を変更してもよい。
具体的には、仮想カメラ制御部112は、HMD1が+Q方向に回転角度θだけ回転した場合には、回転角度θに応じた倍率で、仮想カメラCMによる撮像範囲を縮小し、キャラクタVが拡大して撮像されるようにし、また、HMD1が-Q方向に回転角度θだけ回転した場合には、回転角度θに応じた倍率で、仮想カメラCMによる撮像範囲を拡大し、キャラクタVが縮小して撮像されるようにしてもよい。
【0075】
[変形例2]
上述した実施形態及び変形例において、キャラクタ制御部113は、キャラクタVの有する複数の部位のうち、キャラクタVが実行しているモーションの種類に対応する部位に対して、仮想点Kを設定するが、本発明はこのような態様に限定されるものではない。
例えば、キャラクタ制御部113は、キャラクタVが実行しているモーションの種類とは無関係に、キャラクタVの有する複数の部位のうち、所定の部位に対して、仮想点Kを設定してもよい。すなわち、キャラクタ制御部113は、キャラクタVの特定の部分に対して、仮想点Kを設定してもよい。
また、例えば、キャラクタ制御部113は、キャラクタVが実行しているモーションを、複数の単位動作に区分し、キャラクタVの有する複数の部位のうち、キャラクタVが実行している単位動作に対応する部位に対して、仮想点Kを設定してもよい。すなわち、キャラクタVが実行しているモーションが、一の単位動作と他の単位動作とを含む場合、キャラクタVが一の単位動作を実行している場合に、仮想点Kが設定される部位と、キャラクタVが他の単位動作を実行している場合に、仮想点Kが設定される部位とは、異なる部位であってもよい。
【0076】
[変形例3]
上述した実施形態及び変形例において、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合、HMD1の姿勢変化dB2に応じて定められるカメラ位置変化ベクトルVCに基づいて、仮想カメラCMの位置PCを変化させるが、本発明はこのような態様に限定されるものではない。
例えば、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMが、環境構成物EVと接触しないように、仮想カメラCMの位置PCを変化させてもよい。具体的には、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMを、環境構成物EVからの距離が、距離α(αは、α≧0を満たす実数)以上離間した領域である、領域Ar1において変化させてもよい。
また、例えば、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMが、仮想点Kから遠ざかり過ぎないように、仮想カメラCMの位置PCを変化させてもよい。具体的には、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMを、仮想点Kからの距離が、距離β(βは、β>0を満たす実数)以内となる領域である、領域Ar2において変化させてもよい。
また、例えば、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMが、キャラクタVと接触しないように、仮想カメラCMの位置PCを変化させてもよい。具体的には、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMを、キャラクタVからの距離が、距離γ(γは、γ≧0を満たす実数)以上離間した領域である、領域Ar3において変化させてもよい。
また、例えば、仮想カメラ制御部112は、制御モードが姿勢追従制御モードの場合に、仮想カメラCMが領域Ar1に位置するという条件と、仮想カメラCMが領域Ar2に位置するという条件と、仮想カメラCMが領域Ar3に位置するという条件と、のうち、一部または全部の条件を満たすように、仮想カメラCMの位置PCを変化させてもよい。
【0077】
[変形例4]
上述した実施形態及び変形例において、制御部11は、位置追従制御モード及び姿勢追従制御モードの、2つの制御モードによる表示処理の実行が可能であるが、本発明はこのような態様に限定されるものではない。制御部11は、位置追従制御モード及び姿勢追従制御モードのうち、一方の制御モードによる表示処理の実行が可能であってもよい。
例えば、制御部11は、図21に示すように、位置追従制御モードにより表示処理を実行するものであってもよい。なお、図21に示すフローチャートは、制御部11が、ステップS118及びステップS200~S220の処理を実行しない点を除き、図10及び図11に示すフローチャートと同様である。
また、例えば、制御部11は、図22に示すように、姿勢追従制御モードにより表示処理を実行するものであってもよい。なお、図22に示すフローチャートは、制御部11が、ステップS218及びステップS100~S120の処理を実行しない点を除き、図10及び図11に示すフローチャートと同様である。
【0078】
[変形例5]
上述した実施形態及び変形例において、仮想空間SP-VにおけるキャラクタVの位置及び形状は、モーション情報DMにより規定されているが、本発明はこのような態様に限定されるものではない。
例えば、キャラクタ制御部113は、モーション情報DMを用いずに、仮想空間SP-VにおけるキャラクタVの位置及び形状を決定してもよい。
具体的には、キャラクタ制御部113は、例えば、ユーザUによる操作部13の操作結果、または、ユーザUに装着されたHMD1の姿勢の変化に基づいて、仮想空間SP-VにおけるキャラクタVの位置及び形状を決定してもよい。
また、端末装置10は、外部装置(図示省略)と通信可能な通信装置(図示省略)を具備していてもよい。この場合、キャラクタ制御部113は、通信装置が外部装置から受信した情報に基づいて、仮想空間SP-VにおけるキャラクタVの位置及び形状を決定してもよい。例えば、端末装置10が他の端末装置10と通信可能である場合、キャラクタ制御部113は、端末装置10に設けられた通信装置が受信した、他のユーザUによる他の端末装置10の操作結果に基づいて、仮想空間SP-VにおけるキャラクタVの位置及び形状を決定してもよい。
【0079】
[変形例6]
上述した実施形態及び変形例において、HMD1は、HMD1を装着したユーザUの視線方向を検出するアイトラッキング機能を有していてもよい。
この場合、仮想カメラ制御部112は、位置追従制御モードにおいて、HMD1の姿勢変化dB1の代わりに、HMD1を装着したユーザUの視線方向に基づいて、仮想空間SP-Vにおける仮想カメラCMの姿勢を決定してもよい。
また、この場合、仮想カメラ制御部112は、姿勢追従制御モードにおいて、HMD1の姿勢変化dB2の代わりに、HMD1を装着したユーザUの視線方向に基づいて、仮想空間SP-Vにおける仮想カメラCMの位置PCを決定してもよい。
【0080】
[変形例7]
上述した実施形態及び変形例において、仮想カメラ制御部112は、現在時刻の仮想点Kの位置PKに基づいて、仮想カメラCMの位置または姿勢を決定するが、本発明はこのような態様に限定されるものではない。仮想カメラ制御部112は、現在時刻の仮想点Kの位置PKと、過去の仮想カメラCMの位置PC、若しくは、過去の仮想カメラCMの位置PCの変化量、または、過去の仮想カメラCMの姿勢、若しくは、過去の仮想カメラCMの姿勢の変化量と、に基づいて、現在時刻の仮想カメラCMの位置または姿勢を決定してもよい。
【0081】
例えば、仮想カメラ制御部112は、位置追従制御モードにおいて、現在時刻の仮想点Kの位置PKと、過去の仮想カメラCMの位置PC、または、過去の仮想カメラCMの位置PCの変化量と、に基づいて、仮想カメラCMの位置PCを決定してもよい。具体的には、仮想カメラ制御部112は、位置追従制御モードにおいて、現在時刻よりも過去の単位期間TU1(「第1の単位期間」の一例)における、仮想カメラCMの位置PCの変化量と、単位期間TU1に後続し、単位期間TU1と同一の時間長を有し、現在時刻を含む単位期間TU2(「第2の単位期間」の一例)における、仮想カメラCMの位置PCの変化量とが、所定の閾値(「第1閾値」の一例)以下となるように、現在時刻の仮想点Kの位置PKに基づいて決定された仮想カメラCMの位置PCを補正してもよい。この場合、キャラクタVが単位期間TU1において実行するモーションと、キャラクタVが単位期間TU2において実行するモーションとは、異なる種類のモーションであってもよい。
この例によれば、仮想空間SP-Vにおいて、仮想カメラCMの位置PCが急激に変化することを防止することができるため、仮想カメラCMの撮像結果である表示画像GHを視認するユーザUが、不快感を感じることを防止することが可能となる。
【0082】
また、例えば、仮想カメラ制御部112は、姿勢追従制御モードにおいて、現在時刻の仮想点Kの位置PKと、過去の仮想カメラCMの姿勢、または、過去の仮想カメラCMの姿勢の変化量と、に基づいて、仮想カメラCMの姿勢を決定してもよい。具体的には、仮想カメラ制御部112は、姿勢追従制御モードにおいて、現在時刻よりも過去の単位期間TU3(「第1の単位期間」の他の例)における、仮想カメラCMの姿勢の変化量と、単位期間TU3に後続し、単位期間TU3と同一の時間長を有し、現在時刻を含む単位期間TU4(「第2の単位期間」の他の例)における、仮想カメラCMの姿勢の変化量とが、所定の閾値(「第2閾値」の一例)以下となるように、現在時刻の仮想点Kの位置PKに基づいて決定された仮想カメラCMの姿勢を補正してもよい。この場合、キャラクタVが単位期間TU3において実行するモーションと、キャラクタVが単位期間TU4において実行するモーションとは、異なる種類のモーションであってもよい。
この例によれば、仮想空間SP-Vにおいて、仮想カメラCMの姿勢が急激に変化することを防止することができるため、仮想カメラCMの撮像結果である表示画像GHを視認するユーザUが、不快感を感じることを防止することが可能となる。
【0083】
[変形例8]
上述した実施形態及び変形例において、姿勢情報Bは、端末装置10の姿勢変化の検出結果を示すが、本発明はこのような態様に限定されるものではない。姿勢情報Bは、例えば、地上に固定された座標系から見た端末装置10の姿勢を示す情報であってもよい。
この場合、姿勢情報生成部14は、例えば、角速度センサ、及び、地磁気センサの一方または双方を含んで構成されていてもよい。また、この場合、姿勢情報Bは、例えば、HMD1の外部に設けられ、HMD1を撮像する撮像装置から出力される画像情報であってもよい。
【0084】
[変形例9]
上述した実施形態及び変形例において、情報処理装置は、HMD1に設けられるが、情報処理装置は、HMD1とは別個に設けられてもよい。
【0085】
図23は、本変形例に係る表示システムSYSの構成の一例を示すブロック図である。
図23に示すように、表示システムSYSは、情報処理装置20と、情報処理装置20と通信可能なヘッドマウントディスプレイ1Aと、を備える。このうち、情報処理装置20は、例えば、制御部11と、操作部13と、記憶部15とを備えてもよい。また、ヘッドマウントディスプレイ1Aは、表示部12と、姿勢情報生成部14とに加え、ヘッドマウントディスプレイ1Aを装着したユーザUによる操作を受け付ける操作部31と、各種情報を記憶する記憶部32と、を備えてもよい。
【0086】
[C.付記]
以上の記載から、本発明は例えば以下のように把握される。なお、各態様の理解を容易にするために、以下では、図面の参照符号を便宜的に括弧書きで付記するが、本発明を図示の態様に限定する趣旨ではない。
【0087】
[付記1]
本発明の一態様に係る情報処理装置のプログラムは、プロセッサを具備する情報処理装置のプログラムであって、前記プロセッサを、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、して機能させ、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0088】
この態様によれば、ヘッドマウントディスプレイを装着したユーザが、ヘッドマウントディスプレイの姿勢を変化させることにより、仮想空間における仮想カメラの姿勢を変化させることができ、また、表示制御部が、オブジェクトに基づく位置に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置を変化させることができる。すなわち、この態様において、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイを装着したユーザが、例えば、仮想カメラの光軸方向がオブジェクトと交差するように、ヘッドマウントディスプレイの姿勢を制御することで、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
また、この態様によれば、実空間においてヘッドマウントディスプレイの位置を変化させることなく、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、例えば、実空間においてヘッドマウントディスプレイの位置を変化させることで、仮想空間における仮想カメラの位置または姿勢を変化させる場合と比較して、ヘッドマウントディスプレイを装着したユーザが、容易に、仮想空間における仮想カメラを操作することが可能となる。
また、この態様によれば、表示制御部が、オブジェクトの位置に基づいて仮想カメラの位置を変化させつつ、ヘッドマウントディスプレイの姿勢に基づいて仮想カメラの姿勢を変化させる。このため、この態様によれば、ヘッドマウントディスプレイの表示部にオブジェクトを継続的に表示させることと、ヘッドマウントディスプレイを装着したユーザに対して、仮想カメラの姿勢の操作に係る自由度を提供することとの、両立が可能となる。
【0089】
なお、上記態様において、「仮想カメラ」とは、例えば、仮想空間を撮像する第1の仮想カメラと、仮想空間内のうち第1の仮想カメラとは異なる位置から仮想空間を撮像する第2の仮想カメラと、を備えるものであってもよい。また、この場合、「立体視画像」とは、例えば、仮想空間を第1の仮想カメラで撮像した、ユーザが左眼で視認するための左眼用画像と、仮想空間を第2の仮想カメラで撮像した、ユーザが右眼で視認するための右眼用画像と、を含む画像であってもよい。
【0090】
また、上記態様において、「ヘッドマウントディスプレイ」とは、例えば、頭部に装着可能な表示装置であってもよい。具体的には、「ヘッドマウントディスプレイ」とは、頭部に装着可能なゴーグル型または眼鏡型の表示装置であってもよい。また、「ヘッドマウントディスプレイ」とは、例えば、頭部に装着可能な装着具と、当該装着具に対して取り付けられた、スマートフォンのような携帯型の表示装置と、を有するものであってもよい。
【0091】
また、上記態様において、「ヘッドマウントディスプレイの姿勢」とは、例えば、ヘッドマウントディスプレイの向きであってもよいし、ヘッドマウントディスプレイの傾きであってもよいし、ヘッドマウントディスプレイの向き及び傾きの双方を含む概念であってもよい。ここで、「ヘッドマウントディスプレイの向き」とは、例えば、現実空間における水平面内においてヘッドマウントディスプレイが向いている方向であってもよいし、ヘッドマウントディスプレイの基準方向と磁北方向とのなす角度であってもよい。また、「ヘッドマウントディスプレイの傾き」とは、例えば、ヘッドマウントディスプレイの基準方向と鉛直方向とのなす角度であってもよい。
【0092】
また、上記態様において、「姿勢情報」とは、例えば、ヘッドマウントディスプレイの姿勢を示す情報であってもよいし、ヘッドマウントディスプレイの姿勢変化を示す情報であってもよい。
【0093】
また、上記態様において、「取得部」は、例えば、ヘッドマウントディスプレイから姿勢情報を取得してもよいし、ヘッドマウントディスプレイを撮像する撮像装置から姿勢情報を取得してもよい。取得部が、ヘッドマウントディスプレイから姿勢情報を取得する場合、ヘッドマウントディスプレイは、ヘッドマウントディスプレイの姿勢変化を示す情報を検出するためのセンサを備えていてもよいし、ヘッドマウントディスプレイの姿勢を示す情報を検出するためのセンサを備えていてもよい。ここで、「ヘッドマウントディスプレイの姿勢変化を示す情報を検出するためのセンサ」とは、例えば、角速度センサであってもよい。また、「ヘッドマウントディスプレイの姿勢を示す情報を検出するためのセンサ」とは、例えば、地磁気センサ、及び、角速度センサの一方または双方であってもよい。また、取得部が、ヘッドマウントディスプレイを撮像する撮像装置から姿勢情報を取得する場合、姿勢情報は、例えば、撮像装置によりヘッドマウントディスプレイを撮像した結果を示す画像であってもよい。
【0094】
また、上記態様において、「位置情報」とは、例えば、仮想空間における仮想点の現在位置を示す情報であってもよいし、仮想空間における仮想点の過去または未来の位置を示す情報であってもよいし、仮想空間における仮想点の経時的な位置の変化の軌跡を示す情報であってもよい。
【0095】
また、上記態様において、「オブジェクト」とは、仮想空間内に存在する仮想的な物体であって、形状と仮想空間における存在位置との一方または双方が変化可能な物体であってもよい。具体的には、「オブジェクト」は、例えば、仮想空間に存在する、人物、動物、及び、モンスター等の、キャラクタであってもよいし、仮想空間に存在する乗り物等の人工物であってもよい。
【0096】
[付記2]
本発明の他の態様に係る情報処理装置のプログラムは、プロセッサを具備する情報処理装置のプログラムであって、前記プロセッサを、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、して機能させ、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0097】
この態様によれば、ヘッドマウントディスプレイを装着したユーザが、ヘッドマウントディスプレイの姿勢を変化させることにより、仮想空間における仮想カメラの位置を変化させることができ、また、表示制御部が、オブジェクトに基づく位置に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの姿勢を変化させることができる。すなわち、この態様において、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイを装着したユーザが、例えば、ヘッドマウントディスプレイの姿勢を変化させることにより、仮想カメラの光軸方向がオブジェクトと交差するように、ヘッドマウントディスプレイの位置を制御することで、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
また、この態様によれば、実空間においてヘッドマウントディスプレイの位置を変化させることなく、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、例えば、実空間においてヘッドマウントディスプレイの位置を変化させることで、仮想空間における仮想カメラの位置または姿勢を変化させる場合と比較して、ヘッドマウントディスプレイを装着したユーザが、容易に、仮想空間における仮想カメラを操作することが可能となる。
また、この態様によれば、表示制御部が、オブジェクトの位置に基づいて仮想カメラの姿勢を変化させつつ、ヘッドマウントディスプレイの姿勢に基づいて仮想カメラの位置を変化させる。このため、この態様によれば、ヘッドマウントディスプレイの表示部にオブジェクトを継続的に表示させることと、ヘッドマウントディスプレイを装着したユーザに対して、仮想カメラの位置の操作に係る自由度を提供することとの、両立が可能となる。
【0098】
[付記3]
本発明の他の態様に係る情報処理装置のプログラムは、付記1または2に記載の情報処理装置のプログラムであって、前記仮想点は、前記オブジェクトの特定の部分に設定される、ことを特徴とする。
【0099】
この態様によれば、表示制御部が、オブジェクトの特定の部分に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置または姿勢を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【0100】
[付記4]
本発明の他の態様に係る情報処理装置のプログラムは、付記1または2に記載の情報処理装置のプログラムであって、前記仮想点は、前記オブジェクトが位置及び形状の少なくとも一方を変化させるモーションを実行する場合に、前記オブジェクトのうち、前記モーションに応じた部分に設定される、ことを特徴とする。
【0101】
この態様によれば、表示制御部が、オブジェクトのうちモーションに応じた部分に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置または姿勢を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトのうちモーションに応じた部分を含む領域を継続的に表示させることが可能となる。
【0102】
なお、上記態様において、「モーションに応じた部分」とは、モーションに応じて変化する部分であってもよい。具体的には、オブジェクトが第1の部分と第2の部分とを有する場合、モーションが第1の進行段階にあるときには、仮想点がオブジェクトの第1の部分に設定され、モーションが第2の進行段階にあるときには、仮想点がオブジェクトの第2の部分に設定される等、モーションの進行段階に応じて、仮想点が設定されるオブジェクトの部分が変化してもよい。
【0103】
[付記5]
本発明の他の態様に係る情報処理装置のプログラムは、付記1または2に記載の情報処理装置のプログラムであって、前記オブジェクトは、前記仮想空間における位置及び形状の少なくとも一方を変化させる複数種類のモーションを実行可能であり、前記仮想点は、前記オブジェクトのうち、前記オブジェクトの実行しているモーションの種類に応じた部分に設定される、ことを特徴とする。
【0104】
この態様によれば、表示制御部が、オブジェクトのうちモーションの種類に応じた部分に設定された仮想点の位置に基づいて、仮想空間における仮想カメラの位置または姿勢を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトのうちモーションの種類に応じた部分を含む領域を継続的に表示させることが可能となる。
【0105】
なお、上記態様において、「モーションの種類」とは、例えば、座る、立つ、歩く、及び、走る等の、個別のモーションを区別するための情報であってもよい。また、上記態様において、「モーションの種類」とは、オブジェクトが実行可能な複数のモーションを、所定の基準により分類した結果を示す情報であってもよい。
ここで、モーションを分類するための「所定の基準」とは、モーションの内容に基づく基準であってもよい。具体的には、「所定の基準」とは、例えば、オブジェクトが直立した状態で行われるモーションであるか否か、オブジェクトがモーションを実行する場合にオブジェクトの位置の変化量が所定の変化量以上となる位置変化の大きいモーションであるか否か、及び、オブジェクトがモーションを実行する場合にオブジェクトの形状の変化量が所定の変化量以上となる姿勢変化の大きいモーションであるか否か、等の一部または全部を含むものであってもよい。
また、モーションを分類するための「所定の基準」とは、モーションを実行可能なオブジェクトの種類に基づく基準であってもよい。具体的には、「所定の基準」とは、例えば、人間により実行可能なモーションであるか否か、人間以外のモンスター等により実行可能なモーションであるか否か、及び、仮想的な生物以外の人工物により実行可能なモーションであるか否か、等の一部または全部を含むものであってもよい。
【0106】
[付記6]
本発明の他の態様に係る情報処理装置のプログラムは、付記1に記載の情報処理装置のプログラムであって、前記表示制御部は、第1の単位期間における、前記仮想カメラの前記仮想空間における位置の変化量と、前記第1の単位期間に後続する第2の単位期間における、前記仮想カメラの前記仮想空間における位置の変化量と、の差分値が、第1閾値以下となるように、前記仮想空間における前記仮想カメラの位置を変化させる、ことを特徴とする。
【0107】
この態様によれば、表示制御部は、例えば、第1の単位期間と第2の単位期間との間で、仮想カメラの移動速度を滑らかに変化させることができる。これにより、この態様によれば、例えば、第1の単位期間と第2の単位期間との間で、仮想カメラの移動速度が急激に変化する場合と比較して、ヘッドマウントディスプレイを装着したユーザが違和感を感じる可能性を低減することが可能となる。
【0108】
なお、上記態様において、「第1の単位期間」及び「第2の単位期間」とは、同一の時間長を有する期間であってもよい。例えば、「第1の単位期間」及び「第2の単位期間」は、表示部に1枚の画像を表示するために必要な、1つのフレーム期間であってもよいし、表示部に複数の画像を表示するために必要な、複数のフレーム期間であってもよい。
【0109】
[付記7]
本発明の他の態様に係る情報処理装置のプログラムは、付記2に記載の情報処理装置のプログラムであって、前記表示制御部は、第1の単位期間における、前記仮想カメラの前記仮想空間における姿勢の変化量と、前記第1の単位期間に後続する第2の単位期間における、前記仮想カメラの前記仮想空間における姿勢の変化量と、の差分値が、第2閾値以下となるように、前記仮想空間における前記仮想カメラの姿勢を変化させる、ことを特徴とする。
【0110】
この態様によれば、表示制御部は、例えば、第1の単位期間と第2の単位期間との間で、仮想カメラの姿勢の変化速度を滑らかに変化させることができる。これにより、この態様によれば、例えば、第1の単位期間と第2の単位期間との間で、仮想カメラの姿勢の変化速度が急激に変化する場合と比較して、ヘッドマウントディスプレイを装着したユーザが違和感を感じる可能性を低減することが可能となる。
【0111】
[付記8]
本発明の他の態様に係る情報処理装置のプログラムは、付記6または7に記載の情報処理装置のプログラムであって、前記第1の単位期間は、前記オブジェクトが位置及び形状の少なくとも一方を変化させる、第1のモーションを実行する期間であり、前記第2の単位期間は、前記オブジェクトが位置及び形状の少なくとも一方を、前記第1のモーションとは異なる態様で変化させる、第2のモーションを実行する期間である、ことを特徴とする。
【0112】
この態様によれば、表示制御部は、例えば、オブジェクトのモーションを切り替える際に、仮想カメラの移動速度または姿勢の変化速度を滑らかに変化させることができる。これにより、この態様によれば、例えば、オブジェクトがモーションを切り替える際に、仮想カメラの移動速度または姿勢の変化速度が急激に変化する場合と比較して、ヘッドマウントディスプレイを装着したユーザが違和感を感じる可能性を低減することが可能となる。
【0113】
[付記9]
本発明の他の態様に係る情報処理装置のプログラムは、付記2に記載の情報処理装置のプログラムであって、前記表示制御部は、前記仮想空間における前記仮想カメラの位置が、前記仮想空間及び前記仮想点の少なくとも一方に基づいて定められる特定領域内に位置するように、前記仮想空間における前記仮想カメラの位置を変化させる、ことを特徴とする。
【0114】
この態様によれば、表示制御部は、仮想カメラが特定領域内に位置するように、仮想空間における仮想カメラの位置を設定する。このため、この態様によれば、例えば、仮想カメラによるオブジェクトの撮像が仮想空間の構成要素により妨げられたり、または、仮想カメラがオブジェクトから所定の距離より離間してオブジェクトの撮像が困難になったりすることを、防止することが可能となる。
【0115】
なお、上記態様において、「特定領域」とは、仮想空間のうち、オブジェクトが存在する領域以外の領域であってもよいし、仮想空間のうち、仮想空間を構成する建物、地面、及び、森林、山岳等の環境構成物が存在する領域以外の領域であってもよい。この態様において、「特定領域」とは、仮想点からの距離が所定の距離以下となる領域であってもよい。
【0116】
[付記10]
本発明の他の態様に係る情報処理装置のプログラムは、付記1乃至9に記載の情報処理装置のプログラムであって、前記表示制御部は、前記ヘッドマウントディスプレイが所定の姿勢変化をした場合に、前記仮想カメラによる前記仮想空間の撮像範囲を変化させる、ことを特徴とする。
【0117】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの表示部に対して、オブジェクトを、ユーザの所望の大きさで表示させることが可能となる。
【0118】
[付記11]
本発明の一態様に係る情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0119】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【0120】
[付記12]
本発明の他の態様に係る情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、ヘッドマウントディスプレイに設けられた表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0121】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【0122】
[付記13]
本発明の一態様に係るヘッドマウントディスプレイは、表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0123】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【0124】
[付記14]
本発明の他の態様に係るヘッドマウントディスプレイは、表示部と、情報処理装置と、を具備するヘッドマウントディスプレイであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0125】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【0126】
[付記15]
本発明の一態様に係る表示システムは、表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0127】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【0128】
[付記16]
本発明の他の態様に係る表示システムは、表示部を有するヘッドマウントディスプレイと、情報処理装置と、を具備する表示システムであって、前記情報処理装置は、仮想空間を仮想カメラで撮像した画像であって、両眼視差を利用した立体視画像を、前記表示部に表示させる表示制御部と、前記ヘッドマウントディスプレイの姿勢に関する姿勢情報を取得する取得部と、を備え、前記表示制御部は、前記仮想空間における仮想点の位置に関する位置情報に基づいて、前記仮想空間における前記仮想カメラの姿勢を変化させることが可能であり、前記姿勢情報に基づいて、前記仮想空間における前記仮想カメラの位置を変化させることが可能であり、前記仮想点は、前記仮想空間に存在するオブジェクトに基づく位置に設定され、前記仮想空間における前記オブジェクトの位置及び形状のうち少なくとも一方の変化に基づいて、前記仮想点の位置が変化する、ことを特徴とする。
【0129】
この態様によれば、表示制御部は、ヘッドマウントディスプレイの姿勢の変化と、オブジェクトの位置または形状の変化と、に基づいて、仮想空間における仮想カメラの位置及び姿勢の双方を変化させることができる。このため、この態様によれば、ヘッドマウントディスプレイの表示部に、オブジェクトを継続的に表示させることが可能となる。
【符号の説明】
【0130】
1…ヘッドマウントディスプレイ、10…端末装置、11…制御部、12…表示部、13…操作部、14…姿勢情報生成部、15…記憶部、110…表示制御部、111…モード指定部、112…仮想カメラ制御部、113…キャラクタ制御部、114…表示情報生成部、115…姿勢情報取得部、1000…プロセッサ、1002…角速度センサ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23