(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-12
(45)【発行日】2024-12-20
(54)【発明の名称】情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
(51)【国際特許分類】
A63F 13/55 20140101AFI20241213BHJP
A63F 13/213 20140101ALI20241213BHJP
A63F 13/428 20140101ALI20241213BHJP
【FI】
A63F13/55
A63F13/213
A63F13/428
(21)【出願番号】P 2022579246
(86)(22)【出願日】2021-02-04
(86)【国際出願番号】 JP2021004174
(87)【国際公開番号】W WO2022168244
(87)【国際公開日】2022-08-11
【審査請求日】2023-06-20
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100122275
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】森 英樹
(72)【発明者】
【氏名】西舘 正臣
(72)【発明者】
【氏名】渡辺 敦
【審査官】前地 純一郎
(56)【参考文献】
【文献】特開2020-181347(JP,A)
【文献】特開2020-197963(JP,A)
【文献】特開2020-198565(JP,A)
【文献】国際公開第2019/171557(WO,A1)
【文献】特開2019-023767(JP,A)
【文献】米国特許第09266022(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
G06T 11/00-13/80
G06T 17/00-19/20
(57)【特許請求の範囲】
【請求項1】
ディスプレイ装置と、当該ディスプレイ装置に表示させる映像のデータを生成する情報処理装置と、
複数のユーザ
のそれぞれと前記ディスプレイ装置との相対位置を検出するセンサと、を含む情報処理システムであって、
前記センサは、前記ディスプレイ装置の配置位置との関係で定められる
各ユーザの所在する位置までの距離の情報を含む前記相対位置の情報を出力しており、
前記情報処理装置が、
前記センサが検出した、
各ユーザと前記ディスプレイ装置との相対位置を表す情報を取得する手段と、
各ユーザに対応する仮想オブジェクトを含む映像のデータを生成する手段であって、
各ユーザに対応する仮想オブジェクトを制御対象として、当該制御対象となった仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記取得した、前記センサの出力する
対応するユーザと前記ディスプレイ装置との相対位置を表す情報であって、前記ディスプレイ装置の配置位置との関係で定められる前記距離の情報に基づいて制御する手段と、
を含む情報処理システム。
【請求項2】
ディスプレイ装置と、
複数のユーザ
のそれぞれと前記ディスプレイ装置との相対位置を検出するセンサとに接続される情報処理装置であって、
前記センサは、前記ディスプレイ装置の配置位置との関係で定められる
各ユーザの所在する位置までの距離の情報を含む前記相対位置の情報を出力しており、
前記センサが検出した、
各ユーザと前記ディスプレイ装置との相対位置を表す情報を取得する手段と、
各ユーザに対応する仮想オブジェクトを含む映像のデータを生成する生成手段であって、
各ユーザに対応する当該仮想オブジェクトを制御対象として、当該制御対象となった仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記取得した、前記センサの出力する
対応するユーザと前記ディスプレイ装置との相対位置を表す情報であって、前記ディスプレイ装置の配置位置との関係で定められる前記距離の情報に基づいて制御する生成手段と、
を含み、
当該生成した映像のデータを前記ディスプレイ装置に出力して表示させる情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記センサは、前記ディスプレイ装置の配置位置との関係で定められる水平面内の所定の方向を基準方向として、当該基準方向に対して
各ユーザの所在する方向を表す角度情報を含む、
各ユーザと前記ディスプレイ装置との相対位置の情報を出力しており、
前記生成手段は、前記制御対象となった
各ユーザの仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記センサが検出した、
対応するユーザと前記ディスプレイ装置との相対位置を表す情報に基づいて制御する情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記生成手段は、前記ディスプレイ装置の配置位置との関係で定められる、前記センサが出力した、前記基準方向に対して
対応するユーザの所在する方向を表す前記角度情報に基づいて、前記制御対象となった
当該ユーザに対応する仮想オブジェクトの前記映像のデータ内での姿勢を制御する情報処理装置。
【請求項5】
ディスプレイ装置と、
複数のユーザ
のそれぞれと前記ディスプレイ装置との相対位置を検出するセンサとに接続される情報処理装置の制御方法であって、
前記センサは、前記ディスプレイ装置の配置位置との関係で定められる
各ユーザの所在する位置までの距離の情報を含む前記相対位置の情報を出力しており、
取得手段が、前記センサが検出した、
各ユーザと前記ディスプレイ装置との相対位置を表す情報を取得し、
各ユーザに対応する仮想オブジェクトを含む映像のデータを生成する生成手段が、
各ユーザに対応する仮想オブジェクトを制御対象として、当該制御対象となった仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記取得した、前記センサの出力する
対応するユーザと前記ディスプレイ装置との相対位置を表す情報であって、前記ディスプレイ装置の配置位置との関係で定められる前記距離の情報に基づいて制御し、
当該生成した映像のデータを前記ディスプレイ装置に出力させる情報処理装置の制御方法。
【請求項6】
ディスプレイ装置と、
複数のユーザ
のそれぞれと前記ディスプレイ装置との相対位置を検出するセンサとに接続される情報処理装置を、
前記センサが検出した、
各ユーザと前記ディスプレイ装置との相対位置を表す情報を取得する手段と、
各ユーザに対応する仮想オブジェクトを含む映像のデータを生成する生成手段であって、
各ユーザに対応する仮想オブジェクトを制御対象として、当該制御対象となった仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記取得した、
対応するユーザと前記ディスプレイ装置との相対位置を表す情報に基づいて制御する生成手段と、
当該生成した映像のデータを前記ディスプレイ装置に出力する手段と、
として機能させ、
前記センサは、前記ディスプレイ装置の配置位置との関係で定められる各ユーザの所在する位置までの距離の情報を含む前記相対位置の情報を出力しており、
前記生成手段として機能させる際には、前記
各ユーザに対応する仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記取得した、前記ディスプレイ装置の配置位置との関係で定められる
対応するユーザの前記距離の情報に基づいて制御させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ディスプレイ装置が多様化し、またその性能が向上しており、ディスプレイ装置の正面方向ばかりでなく、比較的側面に近い方向からでもその表示内容を視認できるよう、視野角を拡大したディスプレイ装置や、見る方向によって異なる表示内容を視認可能な、立体視を可能としたディスプレイ装置などが存在する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、こうしたディスプレイ装置に対して例えばゲームキャラクタ等のオブジェクトを表示する場合であっても、ユーザは視覚上の体験を楽しむことはできるものの、視認しているオブジェクトに対してユーザが移動することによる娯楽性は考慮されてこなかった。
【0004】
本発明は上記実情に鑑みて為されたもので、ディスプレイ装置に対するユーザの相対位置により表示するオブジェクトの制御を可能として、娯楽性を向上できる情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【0005】
上記従来例の問題点を解決するための本発明の一態様は、ディスプレイ装置と、ユーザと前記ディスプレイ装置との相対位置を検出するセンサとに接続される情報処理装置を備えて、この情報処理装置が、前記センサが検出した、ユーザと前記ディスプレイ装置との相対位置を表す情報を取得する手段と、少なくとも一つの仮想オブジェクトを含む映像のデータを生成する生成手段であって、当該仮想オブジェクトの少なくとも一つを制御対象として、当該制御対象となった仮想オブジェクトの前記映像のデータ内での位置または姿勢を、前記取得した、ユーザと前記ディスプレイ装置との相対位置を表す情報に基づいて制御する生成手段と、を含み、当該生成した映像のデータを前記ディスプレイ装置に出力して表示させることとしたものである。
【発明の効果】
【0006】
本発明のこの態様によると、ディスプレイ装置に対するユーザの相対位置により表示するオブジェクトの制御を可能として、娯楽性を向上できる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施の形態に係る情報処理システムの構成例を表す概略ブロック図である。
【
図2】本発明の実施の形態に係る情報処理装置が設定する座標系の例を表す説明図である。
【
図3】本発明の実施の形態に係る情報処理装置の機能的構成の例を表す機能ブロック図である。
【
図4】本発明の実施の形態に係る情報処理システムの各装置の配置の例を表す説明図である。
【発明を実施するための形態】
【0008】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理システム1は、
図1に例示するように、情報処理装置10と、これに接続されるディスプレイ装置20、並びにセンサ装置30を含んで構成される。また情報処理装置10は、制御部11と、記憶部12と、操作制御部13と、表示制御部14と、通信部15とを含んで構成される。
【0009】
本実施の形態において、このディスプレイ装置20は、一般的な液晶ディスプレイ等であってもよいし、空間中に動的に立体像を表示する、ヴォクソンフォトニクス社の立体ディスプレイのようなものであってもよい。
【0010】
センサ装置30は、ディスプレイ装置20周囲のユーザの位置を検出し、ディスプレイ装置20と、ユーザとの相対的な位置を表す情報を生成する。一例としてこのセンサ装置30は、ディスプレイ装置20周囲のユーザを所定の方法で検出する。この検出の方法は、例えばディスプレイ装置20の周りでユーザが移動可能な範囲を画角とするカメラを用いて撮像された画像データを利用するものであってもよいし、赤外線などを用いるものであってもよい。
【0011】
センサ装置30は、また、
図2に例示するように、ディスプレイ装置20の配置位置、例えばディスプレイ装置20の中心(ディスプレイ装置20が表示する画像空間Mに外接する仮想的な直方体の中心)Cを原点とした所定のグローバル座標系により、検出したユーザの、ディスプレイ装置20の位置に対する相対的な位置を表す情報(以下、相対位置情報と呼ぶ)を生成する。なお、画像空間Mは、ディスプレイ装置20が立体的な画像を表示する立体ディスプレイであれば、当該立体的な表示が行われる空間であり、ディスプレイ装置20が平面的な画像を表示するディスプレイであれば、この面そのものとなる。
【0012】
一例としてこのグローバル座標は、例えばユーザの相対位置情報を次のような円筒座標系で表したものとする。すなわち、この円筒座標系(r,θ,z)のrは、水平面(ユーザが立つ床面と平行な面)内で、ディスプレイ装置20の中心Cから対象(ユーザの頭部の中心など、以下同様とする)の位置までの距離とする。また、この水平面内の所定の方向Rを基準方向として、平面視で、ディスプレイ装置20の中心Cから基準方向へ伸ばした線分と、ディスプレイ装置20の中心Cから対象の方向へ伸ばした線分とのなす角度(平面視で時計回りの角度としておく)をθとする。さらに、ディスプレイ装置20の中心Cを含む、水平面に平行な面から対象の位置までの、水平面から鉛直上方を正とした距離をzとする。
【0013】
この場合、センサ装置30は、検出したユーザの相対位置情報を、円筒座標系でのグローバル座標系内の位置(r,θ,z)として生成して出力する。
【0014】
さらにセンサ装置30は、検出したユーザの相対位置情報に代えて、あるいは相対位置情報とともに、ユーザの姿勢を表す情報を生成して出力してもよい。ここで姿勢を表す情報は、例えばユーザの向き(正面方向)がどちらを向いているかを表す情報(一例として上記グローバル座標内での基準方向からの角度を用いてよい)でもよいし、ユーザのポーズの情報でもよい。ここでポーズの情報は、例えばユーザの体の手や足などの各部をボーンモデルに当てはめたときのボーンモデルのノードの各位置の情報を用いて表されてもよい。
【0015】
情報処理装置10の制御部11は、CPUなどのプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態の一例では、この制御部11は、センサ装置30が検出した、ユーザとディスプレイ装置20との相対位置を表す情報を取得する。またこの制御部11は、少なくとも一つの仮想オブジェクトを含む仮想空間の情報を管理する。そして制御部11は、当該仮想空間内の仮想オブジェクトを表す映像データを生成して、ディスプレイ装置20に出力して表示させる。
【0016】
本実施の形態では、この制御部11は、上記仮想オブジェクトの少なくとも一つを制御対象として、当該制御対象となった仮想オブジェクトの上記映像データ内での位置または姿勢を、センサ装置30から取得した、ユーザとディスプレイ装置20との相対位置を表す情報(相対位置情報)に基づいて制御して、映像データを生成する。この制御部11の動作の詳しい内容は後に説明する。
【0017】
記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。またこの記憶部12は、制御部11のワークメモリとしても動作する。
【0018】
操作制御部13は、ユーザの操作を受け入れて、制御部11に出力する。本実施の形態のある例では、この操作制御部13は、ユーザが所持するコントローラ(不図示)から、ユーザがコントローラに対して行った操作の内容を表す情報を受け入れ、当該情報を制御部11に出力する。
【0019】
表示制御部14は、制御部11から入力される指示に従って、ディスプレイ装置20に対して映像の情報を出力する。通信部15は、USB等のインタフェースを含み、センサ装置30が出力する情報を受け入れて制御部11に出力する。またこの通信部15は、ネットワークインタフェースを含み、制御部11から入力される指示に従い、ネットワーク等の通信手段を介して他の情報処理装置10や、外部のサーバ装置などに対してデータを送出する。さらに通信部15は、ネットワーク等の通信手段を介して他の情報処理装置10や、外部のサーバ装置などから、このネットワークインタフェースを介して受信したデータを、制御部11に出力する。
【0020】
次に本実施の形態の制御部11の動作例について説明する。本実施の形態の制御部11は、
図3に例示するように、位置情報取得部111と、アプリケーション実行部112と、映像データ生成部113とを機能的に含んで構成される。
【0021】
位置情報取得部111は、センサ装置30が出力するユーザの相対位置情報等を取得する。
【0022】
アプリケーション実行部112は、ゲームアプリケーション等のアプリケーションプログラムに従って、仮想的な空間(例えばゲーム空間などの仮想空間)内に、仮想的なオブジェクトを配置する処理を実行する。一例として、この仮想空間は、所定の点を原点とするx,y,z直交座標系で表される空間であるとし、仮想空間の水平面をxy面で定めるものとする。
【0023】
本実施の形態の一例において、このアプリケーション実行部112は、車両を用いるゲームのアプリケーションプログラムの指示に従い、仮想的な三次元空間内に、上記水平面からの起伏を有する地面と、この地面上に形成された道路とを表す仮想オブジェクトを配置する。またこのアプリケーション実行部112は、位置情報取得部111が取得した情報に基づき、上記地面の仮想オブジェクト上(特に初期的には上記道路の仮想オブジェクト上)に、車両を表す仮想オブジェクトを配置し、その方向や仮想空間内での移動速度などを設定する。
【0024】
一例としてアプリケーション実行部112は、位置情報取得部111が取得したユーザの相対位置情報(r,θ,z)に基づいて、ディスプレイ装置20の中心とユーザの位置とを結ぶ線分に対して車両の仮想オブジェクトの長手方向とが平行となり、かつ、車両の仮想オブジェクトの後方(当該車両の後退方向)にユーザが所在している状態となるように、車両の仮想オブジェクトを配置する。
【0025】
この例ではアプリケーション実行部112は、現実の空間のディスプレイ装置20が表示する画像内の所定の点Qの位置に対応する仮想空間内の点Q′を定める。またアプリケーション実行部112は、現実の空間の水平面と仮想空間内のxy面とが平行であるものとし、現実空間の基準方向に対するこの水平面内の方向を規定する。そしてアプリケーション実行部112は、仮想オブジェクトにおける車両を、その中心が仮想空間内のQ′にあるように配する。このときアプリケーション実行部112は、当該車両の進行方向が、上記基準方向から(θ+180度)の方向となるように車両を配置する。
【0026】
さらにアプリケーション実行部112は、所定のタイミングごとに繰り返して、仮想空間内の上記点Q′の位置を、上記仮想空間の基準方向から車両の進行方向である(θ+180度)の方向へ、所定の距離Δdだけ移動させる。そしてアプリケーション実行部112は、所定のタイミングごとに繰り返して、映像データ生成部113に対して、仮想空間のうち、点Q′が、上記画像内の点Qの位置となるように定めた所定範囲の、部分的な仮想空間(レンダリング対象空間と呼ぶ)内の仮想オブジェクトをレンダリングするよう指示する。
【0027】
なお、ディスプレイ装置20が立体ディスプレイであれば、このときアプリケーション実行部112は、ディスプレイ装置20が表示する画像の、現実空間での水平面が、上記仮想空間内のxy面に平行となるように、上記レンダリング対象空間を定める。
【0028】
映像データ生成部113は、アプリケーション実行部112からレンダリングの指示を受けて、指示されたレンダリング対象空間内の仮想オブジェクトの映像を、ディスプレイ装置20にて表示可能な映像情報として生成する。
【0029】
一例として、この映像データ生成部113は、接続されているディスプレイ装置20が立体ディスプレイであれば、映像データ生成部113は、アプリケーション実行部112から指示されたレンダリング対象空間内の仮想オブジェクトに基づいて、表示の対象となるボクセルを配置した映像データを生成する。
【0030】
またこの映像データ生成部113は、接続されているディスプレイ装置20が、一般的な液晶ディスプレイ等であれば、アプリケーション実行部112から指示されたレンダリング対象空間内の仮想オブジェクトに基づいて、当該レンダリング対象空間を所定の方向(例えば仮想空間のz軸方向)から点Q′の方向を見た二次元の映像データを生成する。
【0031】
このように、仮想空間内に設定した仮想オブジェクトのデータに基づいて、ディスプレイ装置20に表示する映像のデータを生成する処理については、ディスプレイ装置20の種類に応じた種々の処理が広く知られているので、ここでの詳しい説明は省略する。
【0032】
[動作]
本実施の形態は、基本的に以上の構成を備えており、次の例のように動作する。なお、以下の例ではディスプレイ装置20は、立体像をボクセルで表示する立体ディスプレイであるものとし、
図4に例示するように、テーブルTなどの上に配置される。ユーザ(
図4:U)は、このディスプレイ装置20が配されたテーブルTの周囲のどの位置にも移動できるものとし、ディスプレイ装置20は、ユーザがテーブルTの周辺のどの位置に立っているときにもその位置から見た映像を提示可能となっているものとする。
【0033】
さらにこの例ではセンサ装置30は、例えばテーブルTが配されている室内の天井に設置されたカメラを有し、ディスプレイ装置20の位置とユーザの位置とを検出するとともに、
図2に例示した円筒座標系によりユーザの、ディスプレイ装置20に対する相対位置の情報を生成して出力する。
【0034】
またこのディスプレイ装置20に接続される情報処理装置10は、ゲームアプリケーションの指示に従い、仮想的な三次元空間内に起伏を有する地面と、この地面上に形成された道路とを表す仮想オブジェクトを配置し、この道路の仮想オブジェクト上に、車両を表す仮想オブジェクトを配置する。そしてこの例の情報処理装置10は、ユーザのディスプレイ装置20に対する相対位置情報に基づいて、車両の仮想オブジェクトの進行方向を制御する。
【0035】
具体的にこの情報処理装置10は、仮想オブジェクトを配置する仮想空間を、(x,y,z)直交座標系で表すとき、この座標系内に、当該xy面からの起伏を有する地面の仮想オブジェクトを配する。また、この地面の仮想オブジェクト上に、道路を表す仮想オブジェクトを配置する。以下の例では、この地面や道路の仮想オブジェクトは、車両の大きさに対して、車両が走行する状態を表すのに十分な大きさや長さを有する(つまり車両の仮想オブジェクトよりも十分大きいか、あるいは十分長い)ものとする。
【0036】
また情報処理装置10は、初期的には、この道路上に、現実の空間のディスプレイ装置20が表示する画像内の所定の点Qの位置に対応する仮想空間内の点Q′を定める。なお、このとき情報処理装置10は、現実の空間の水平面と仮想空間内のxy面とが平行となるように、仮想空間を設定する。
【0037】
そして情報処理装置10は、仮想オブジェクトにおける車両を、その中心が仮想空間内のQ′にあるように配する。このとき情報処理装置10は、センサ装置30からユーザの相対位置情報(r,θ,z)を取得し、進行方向が、上記基準方向から(θ+180度)の方向となるように車両を配置する。
【0038】
情報処理装置10は、以下、ゲームがスタートすると、その後、所定のタイミングごとに繰り返して、センサ装置30からユーザの相対位置情報(r,θ,z)を取得する。そして情報処理装置10は、当該相対位置情報(r,θ,z)を取得すると、仮想空間内の上記点Q′の位置を、上記仮想空間の基準方向から車両の進行方向である(θ+180度)の方向へ所定の距離Δdだけ移動した位置から鉛直方向、地面の仮想オブジェクト上にある点に移動させつつ、当該仮想空間のうち、点Q′が、上記画像内の点Qの位置となるように定めた所定のレンダリング対象空間内の仮想オブジェクトを、ディスプレイ装置20が表示可能な映像データとするためにレンダリング処理する。
【0039】
情報処理装置10がこの処理を繰り返して行うことで、ユーザは、ディスプレイ装置20の周囲を周方向(センサ装置30が検出するθの値を変化させる方向)に移動して、車両の進行方向を制御することとなる。
【0040】
本実施の形態のこの例によると、ユーザが視認しているオブジェクトに対して、ユーザ自身が移動することによる娯楽性が提供される。
【0041】
[距離などを併せて用いる例]
また、本実施の形態のこの例においては、センサ装置30が出力するユーザの相対位置情報のうち、ディスプレイ装置20を視認する角度の情報を用いるものとしたが、本実施の形態はこれに限られない。
【0042】
例えば情報処理装置10は、上記仮想的な車両の進行方向を、ユーザの相対位置情報によって表される角度θの方向に基づいて定めるとともに、その移動速度(上記の例でのΔdの値の大きさに相当する)を、ユーザの相対位置情報によって表される距離rに基づいて定めてもよい。
【0043】
このようにすると、例えばユーザがディスプレイ装置20に近づくと車両の進行速度が上昇し、ディスプレイ装置20から離れると車両の進行速度が低下する、といったような制御を行うことができる。
【0044】
また別の例では、情報処理装置10は、上記仮想的な車両の移動速度を、ユーザの相対位置情報によって表される頭部の高さzに基づいて定めてもよい。この場合、ユーザが頭部を低くするほど車両の進行速度が上昇する、といったような制御が可能となる。
【0045】
[コントローラの利用]
なお、本実施の形態のここでの例では、ユーザは、コントローラを使用して操作を行う必要は必ずしもない。
【0046】
[ディスプレイ装置の視野角・センサ装置の検出範囲に基づく制御]
またディスプレイ装置20の映像を視認できる水平面内の範囲が360度ではなく限定されている場合、ユーザの移動範囲が当該限定的範囲となるよう、情報処理装置10は、次のように処理してもよい。
【0047】
本実施の形態の一つの例では、情報処理装置10は、ユーザの相対位置情報に基づく制御の対象(例えば上述の例での車両の仮想オブジェクト)の制御範囲に、ユーザの移動可能な範囲をマッピングする。
【0048】
具体的に、ユーザの相対位置情報に基づく制御の対象が、仮想空間での仮想オブジェクトの配置角度であり、その範囲が水平面内で、ディスプレイ装置20の中心Cを中心の位置として、基準方向の±θmax度であるとする(ただし360度>θmax>0度)。
【0049】
またユーザの移動可能な範囲として、ディスプレイ装置20の視野角を用い、当該視野角が、基準方向の±φ度(ただし360度>φ>0度)であるとするとき、情報処理装置10は、センサ装置30が検出したユーザの相対位置情報のうち、角度方向の情報θ(ここではθ≦φであるとする)を用い、θmax≦φであれば:仮想オブジェクトの配置角度を、センサ装置30が出力したθの値そのものに基づいて定める。
【0050】
一方、情報処理装置10は、θmax>φであるときには、θ′=θ×(θmax/φ)として、角度範囲±φ度を、±θmaxの範囲にマッピングしたθ′を求め、このθ′に基づいて、仮想オブジェクトの配置角度を定める。
【0051】
この例によれば、例えば仮想的な車両の配置角度を±150度で設定したい場合に、ユーザの移動可能な範囲(ユーザがディスプレイ装置20の映像を視認できる範囲)が±90度であったとしても、この範囲でユーザが移動すれば、配置角度の範囲いっぱいの制御が可能となる。
【0052】
[複数のユーザが存在する場合の制御]
ここまでの説明では、ディスプレイ装置20の周囲に存在するユーザは、単独であるものとしたが、本実施の形態はこの例に限られない。例えばゲームアプリケーションをプレイするユーザのほかに、このユーザのプレイを観賞する別のユーザがディスプレイ装置20の周囲に存在してもよい。
【0053】
この例では、例えばゲームをプレイするユーザに発光体などのマーカーを装着させるか、ユーザが所持するコントローラデバイスの備えるLEDの発光色をユーザごとに異ならせるなどして、センサ装置30がゲームをプレイするユーザを識別可能としておけばよい。
【0054】
さらに別の例では、センサ装置30が、ディスプレイ装置20の周囲に存在する複数のユーザのそれぞれの相対位置情報を取得するようにしてもよい。この例では、センサ装置30は、ユーザごとに予め固有の識別情報を割り当てる。そしてセンサ装置30は、ユーザごとの相対位置情報を検出し、検出した相対位置情報と対応するユーザに固有の識別情報とを関連付けて情報処理装置10に対して出力することとする。
【0055】
なお、ユーザごとの識別は、上述のように、ユーザが所持するコントローラデバイスの備えるLEDの発光色をユーザごとに異ならせるなどして行えばよい。もっともこれは一例であり、例えばセンサ装置30が顔認識処理等によって各ユーザを識別してもよい。
【0056】
この例において、情報処理装置10は、ゲームアプリケーション等の処理に関わるユーザの数がNのとき、ディスプレイ装置20は、各ユーザの移動可能範囲を、ディスプレイ装置20の視野角φに対して、φ/Nずつに区切って設定し、アプリケーションプログラムの処理の開始時などに、各ユーザに対して移動可能範囲を案内する表示を行ってもよい。
【0057】
このようにすると、例えば立体ディスプレイ等でφ=360度の場合、N=2人のユーザがディスプレイ装置20の周囲に存在するときには、情報処理装置10は、180度ずつの範囲を各ユーザの移動可能範囲として割り当て、一方のユーザには、基準方向に対して0度を含む-90度から+90度までの範囲を割り当て、他方のユーザに、基準方向に対して+90度から270度(つまり-90度)の範囲を割り当てて、その旨の案内の表示を行う。
【0058】
そしてこの案内に従ってユーザがディスプレイ装置20周囲の配置についた後、情報処理装置10が、アプリケーションプログラムの処理を開始して、各ユーザの相対位置情報に基づいてディスプレイ装置20に表示する映像のデータを生成するなどの制御を行うこととしてもよい。
【0059】
またこのように複数のユーザがディスプレイ装置20の周囲に存在する場合、情報処理装置10は、各ユーザまでの距離rに応じて、各ユーザの位置や動きに基づく、ユーザに対応する仮想オブジェクトの動きの制御を異ならせてもよい。
【0060】
具体的に情報処理装置10は、複数のユーザの各々に対応する仮想オブジェクト(例えばユーザがコントロールするべきゲームキャラクタなど)の移動量Δdを、対応するユーザの相対位置情報に含まれる距離rの情報により、例えばこの距離rに比例して大きくなるよう制御し、またその移動方向を、対応するユーザの相対位置情報に含まれる角度θの情報により制御してもよい。
【0061】
このようにすると、ディスプレイ装置20に対しての各ユーザの位置取りが、各ユーザのゲームキャラクタの制御などに反映されることとなり、ディスプレイ装置20周囲でユーザ自身が移動することによる娯楽性がさらに向上する。
【0062】
またここでは移動量の制御を例としたが、本実施の形態はこれに限られず、情報処理装置10は、ユーザごとに、ユーザの相対位置情報に含まれる距離rに応じて、ディスプレイ装置20内での対応するユーザに対する情報の表示範囲を制御し、距離rが小さいほど表示範囲が大きくなるように制御してもよい。
【0063】
このような例では、よりディスプレイ装置20に近いユーザへの情報提供が促進されることとなるので、ユーザは必要に応じてディスプレイ装置20に近づくように移動して情報を得る、といった操作が可能となる。
【0064】
さらに情報処理装置10は、仮想空間内で、各ユーザが制御する仮想オブジェクトに対する物理シミュレーションのパラメータを、対応するユーザの相対位置情報に含まれる距離rに応じて異ならせてもよい。例えば情報処理装置10は、仮想オブジェクトに対して働く重力パラメータ(仮想空間内の地表に対する落下加速度)が、距離rが近くなるほど大きくなるように制御してもよい。同様に、ユーザがポーズによって、自己の制御する仮想オブジェクトに対する操作を行うアプリケーションプログラムを用いる場合、情報処理装置10は、その制御の大きさを、対応するユーザの相対位置情報に含まれる距離rに応じて異ならせてもよい。この例では、同じポーズで操作を行う場合でも、ディスプレイ装置20により近い距離でポーズをとることによって、仮想オブジェクトの配置角度の変化や移動距離などを大きくする、といった制御が可能となる。
【0065】
[複数のディスプレイ装置が存在する場合の制御]
本実施の形態のさらに別の例では、情報処理装置10は、他の情報処理装置10等との間で情報を送受して、アプリケーションプログラムの処理を行ってもよい。例えば情報処理装置10は、自身に接続されているディスプレイ装置20の周囲に存在するユーザの相対位置情報を、自身に接続されているセンサ装置30から取得して、仮想空間内の、当該ユーザにより制御されるべき仮想オブジェクトの配置を制御するとともに、当該取得したユーザの相対位置情報を、他の情報処理装置10に対して送出する。
【0066】
また情報処理装置10は、他の情報処理装置10から受信した、当該他の情報処理装置10に接続されたディスプレイ装置20の周囲に存在するユーザ(区別のため他のユーザと呼ぶ)の相対位置情報を用いて、仮想空間内の、当該他のユーザにより制御されるべき仮想オブジェクトの配置を制御する。
【0067】
この例によると、別々のディスプレイ装置20を利用する複数のユーザにより、一つのゲームアプリケーション等の処理が可能となる。またこの場合、複数のディスプレイ装置20が存在するが、当該複数のディスプレイ装置20の視野角等は互いに異なっていてもよい。視野角の異なるディスプレイ装置20が利用される場合、この例では、各情報処理装置10は、自己に接続されているディスプレイ装置20の視野角の情報を相互に交換し、最も狭い視野角の情報φminを得て、ユーザの移動可能範囲がこの最も狭い視野角内にあるように制御することとしてもよい。
【0068】
例えばこの最も狭い視野角φminよりも大きい視野角φを有するディスプレイ装置20に接続されている情報処理装置10は、センサ装置30から取得した、当該ディスプレイ装置20周囲のユーザの相対位置情報が示す角度の情報θに対して、φmin/φを乗じて、補正後の角度の情報θ′を得る。そしてこの補正後の角度の情報θ′を用いて、ユーザが制御するべき仮想オブジェクトの配置の方向などを制御することとしてもよい。
【0069】
[ディスプレイ装置が設置される環境]
さらに本実施の形態のある例では、情報処理装置10は、ユーザの相対位置情報に基づいて仮想空間内の仮想オブジェクトの位置や姿勢を制御するだけでなく、次のような処理を行ってもよい。
【0070】
すなわち本実施の形態のある例では、センサ装置30は、ユーザの相対的な位置だけでなく、ディスプレイ装置20が配されている環境での照明の位置(相対位置)及び照度、色などの情報を取得して情報処理装置10へ出力してもよい。
【0071】
この例の情報処理装置10は、当該センサ装置30から入力される光源の位置に対応する仮想空間内の位置に仮想的な光源を配し、仮想オブジェクトを照明することとしてもよい。このようにすると、現実空間の光源の位置を考慮した照明が仮想空間内の仮想オブジェクトに対しても行われるため、陰影の方向や形状が、現実空間の照明を考慮したものとなって、より自然な表示が行われる。さらにこの仮想的な光源の照度や色は、センサ装置30により現実空間の、対応する光源の照度や色が検出されているときには、当該照度や色の情報に基づいて定められてもよい。
【0072】
さらに、情報処理装置10は、センサ装置30が検出した現実空間の光源とディスプレイ装置20との間に、ユーザが存在することとなったときには、仮想オブジェクトに対してユーザの影を形成するための仮想オブジェクトを、上記光源に対応する仮想空間内の仮想光源と、各仮想オブジェクトとの間に配して、仮想オブジェクトにユーザの影が写り込むような演出を行ってもよい。
【0073】
なお、ここではセンサ装置30により光源の位置などの情報を取得しているが、これに代えて、ユーザが現実の空間の光源の、ディスプレイ装置20に対する相対的な位置などを設定しておくこととしてもよい。この例では、当該設定された情報に基づいて、情報処理装置10が仮想空間内の仮想的な光源の位置等を設定する。このようにすると、センサ装置30が光源の位置を検出する必要がないので、処理負荷が軽減される。
【0074】
また別の例では、情報処理装置10は、実行するアプリケーションプログラムの演出の状況に応じて、現実空間での照明の照度やオン/オフを制御してもよい。このような処理は、広く知られたホームオートメーションの処理により行うことができるので、処理の方法に関する詳しい説明は省略する。
【0075】
[疑似的な立体ディスプレイでの処理]
なお、ディスプレイ装置20の種類によっては、立体的な映像を表示するために、ディスプレイ装置20に対するユーザの位置の情報を必要とするものも存在する。このような例において、センサ装置30は、検出したユーザの相対位置の情報を、情報処理装置10だけでなくディスプレイ装置20に対しても出力することとしてもよい。
【0076】
ディスプレイ装置20は、当該センサ装置30により検出されたユーザの位置の情報を参照し、情報処理装置10から入力された映像のデータに基づいて、当該ユーザの位置から見た画像を生成して表示する。
【0077】
[姿勢制御の別の例]
また、ここまでに示した例では、情報処理装置10は、センサ装置30が出力するユーザの相対位置の情報に含まれる、基準方向に対するユーザの位置の角度の情報θを用いて、当該ユーザが制御するべき仮想オブジェクトの姿勢(方向など)を、例えば、当該仮想オブジェクトの正面が、基準方向から(θ+180度)の向きになるように設定することとしていた。しかしながら本実施の形態はこの例に限られるものではない。
【0078】
例えば情報処理装置10は、ユーザからの指示により、センサ装置30が出力するユーザの相対位置の情報に含まれる、基準方向に対するユーザの位置の角度の情報θを用い、仮想オブジェクトの正面の方向を、
θ、
θ+90度、
θ+180度、
θ+270度、
のうちから切り替えて設定してもよい。なお、ここでは加算する角度を0,90,180,270のうちから選択することとしているが、より細かく45度ごとの設定を可能としてもよいし、例えば1度など実質的に連続的な値での設定を可能としてもよい。
【0079】
この例によると、ユーザ自身を表したモデルを仮想オブジェクト(ユーザモデルオブジェクトと呼ぶ)とし、このユーザモデルオブジェクトの正面の方向を上記のいずれかの設定により、基準方向に対するユーザの位置の角度の情報θを用いて決定し、さらに販売されている衣服の仮想オブジェクトを、その正面の方向をユーザモデルオブジェクトの正面方向に合わせて、ユーザモデルオブジェクトに重ね合わせて配して、レンダリングの処理に供する。
【0080】
このようにすると、ユーザは、販売されている衣服を仮想的に試着した状態で、その正面、側面、背面を見ることができるようになる。また、センサ装置30により、ユーザのポーズを検出し、情報処理装置10が当該検出したポーズの形状に、ユーザモデルオブジェクトを変形し、また、衣服の仮想オブジェクトの形状も同様に変形する(このような処理は、ボーンモデルを用いた公知の処理により行うことが可能であるので、その処理の詳しい説明は省略する)と、ユーザは、試着した状態を所望の方向から視認できるようになる。
【符号の説明】
【0081】
1 情報処理システム、10 情報処理装置、11 制御部、12 記憶部、13 操作制御部、14 表示制御部、15 通信部、20 ディスプレイ装置、30 センサ装置、111 位置情報取得部、112 アプリケーション実行部、113 映像データ生成部。