JP2021043696A - プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ - Google Patents

プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ Download PDF

Info

Publication number
JP2021043696A
JP2021043696A JP2019165237A JP2019165237A JP2021043696A JP 2021043696 A JP2021043696 A JP 2021043696A JP 2019165237 A JP2019165237 A JP 2019165237A JP 2019165237 A JP2019165237 A JP 2019165237A JP 2021043696 A JP2021043696 A JP 2021043696A
Authority
JP
Japan
Prior art keywords
character
rotation angle
virtual space
target user
body information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019165237A
Other languages
English (en)
Inventor
政徳 高野
Masanori Takano
政徳 高野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thirdverse
Thirdverse Inc
Original Assignee
Thirdverse
Thirdverse Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thirdverse, Thirdverse Inc filed Critical Thirdverse
Priority to JP2019165237A priority Critical patent/JP2021043696A/ja
Publication of JP2021043696A publication Critical patent/JP2021043696A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】ヘッドマウントディスプレイを介して対象ユーザに仮想空間を提供する情報処理装置においてリアル感を向上させる。【解決手段】ゲームシステムにおいて、HMDシステムS1の情報処理装置は、仮想空間におけるキャラクタの各パーツの位置及び/又は回転角度と現実空間における各部位の位置及び/又は回転角度とを比較すること及び/又は仮想空間における各パーツの移動速度及び/又は回転速度と現実空間における各部位の移動速度及び/又は回転速度とを比較することで、仮想空間におけるキャラクタの各パーツの位置及び/又は回転角度が、現実空間における対象ユーザの対応する部位の位置及び/又は回転角度に収束するように、キャラクタの各パーツにかかる力を設定し、設定された力を用いて、各パーツの各時刻における位置及び/又は回転角度を決定し、決定した各パーツの各時刻における位置及び/又は回転角度を用いて、各パーツを表示する。【選択図】図2

Description

本発明は、プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイに関する。
従来、物理シミュレーション(例えば重さ、加速度、摩擦係数)をゲーム演算に取り入れるものが知られている(例えば、特許文献1参照)。
また例えば、家庭用ゲーム機におけるプレイヤ対プレイヤ対戦時のコントローラ端末における各操作(スティック操作、ボタン操作)において、ゲーム内のキャラクタ同士が接触して押し合いする場合がある。その一例としてユーザAが右にスティック操作し、ユーザBが左にスティック操作してキャラクタ同士が接触して押し合いする場合を想定する。その場合、ユーザAとユーザBのスティック操作量が同じ場合、ゲーム内のキャラクタ自体の重さ等を反映し、どちらのキャラクタが押されるのかが決定される。この際の操作として例えば、ユーザAのキャラクタの方が重い場合、ユーザBが左にスティック操作をし続けたとしても、ユーザBのキャラクタの方が軽いため、ユーザBのキャラクタが右に移動する。
特開2011−255018号公報
一方、予め設定されたキャラクタの重さと、コントローラのスティック操作という限定的な範囲内におけるユーザの操作との組み合わせによるものなので、リアル感が低いという問題がある。
本発明は、上記問題に鑑みてなされたものであり、ヘッドマウントディスプレイを介して対象ユーザに仮想空間を提供する場合においてリアル感を向上させることを可能とするプログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイを提供することを目的とする。
本発明の第1の態様に係るプログラムは、ヘッドマウントディスプレイを介して対象ユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、として機能させるためのプログラムである。
この構成によれば、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本発明の第2の態様に係るプログラムは、第1の態様に係るプログラムであって、前記設定部は、前記仮想空間における各パーツの3軸の回転角度及び/または回転速度と前記現実空間における各部位の3軸の回転角度及び/または回転速度とを比較し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの回転角度及び/または回転速度が、現実空間における対象ユーザの対応する部位の回転角度及び/または回転速度に収束するように、キャラクタの各パーツにかかる力を設定し、前記決定部は、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における回転角度を決定する。
この構成によれば、対象ユーザの各部位の3軸の回転角度及び/または回転速度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本発明の第3の態様に係るプログラムは、第1または2の態様に係るプログラムであって、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器と、他ユーザのキャラクタのパーツまたは当該パーツが保持する武器が接触するか否か判定する判定部として更に機能させるためのプログラムであって、前記決定部は、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器と、他ユーザのキャラクタのパーツまたは当該パーツが保持する武器が接触する場合に、対象ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または対象ユーザの武器の重さを用いて、当該パーツもしくは武器に働く力である第1の力のベクトルを決定し、他ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または他ユーザの武器の重さによって、当該パーツもしくは武器に働く力である第2の力のベクトルを決定し、当該第1の力のベクトルと当該第2の力のベクトルを比較し、比較結果に応じて、その後の当該パーツもしくは武器の位置または軌道を決定する。
この構成によれば、他ユーザのパーツもしくは武器との接触時に、より現実世界に近いアクションを仮想空間内で実現することができるので、リアル感を向上させることができる。
本発明の第4の態様に係るプログラムは、第3の態様に係るプログラムであって、前記決定部は、前記第1の力のベクトルの大きさが、前記第2の力のベクトルの大きさよりも大きい場合、前記接触した後に、対象ユーザのパーツが、対象ユーザの対応する体の部位に追従するよう当該パーツもしくは武器の位置または軌道を決定する。
この構成によれば、対象ユーザの動きとキャラクタの動きに一定のズレが生じても、その後に、対象ユーザの動きにキャラクタの動きを追従させることで、可能な限りこのズレを小さくし、リアル感を向上させることができる。
本発明の第5の態様に係るプログラムは、第1から4のいずれかの態様に係るプログラムであって、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器が仮想空間内の障害物に接触するか否か判定する判定部として更に機能させるためのプログラムであって、前記判定部は、前記対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器が仮想空間内の障害物に接触する場合、対象ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または武器の重さを用いて、当該パーツもしくは武器に働く力を決定し、当該決定した力と前記障害物を破壊するのに必要な力を比較することによって、前記障害物が破壊されるか否か判定し、前記決定部は、前記障害物が破壊されるか否かの判定結果に応じて、その後の当該パーツもしくは武器の位置または軌道を決定する。
この構成によれば、障害物との接触時に、障害物が破壊されるかに応じて、その後の当該パーツもしくは武器の位置または軌道を変更することにより、より現実世界に近いアクションを仮想空間内で実現することができるので、リアル感を向上させることができる。
本発明の第6の態様に係るプログラムは、第1から5のいずれかの態様に係るプログラムであって、前記表示制御部は、仮想空間内に、トラッキングボディ情報とキャラクタボディ情報を比較可能に表示させる。
この構成によれば、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きとの間に、どの程度の差(ズレ)が生じているかを対象ユーザに認知させることができる。
本発明の第7の態様に係るプログラムは、第6の態様に係るプログラムであって、前記表示制御部は、仮想空間において、キャラクタの各パーツを表示させるとともに対象ユーザの体の少なくとも一つの部位の位置を表すオブジェクトを表示させる。
この構成によれば、対象ユーザの体の少なくとも一つの部位の動きと対応するキャラクタのパーツの動きとの間に、どの程度の差(ズレ)が生じているかを対象ユーザに認知させることができる。
本発明の第8の態様に係るプログラムは、第6または7の態様に係るプログラムであって、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きを比較し、比較結果に応じたゲーム内効果を付与するゲーム演算部として更に機能させるためのプログラムである。
この構成によれば、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きの差がなるべく小さくなるように、対象ユーザを誘導することができ、可能な限り、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きの差を抑制することができる。
本発明の第9の態様に係る情報処理装置は、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置であって、ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、を備える。
この構成によれば、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本発明の第10の態様に係る情報処理システムは、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理システムであって、ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、を備える。
この構成によれば、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本発明の第11の態様に係る情報処理方法は、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理方法であって、ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するステップと、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するステップと、前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定するステップと、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定するステップと、前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御するステップと、を有する。
この構成によれば、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本発明の第12の態様に係るヘッドマウントディスプレイは、ユーザに仮想空間を提供するヘッドマウントディスプレイであって、ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、を備える。
この構成によれば、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本発明の一態様によれば、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
本実施形態に係るゲームシステムの概略構成の一例を示す図である。 本実施形態に係るHMDシステムの概略構成の一例を示す図である。 本実施形態に係る情報処理装置の概略構成の一例を示す図である。 現実空間においてユーザの手が加速している場合においてキャラクタの手のパーツにかける力を説明する模式図である。 現実空間においてユーザの手が減速している場合においてキャラクタの手のパーツにかける力を説明する模式図である。 キャラクタボディがトラッキングボディに近づく方向とは別方向への相対速度がある場合においてキャラクタの動作を説明する模式図である。 対象ユーザが右手(剣)を上から下に振り下ろす場合であって、対象ユーザのキャラクタの剣が他ユーザのキャラクタの剣と衝突する場合において対象ユーザのキャラクタの動作を説明する模式図である。 対象ユーザが右手(剣)を上から下に振り下ろす場合であって、対象ユーザのキャラクタの剣がゲーム内の壁と接触した場合において対象ユーザのキャラクタの動作を説明する模式図である。 仮想空間においてトラッキングボディとキャラクタボディとを表示させた場合の一例を示す図である。
以下、各実施形態について、図面を参照しながら説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
本実施形態では一例として、バーチャルリアリティ(以下、VRという)の仮想空間内でキャラクタ同士が近接する近接ゲーム(例えば、対戦剣戟ゲーム、対戦格闘ゲームなど)を対象とし、その一例として対戦剣戟ゲームを想定して説明する。対戦剣戟ゲームは一例として、ユーザのキャラクタ同士が、剣を用いて戦うゲームである。本実施形態に係る対戦剣戟ゲームでは、武器の一例である剣の重さ、防具の一例である盾の重さ、ゲーム内のキャラクタの頭、腕、胴体、足それぞれの重さ、長さなどの情報も物理シミュレーション情報に加える。本実施形態では、上記物理シミュレーションを実現するため、「トラッキングボディ情報」、「キャラクタボディ情報(フィジカルボディ情報ともいう)」という2つのボディ情報を用いる。
ここで、トラッキングボディ情報は、現実空間における当該ユーザの体の各部位の位置及び/または回転角度を表す。トラッキングボディ情報は例えば、ユーザの骨格とポーズを反映して推定した現実空間におけるユーザのボディの情報である。より詳細には、トラッキングボディ情報は、キャリブレーション等によって取得したユーザの身体情報(例えば身長や腕の長さ等)から骨格を推測し、後述するヘッドマウントディスプレイ(HMDともいう)2、両手それぞれで持つ後述するコントローラC1、C2のトラッキング情報からリアルタイムのポーズを推測して、推測した骨格及びポーズを反映したものである。
キャラクタボディ情報(フィジカルボディ情報)は、仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表す。キャラクタボディ情報(フィジカルボディ情報)は、物理シミュレーションに基づいた仮想空間内(ここでは一例としてゲーム内)のキャラクタのボディの情報である。仮想空間内のキャラクタの頭、腕、胴体、足など、それぞれのパーツの重さや形状などを反映したオブジェクトを用意し、それらパーツを所定の拘束条件によって繋ぎ合わせることにより、物理シミュレーションに用いるオブジェクトとしての仮想空間内のキャラクタを構築する。
図1は、本実施形態に係るゲームシステムの概略構成の一例を示す図である。図1に示すように、本実施形態に係るゲームシステム10は、対象ユーザが使用するHMD(Head Mount Display)システムS1と、対戦相手(他ユーザともいう)が使用するHMDシステムS2と、サーバ3とを備える。HMDシステムS1、HMDシステムS2、サーバ3は通信回路網NW(ネットワークともいう)に接続されている。HMDシステムS1は、サーバ3を介してHMDシステムS2と通信可能である。
なお、図1の構成は一例であって、HMDシステムS1と、HMDシステムS2とがピアツーピアで通信してもよい。
本実施形態において、HMDシステムS1とHMDシステムS2の構成は同様であるから、代表して、HMDシステムS1の構成について図2を用いて説明する。図2は、本実施形態に係るHMDシステムの概略構成の一例を示す図である。図2に示すように、HMDシステムS1は、情報処理装置1と、ユーザの頭Hに装着されるヘッドマウントディスプレイ2と、ユーザが手で使用するコントローラC1、C2と、センサ31、32とを備える。情報処理装置1は、ヘッドマウントディスプレイ2を介してユーザに仮想空間を提供する。本実施形態では一例として情報処理装置1は、コンピュータであるものとして説明する。なお、情報処理装置1は、多機能携帯端末(いわゆるスマートフォン)であってもよく、その場合、情報処理装置1は、ヘッドマウントディスプレイ2に挿入されて使用される。
ヘッドマウントディスプレイ2は、センサ21とモニタ22を備える。センサ21は例えば、3軸の加速度センサ及び/または3軸のジャイロセンサを含むモーションセンサである。センサ21は、ヘッドマウントディスプレイ2の回転角度を取得し、ヘッドマウントディスプレイ2は、このヘッドマウントディスプレイ2の回転角度を情報処理装置1へ送信する。これにより、情報処理装置1の後述するプロセッサ16は、ヘッドマウントディスプレイ2の回転角度を取得することができる。モニタ22には、ユーザに提供する視界映像が表示される。
コントローラC1は、センサC12を備える。ここで、センサC12は、例えば、3軸の加速度センサ及び/または3軸のジャイロセンサを含むモーションセンサである。センサC12は、コントローラC1の回転角度を取得し、コントローラC1は、このコントローラC1の回転角度を情報処理装置1へ送信する。これにより、情報処理装置1の後述するプロセッサ16は、コントローラC1の回転角度を取得することができる。
コントローラC2は、センサC22を備える。ここで、センサC22は、例えば、3軸の加速度センサ及び/または3軸のジャイロセンサを含むモーションセンサである。センサC22は、コントローラC2の回転角度を取得し、コントローラC2は、このコントローラC2の回転角度を情報処理装置1へ送信する。これにより、情報処理装置1の後述するプロセッサ16は、コントローラC2の回転角度を取得することができる。
センサ31、32は、ヘッドマウントディスプレイ2またはユーザの頭Hの位置及び/または回転角度、及びコントローラC1、C2の位置及び/または回転角度を検出するためのセンサである。センサ31、32は例えば、赤外線センサであり、赤外線の光源を更に備えてもよい。その場合、プロセッサ16によって赤外線の出射が制御されずに一定の時間間隔または設定されたスケジュールで赤外線を出射してもよいし、情報処理装置1の後述するプロセッサ16によって赤外線の出射が制御されてもよい。例えば、センサ31、32は、光源から出射された赤外線がヘッドマウントディスプレイ2によって反射され、反射された赤外線をそれぞれ検出する。その際例えばセンサ31、32は、反射された赤外線を検出した場合、出力電圧が上がるので、情報処理装置1の後述するプロセッサ16は、反射された赤外線を検出したタイミングを検出することができる。
この場合、情報処理装置1の後述するプロセッサ16は、センサ31、32が赤外線を出射してから反射された赤外線を検出する時間差に応じて、センサ31、32それぞれからヘッドマウントディスプレイ2までの距離を決定する。ここで、センサ31、32間の距離は既知であるものとする。プロセッサ16は、これらの距離に基づいて、三角測量の原理を用いて、ヘッドマウントディスプレイ2またはヘッドマウントディスプレイ2を装着したユーザの頭Hの位置を決定してもよい。なお、コントローラC1、C2の位置も、ヘッドマウントディスプレイ2またはユーザの頭Hの位置の上記の決定方法と同様の方法で決定してもよい。
図3は、本実施形態に係る情報処理装置の概略構成の一例を示す図である。情報処理装置1は一例としてコンピュータである。図3に示すように情報処理装置1は、ストレージ11と、メモリ12と、入力インタフェース13と、出力インタフェース14と、通信インタフェース15と、プロセッサ16を備える。
ここでストレージ11には、プロセッサ16が読み出して実行するための本実施形態に係るプログラム及び各種のデータが格納されている。メモリ12は、データ及びプログラムを一時的に保持する。メモリ12は、揮発性メモリであり、例えばRAM(Random Access Memory)である。
入力インタフェース13は、ヘッドマウントディスプレイ2、コントローラC1、C2及びセンサ31、32から信号が入力される。
出力インタフェース14は、ヘッドマウントディスプレイ2へ信号(例えば視覚映像を示す信号)を出力する。
通信インタフェース15は、通信回路網NWに接続されて、通信回路網NWに接続されているサーバ3、他のコンピュータ(図示せず)と通信する。
プロセッサ16は、ストレージ11から本実施形態に係るプログラムをメモリ12にロードし、当該プログラムに含まれる一連の命令を実行することによって、トラッキングボディ情報取得部161、キャラクタボディ情報取得部162、設定部163、決定部164、表示制御部165、判定部166、及びゲーム演算部167として機能する。
トラッキングボディ情報取得部161は、ヘッドマウントディスプレイ2及び/またはコントローラC1、C2の位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得する。
キャラクタボディ情報取得部162は、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得する。
本実施形態では、設定部163は、仮想空間のキャラクタボディ情報現実空間のトラッキングボディ情報に収束するように適切な力(フォース)を設定した上で、物理シミュレーションの計算を行う。
具体的には、設定部163は、取得されたトラッキングボディ情報と取得されたキャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行する。そして、設定部163は、当該比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する。
決定部164は、設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する。
表示制御部165は、決定された各パーツの各時刻における位置及び/または回転角度を用いて、仮想空間においてキャラクタの各パーツを表示するよう制御する。
続いて、設定部163の処理の三つの具体例について、図4〜図6を用いて説明する。
(1)手の加速時
図4は、現実空間においてユーザの手が加速している場合においてキャラクタの手のパーツにかける力を説明する模式図である。図4において、ユーザの手が加速している場合において、仮想空間におけるキャラクタボディF1、F2、F3の位置と、現実空間におけるトラッキングボディT1、T2、T3の位置との関係の一例が示されている。ここで、キャラクタボディは、仮想空間におけるキャラクタのパーツのオブジェクトであり、トラッキングボディは、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すオブジェクトである。
図4に示すように、設定部163は、キャラクタボディ(フィジカルボディ)とトラッキングボディの距離が第1の設定距離以上離れているときは、キャラクタボディ(フィジカルボディ)がトラッキングボディへ近づく方向(図4の矢印A1の方向)への力(フォース)を設定する。
(2)手の減速時
図5は、現実空間においてユーザの手が減速している場合においてキャラクタの手のパーツにかける力を説明する模式図である。図5において、ユーザの手が減速している場合において、仮想空間におけるキャラクタボディF11、F12、F13の位置と、現実空間におけるトラッキングボディT11、T12、T13の位置との関係の一例が示されている。矢印A2は、キャラクタボディF11のトラッキングボディT11に対する相対速度を表す。矢印A2に示すように、キャラクタボディF11の相対速度が更にトラッキングボディT11に近づく方向にある。
図5に示すように、設定部163は、キャラクタボディ(フィジカルボディ)とトラッキングボディの距離が第2の設定距離以下に縮まり、且つキャラクタボディの相対速度が更にトラッキングボディに近づく方向にあるときは、キャラクタボディ(フィジカルボディ)がトラッキングボディを通り越してしまわないよう、トラッキングボディとは反対方向(図5の矢印A2の方向)への力(フォース)を設定する。
(3)手の方向修正時
図6は、キャラクタボディがトラッキングボディに近づく方向とは別方向への相対速度がある場合においてキャラクタの手のパーツにかける力を説明する模式図である。図6において、仮想空間におけるキャラクタボディF21、F22、F23の位置と、現実空間におけるトラッキングボディT21、T22、T23の位置との関係の一例が示されている。矢印A4は、キャラクタボディF21のトラッキングボディT21に対する相対速度を表す。矢印A4に示すように、キャラクタボディF21の相対速度がトラッキングボディT21に近づく方向とは別方向にある。
図6に示すように、設定部163は、キャラクタボディ(フィジカルボディ)がトラッキングボディに近づく方向とは別方向への相対速度があるときは、その相対速度を打ち消す力(フォース)のベクトルとトラッキングボディに近づく力(フォース)のベクトルを合成したベクトルが表す方向(図6の矢印A4の方向)に、当該ベクトルの長さに相当する力(フォース)を設定する。
なお、上記の例では、各パーツの位置と速度について考慮したが、これだけに限ったものではない。これに加えてまたはこれに替えて、3軸の回転角度及び/または回転速度を考慮してもよい。ここで、3軸の回転角度とは、xyz座標系において、x軸を中心とする回転であるロールの回転角度、y軸を中心とする回転であるピッチの回転角度、及びz軸を中心とする回転であるヨーの回転角度である。同様に3軸の回転速度とは、xyz座標系において、ロールの回転速度、ピッチの回転速度、及びヨーの回転速度である。
その場合、設定部163は、仮想空間における各パーツの3軸の回転角度及び/または回転速度と前記現実空間における各部位の3軸の回転角度及び/または回転速度とを比較し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの回転角度及び/または回転速度が、現実空間における対象ユーザの対応する部位の回転角度及び/または回転速度に収束するように、キャラクタの各パーツにかかる力を設定してもよい。その場合、決定部164は、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における回転角度を決定してもよい。
この構成により、対象ユーザの各部位の3軸の回転角度及び/または回転速度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
(1)<対象ユーザが右手(剣)を上から下に振り下ろす場合(障害物なし)の動作>
続いて、対象ユーザが右手(剣)を上から下に振り下ろす場合(障害物なし)の動作について説明する。この場合、障害物がないため、ユーザの右手が先に目標点まで到達し、その後(ほぼリアルタイムで)キャラクタの右手がその目標点まで追従する。
(2)<対象ユーザが右手(剣)を上から下に振り下ろす場合であって、対象ユーザのキャラクタの剣が他ユーザのキャラクタの剣と接触(衝突)する場合(他ユーザのキャラクタの剣が障害物となる場合)>
設定部163は、対象ユーザの腕の重さ、振り下ろす速度、剣の重さ等と、他ユーザの腕の重さ、上方向に防御する反発力、接触時の角度及び方向などを用いて、対象ユーザの振り下ろす力のベクトル(第1の力のベクトル)と他ユーザの力のベクトル(第2の力のベクトル)を計算する。例えば、対象ユーザの振り下ろす力のベクトルの方が他ユーザの力のベクトルよりも大きい場合、現実空間における対象ユーザの右手はすぐに振り抜いた状態(目標点に到達)となるが、キャラクタの右手は他ユーザの腕と一時衝突(あるいは接触)して、止まるか減速するか弾かれるかし、その後、ユーザの右手方向にキャラクタの右手が追従する。決定部164は、このように動作するように、各パーツの各時刻における位置及び/または回転角度を決定する。
図7は、対象ユーザが右手(剣)を上から下に振り下ろす場合であって、対象ユーザのキャラクタの剣が他ユーザのキャラクタの剣と衝突する場合において対象ユーザのキャラクタの動作を説明する模式図である。図7(A)は、他ユーザのキャラクタの剣に衝突する前を表し、図7(B)は、他ユーザのキャラクタの剣に衝突する時を表し、図7(C)は、他ユーザのキャラクタの剣に衝突した後を表す。
図7において、仮想空間におけるキャラクタボディF31、F32、剣のオブジェクトF33の位置と、他ユーザの剣のオブジェクトE1の位置と、現実空間におけるトラッキングボディT31、T32の位置との関係の一例が示されている。図7(A)に示すように、設定部163は、対象ユーザの剣のオブジェクトF33が他ユーザの剣のオブジェクトE1に衝突する前は、キャラクタボディF32に矢印A11の力を設定する。
次に、図7(B)に示すように、設定部163は、対象ユーザの剣のオブジェクトF33が他ユーザの剣のオブジェクトE1に衝突する時、キャラクタボディF32に矢印A12の力を設定する。その際、対象ユーザの剣のオブジェクトF33が他ユーザの剣のオブジェクトE1に衝突することにより、仮想空間におけるキャラクタボディF31、F32が一例として止まる。なお減速するか弾かれるかしてもよい。一方、現実空間におけるトラッキングボディT31、T32は止まらずに移動するので、キャラクタボディF31、F32が、トラッキングボディT31、T32に追従できずに離れだす。
次に、図7(C)に示すように、設定部163は、対象ユーザの剣のオブジェクトF33が他ユーザの剣のオブジェクトE1に衝突した後は、キャラクタボディF32に矢印A13の力を設定する。その際、対象ユーザの剣のオブジェクトF33が他ユーザの剣のオブジェクトE1に衝突したことにより、仮想空間におけるキャラクタボディF31、F32が止まったままである。一方、現実空間におけるトラッキングボディT31、T32は止まらずに移動するので、キャラクタボディF31、F32とトラッキングボディT31、T32との距離が大きくなる。
上記の動作を実現するために、プロセッサ16は以下の処理を実行する。
判定部166は、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器(ここでは一例として剣)と、他ユーザのキャラクタのパーツまたは当該パーツが保持する武器(ここでは一例として剣)が接触するか否か判定する。
この場合、決定部164は、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器と、他ユーザのキャラクタのパーツ(例えば、腕のパーツ)または当該パーツが保持する武器が接触する場合に、対象ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または対象ユーザの武器の重さを用いて、当該パーツもしくは武器に働く力である第1の力のベクトルを決定する。更に、決定部164は、他ユーザのキャラクタのパーツ(例えば、腕のパーツ)の重さ、当該パーツの速度、及び/または他ユーザの武器の重さによって、当該パーツもしくは武器に働く力である第2の力のベクトルを決定する。決定部164は、当該第1の力のベクトルと当該第2の力のベクトルを比較し、比較結果に応じて、その後の当該パーツもしくは武器の位置または軌道を決定する。
この構成により、他ユーザのパーツもしくは武器との接触時に、より現実世界に近いアクションを仮想空間内で実現することができるので、リアル感を向上させることができる。
その際に、決定部164は例えば、第1の力のベクトルの大きさが、第2の力のベクトルの大きさよりも大きい場合、上記接触した後に、対象ユーザのパーツが、対象ユーザの対応する体の部位に追従するよう当該パーツもしくは武器の位置または軌道を決定する。
この構成により、対象ユーザの動きとキャラクタの動きに一定のズレが生じても、その後に、対象ユーザの動きにキャラクタの動きを追従させることで、可能な限りこのズレを小さくし、リアル感を向上させることができる。
一方、決定部164は、第1の力のベクトルの大きさが、第2の力のベクトルの大きさよりも小さい場合、上記接触した後に、対象ユーザのパーツが、対象ユーザの対応する体の部位から離れる方向に、当該パーツもしくは武器の位置または軌道を決定してもよい。この構成により、対象ユーザのパーツもしくは武器が他ユーザのパーツもしくは武器によって弾かれたような動きをするので、リアル感を向上させることができる。
なお、決定部164は例えば、上記接触した後に、第1の力のベクトルと第2の力のベクトルとを合成したベクトルの方向に、合成したベクトルの大きさに応じた力で、対象ユーザのパーツもしくは武器を移動させるように、当該パーツもしくは武器の位置または軌道を決定してもよい。これにより、より現実世界に近い動きをゲーム内で生じさせることができ、リアル感を向上させることができる。
(3)<対象ユーザが右手(剣)を上から下に振り下ろす場合であって、対象ユーザのキャラクタの剣がゲーム内の壁と接触した場合(ゲーム内障害物の場合)>
対象ユーザのキャラクタのパーツ(ここでは一例として腕)もしくは武器(ここでは一例として剣)に働く力が、壁を破壊するのに必要な力(予め設定された力)を超えると、壁が突き抜け可能な仕様の場合を想定する。この場合、対象ユーザのキャラクタの腕の重さ、振り下ろす速度、剣の重さ等によって計算される力が、当該壁を破壊するのに必要な力を超える場合、壁が破壊されて通り抜ける。この場合、対象ユーザのキャラクタの身体情報(例えば、対象ユーザのキャラクタ腕の重さ)及び剣の重さによって、当該壁を破壊するのに必要な力を超える速度が変化する。また、壁との接触時は対象ユーザの右手とキャラクタの右手に一定のズレが生じるが、対象ユーザの右手を元の方向へ戻すことでキャラクタの右手がそれに追従し、再度、対象ユーザの右手とキャラクタの右手が同期した形で攻撃可能となる。
図8は、対象ユーザが右手(剣)を上から下に振り下ろす場合であって、対象ユーザのキャラクタの剣がゲーム内の壁と接触した場合において対象ユーザのキャラクタの動作を説明する模式図である。図8(A)は、壁に衝突する前を表し、図8(B)は、壁に衝突する時を表し、図8(C)は、壁に衝突して破壊した後を表す。
図8において、仮想空間におけるキャラクタボディF41、F42、剣のオブジェクトF43、壁のオブジェクトW1の位置と、現実空間におけるトラッキングボディT41、T42の位置との関係の一例が示されている。図8(A)に示すように、設定部163は、対象ユーザの剣のオブジェクトF33が壁のオブジェクトW1に衝突する前は、キャラクタボディF42に矢印A21の力を設定する。
次に、図8(B)に示すように、設定部163は、対象ユーザの剣のオブジェクトF43が壁のオブジェクトW1に衝突する時、キャラクタボディF42に矢印A22の力を設定する。その際、対象ユーザの剣のオブジェクトF43が壁のオブジェクトW1に衝突することにより、仮想空間におけるキャラクタボディF41、F42が一例として止まる。なお減速するか弾かれるかしてもよい。一方、現実空間におけるトラッキングボディT41、T42は止まらずに移動するので、キャラクタボディF41、F42が、トラッキングボディT41、T42に追従できずに離れだす。
次に、対象ユーザの剣のオブジェクトF33が壁のオブジェクトW1に衝突して破壊すると、図8(C)に示すように、壁の断片オブジェクトW11、W12が飛び散る。図8(C)に示すように、設定部163は、対象ユーザの剣のオブジェクトF33が壁のオブジェクトW1に衝突して破壊した後は、キャラクタボディF42に矢印A23の力を設定する。その際、対象ユーザの剣のオブジェクトF43が壁のオブジェクトW1を破壊しながら進むことで減速する。一方、現実空間におけるトラッキングボディT41、T42は減速せずに移動するので、キャラクタボディF41、F42とトラッキングボディT41、T42との距離が大きくなる。
壁のオブジェクトW1を破壊後は、上記のようにユーザの右手とキャラクタの右手にズレが生じるが、ユーザの右手を元の方向へ戻すことでキャラクタの右手がそれに追従し、再度、ユーザの右手とキャラの右手が同期した形で攻撃可能となる。
上記の動作を実現するために、プロセッサ16は以下の処理を実行する。
判定部166は、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器(図8では一例として剣)が仮想空間内の障害物(図8では一例として壁)に接触するか否か判定する。
そして判定部166は、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器が仮想空間内の障害物に接触する場合、対象ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または武器の重さを用いて、当該パーツもしくは武器に働く力を決定し、当該決定した力と前記障害物を破壊するのに必要な力を比較することによって、前記障害物が破壊されるか否か判定する。
決定部164は、障害物が破壊されるか否かの判定結果に応じて、その後の当該パーツもしくは武器の位置または軌道を決定する。
この構成により、障害物との接触時に、障害物が破壊されるかに応じて、その後の当該パーツもしくは武器の位置または軌道を変更することにより、より現実世界に近いアクションを仮想空間内で実現することができるので、リアル感を向上させることができる。
接近戦のため、対象ユーザの動きとキャラクタの動きに一定の差(ズレ)が生じるが、この差(ズレ)が設定基準よりも小さい動きを行う方が、対象ユーザにとって好ましいゲーム内効果(例えば、攻撃効果アップ)を付与するようにしてもよい。あるいは、この差(ズレ)が設定基準より大きい動きを行うと、対象ユーザにとって好ましくないゲーム内効果(例えば、攻撃効果ダウン)を付与するようにしてもよい。このように、ゲーム演算部167は、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きの差に応じて、ゲーム内効果を付与してもよい。
以上をまとめると、ゲーム演算部167は、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きを比較し、比較結果に応じたゲーム内効果を付与してもよい。この構成により、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きの差がなるべく小さくなるように、対象ユーザを誘導することができ、可能な限り、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きの差を抑制することができる。
これを視覚的に支援するために、表示制御部165は、仮想空間内に、トラッキングボディ情報とキャラクタボディ情報(フィジカルボディ情報)を比較可能に、一例としてリアルタイムで表示させるようにしてもよい。この構成により、対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きとの間に、どの程度の差(ズレ)が生じているかを対象ユーザに認知させることができる。
その一例について、図9を用いて説明する。図9は、仮想空間においてトラッキングボディとキャラクタボディとを表示させた場合の一例を示す図である。図9において、各キャラクタボディが実線で、各トラッキングボディが破線で示されている。例えば、キャラクタボディF51と、このキャラクタボディF51に対応するトラッキングボディT51が表示されているが、その位置が異なっている。これは、キャラクタボディF51がトラッキングボディT51を追いかけている最中であるからである。
なお、図9では、説明のために、キャラクタボディ(フィジカルボディ)については、ボックスで表しているが、実際のゲーム画面では、キャラクタボディ(フィジカルボディ)については、ボックスの代わりにキャラクタの実際のパーツが表示される。
なお、図9では一例として、表示制御部165は、対象ユーザの体の各部位を表すトラッキングボディを表示したが、これに限らず、対象ユーザの体の少なくとも一つの部位の位置を表すオブジェクト(トラッキングボディ)を表示してもよい。
このように、表示制御部165は、仮想空間において、キャラクタの各パーツを表示させるとともに、対象ユーザの体の少なくとも一つの部位の位置を表すオブジェクトを表示させてもよい。
この構成により、対象ユーザの体の少なくとも一つの部位の動きと対応するキャラクタのパーツの動きとの間に、どの程度の差(ズレ)が生じているかを対象ユーザに認知させることができる。
以上、本実施形態に係るヘッドマウントディスプレイ2を介してユーザに仮想空間を提供する情報処理装置1を、トラッキングボディ情報取得部161、キャラクタボディ情報取得部162、設定部163、決定部164、表示制御部165、判定部166、及びゲーム演算部167として機能させるためのプログラムである。
トラッキングボディ情報取得部161は、ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得する。
キャラクタボディ情報取得部162は、仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得する。
設定部163は、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する。
決定部164は、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する。
表示制御部165は、前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する。
この構成により、対象ユーザの各部位の位置及び/または回転角度に収束するよう仮想空間のキャラクタの各パーツの位置及び/または回転角度を調節することができ、より現実世界に近いアクションを仮想空間内で生じさせることができるので、リアル感を向上させることができる。
なお、本実施形態に係るプログラムは、情報処理装置1を、トラッキングボディ情報取得部161、キャラクタボディ情報取得部162、設定部163、決定部164、表示制御部165、判定部166、及びゲーム演算部167のうち少なくとも一つとして機能させるためのプログラムであってもよい。またヘッドマウントディスプレイ2は、情報処理装置1を内蔵する構成であってもよい。この場合、本実施形態に係るプログラムは、ヘッドマウントディスプレイ2を、トラッキングボディ情報取得部161、キャラクタボディ情報取得部162、設定部163、決定部164、表示制御部165、判定部166、及びゲーム演算部167のうち少なくとも一つとして機能させるためのプログラムであってもよい。これにより、ヘッドマウントディスプレイ2は、ユーザに仮想空間を提供する。
なお、センサ31、32の数は、一例として二つとして説明したが、一つであってもよいし三つ以上あってもよい。またセンサ31、32は一例として赤外線センサであるものとして説明したが、これに限らず、ユーザを撮像するイメージセンサであってもよい。この場合、TOF(Time Of Flight)方式でユーザまでの距離を測定してもよい。
なお、上述した実施形態で説明した情報処理装置1の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ハードウェアで構成する場合には、情報処理装置1の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
また、情報処理装置1の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
さらに、一つまたは複数の情報処理機を備える情報処理システムによって情報処理装置1を機能させてもよい。複数の情報処理機を用いる場合、情報処理機のうちの1つをコンピュータとし、当該コンピュータが所定のプログラムを実行することにより情報処理装置1の少なくとも1つの手段として機能が実現されてもよい。
また、方法の発明においては、全ての工程(ステップ)をコンピュータによって自動制御で実現するようにしてもよい。また、各工程をコンピュータに実施させながら、工程間の進行制御を人の手によって実施するようにしてもよい。また、さらには、全工程のうちの少なくとも一部を人の手によって実施するようにしてもよい。
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1 情報処理装置
10 ゲームシステム
11 ストレージ
12 メモリ
13 入力インタフェース
14 出力インタフェース
15 通信インタフェース
16 プロセッサ
161 トラッキングボディ情報取得部
162 キャラクタボディ情報取得部
163 設定部
164 決定部
165 表示制御部
166 判定部
167 ゲーム演算部
2 ヘッドマウントディスプレイ
21 センサ
22 モニタ
3 サーバ
31、32 センサ
C1、C2 コントローラ
C12、C22 センサ
S1、S2 HMDシステム

Claims (12)

  1. ヘッドマウントディスプレイを介して対象ユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、
    ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、
    仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、
    前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、
    前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、
    前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、
    として機能させるためのプログラム。
  2. 前記設定部は、前記仮想空間における各パーツの3軸の回転角度及び/または回転速度と前記現実空間における各部位の3軸の回転角度及び/または回転速度とを比較し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの回転角度及び/または回転速度が、現実空間における対象ユーザの対応する部位の回転角度及び/または回転速度に収束するように、キャラクタの各パーツにかかる力を設定し、
    前記決定部は、前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における回転角度を決定する
    請求項1に記載のプログラム。
  3. 対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器と、他ユーザのキャラクタのパーツまたは当該パーツが保持する武器が接触するか否か判定する判定部として更に機能させるためのプログラムであって、
    前記決定部は、対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器と、他ユーザのキャラクタのパーツまたは当該パーツが保持する武器が接触する場合に、対象ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または対象ユーザの武器の重さを用いて、当該パーツもしくは武器に働く力である第1の力のベクトルを決定し、他ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または他ユーザの武器の重さによって、当該パーツもしくは武器に働く力である第2の力のベクトルを決定し、当該第1の力のベクトルと当該第2の力のベクトルを比較し、比較結果に応じて、その後の当該パーツもしくは武器の位置または軌道を決定する
    請求項1または2に記載のプログラム。
  4. 前記決定部は、前記第1の力のベクトルの大きさが、前記第2の力のベクトルの大きさよりも大きい場合、前記接触した後に、対象ユーザのパーツが、対象ユーザの対応する体の部位に追従するよう当該パーツもしくは武器の位置または軌道を決定する
    請求項3に記載の記載のプログラム。
  5. 対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器が仮想空間内の障害物に接触するか否か判定する判定部として更に機能させるためのプログラムであって、
    前記判定部は、前記対象ユーザのキャラクタのパーツまたは当該パーツが保持する武器が仮想空間内の障害物に接触する場合、対象ユーザのキャラクタのパーツの重さ、当該パーツの速度、及び/または武器の重さを用いて、当該パーツもしくは武器に働く力を決定し、当該決定した力と前記障害物を破壊するのに必要な力を比較することによって、前記障害物が破壊されるか否か判定し、
    前記決定部は、前記障害物が破壊されるか否かの判定結果に応じて、その後の当該パーツもしくは武器の位置または軌道を決定する
    請求項1から4のいずれか一項に記載のプログラム。
  6. 前記表示制御部は、仮想空間内に、トラッキングボディ情報とキャラクタボディ情報を比較可能に表示させる
    請求項1から5のいずれか一項に記載のプログラム。
  7. 前記表示制御部は、仮想空間において、キャラクタの各パーツを表示させるとともに対象ユーザの体の少なくとも一つの部位の位置を表すオブジェクトを表示させる
    請求項6に記載のプログラム。
  8. 対象ユーザの体の各部位の動きと対応するキャラクタの各パーツの動きを比較し、比較結果に応じたゲーム内効果を付与するゲーム演算部として更に機能させるための
    請求項6または7に記載のプログラム。
  9. ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置であって、
    ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、
    仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、
    前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、
    前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、
    前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、
    を備える情報処理装置。
  10. ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理システムであって、
    ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、
    仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、
    前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、
    前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、
    前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、
    を備える情報処理システム。
  11. ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理方法であって、
    ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するステップと、
    仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するステップと、
    前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定するステップと、
    前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定するステップと、
    前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御するステップと、
    を有する情報処理方法。
  12. ユーザに仮想空間を提供するヘッドマウントディスプレイであって、
    ヘッドマウントディスプレイ及び/またはコントローラの位置及び回転角度を用いて、対象ユーザのポーズを推定し、現実空間における当該対象ユーザの体の各部位の位置及び/または回転角度を表すトラッキングボディ情報を取得するトラッキングボディ情報取得部と、
    仮想空間内のキャラクタの各パーツのオブジェクトを所定の拘束条件によって繋ぎ合わせることにより、当該仮想空間における当該キャラクタの各パーツの位置及び/または回転角度を表すキャラクタボディ情報を取得するキャラクタボディ情報取得部と、
    前記トラッキングボディ情報と前記キャラクタボディ情報を用いて、仮想空間における各パーツの位置及び/または回転角度と現実空間における各部位の位置及び/または回転角度とを比較すること、及び/または仮想空間における各パーツの移動速度及び/または回転速度と現実空間における各部位の移動速度及び/または回転速度とを比較することを実行し、比較結果を用いて、仮想空間におけるキャラクタの各パーツの位置及び/または回転角度が、現実空間における対象ユーザの対応する部位の位置及び/または回転角度に収束するように、キャラクタの各パーツにかかる力を設定する設定部と、
    前記設定された力を用いて物理法則に従って、前記各パーツの各時刻における位置及び/または回転角度を決定する決定部と、
    前記決定された前記各パーツの各時刻における位置及び/または回転角度を用いて、前記仮想空間においてキャラクタの各パーツを表示するよう制御する表示制御部と、
    を備えるヘッドマウントディスプレイ。
JP2019165237A 2019-09-11 2019-09-11 プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ Pending JP2021043696A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019165237A JP2021043696A (ja) 2019-09-11 2019-09-11 プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019165237A JP2021043696A (ja) 2019-09-11 2019-09-11 プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ

Publications (1)

Publication Number Publication Date
JP2021043696A true JP2021043696A (ja) 2021-03-18

Family

ID=74862338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019165237A Pending JP2021043696A (ja) 2019-09-11 2019-09-11 プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ

Country Status (1)

Country Link
JP (1) JP2021043696A (ja)

Similar Documents

Publication Publication Date Title
KR100758138B1 (ko) 목표 지향 사용자 인터페이스
JP5265159B2 (ja) プログラム及びゲーム装置
US11235245B1 (en) Player-tracking video game
US6154197A (en) Virtual image generation method and its apparatus
JP4794343B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2022512479A (ja) 環境触覚を仮想現実に統合するためのシステム及び方法
JP6712423B2 (ja) シミュレーションシステム
US11361517B1 (en) Video game controlled by player motion tracking
US11389724B2 (en) Non-transitory computer-readable medium, device, and method for image generation
US20220083055A1 (en) System and method for robot interactions in mixed reality applications
Ionescu et al. A multimodal interaction method that combines gestures and physical game controllers
Lee et al. A development of virtual reality game utilizing Kinect, Oculus Rift and smartphone
JP2021043696A (ja) プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ
CN108983954B (zh) 基于虚拟现实的数据处理方法、装置以及系统
JP5957258B2 (ja) プログラム、情報記憶媒体、ゲーム装置、およびサーバシステム
JP2019193705A (ja) ゲームプログラム及びゲーム装置
US11278809B2 (en) Non-transitory computer-readable medium, device, and method for image generation
JP5122111B2 (ja) シミュレーションゲーム機、シミュレーションゲーム機のプログラム
JP7194495B2 (ja) プログラム、コンピュータシステムおよびゲーム実行制御方法
JP2017099608A (ja) 制御システム及びプログラム
JP2011255114A (ja) プログラム、情報記憶媒体及び画像生成システム
Ionescu et al. Multimodal control of virtual game environments through gestures and physical controllers
US11954244B2 (en) Information processing device and information processing method
US20240226717A9 (en) Computer-readable medium configured to translating movements performed by a person onto a user in augmented or virtual reality
CN116686022A (zh) 控制方法、装置、体感遥控器、控制系统和存储介质

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200522