JP2021043697A - プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ - Google Patents
プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ Download PDFInfo
- Publication number
- JP2021043697A JP2021043697A JP2019165246A JP2019165246A JP2021043697A JP 2021043697 A JP2021043697 A JP 2021043697A JP 2019165246 A JP2019165246 A JP 2019165246A JP 2019165246 A JP2019165246 A JP 2019165246A JP 2021043697 A JP2021043697 A JP 2021043697A
- Authority
- JP
- Japan
- Prior art keywords
- tracking information
- head
- mounted display
- acquired
- rotation angle
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】通信遅延が生じたとしても、対象ユーザのプレイの快適性が損なわれることを低減する。【解決手段】情報処理装置1において、プロセッサは、ヘッドマウントディスプレイ及びコントローラの位置及び/又は回転角度を検出するためのセンサから、コントローラ及びヘッドマウントディスプレイの位置及び/又は回転角度を含むトラッキング情報を取得する取得部、トラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、取得したヘッドマウントディスプレイのトラッキング情報を用いて、仮想カメラの位置及び/又は回転角度を決定し、決定した仮想カメラの位置及び/又は回転角度を用いて仮想空間の描画を実行する描画処理部、他ユーザのトラッキング情報を受信するよう制御する通信制御部及び対象ユーザのトラッキング情報と、他ユーザのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部として機能する。【選択図】図3
Description
本発明は、プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイに関する。
従来、協力型オンラインゲームの場合は、通信遅延による同期のズレがあっても、プレーヤ側に有利になるように結果の補間を行えば大きな問題は生じていなかった。対戦型オンラインゲームであってもファーストパーソン・シューター(FPS)のようなジャンルであれば、例えば銃撃のように当たり判定まで一定の時間があるため、あらかじめ弾道を計算することでリアルタイムのようなプレイ感覚を提供することができていた。
例えば、特許文献1に記載されているように、従来の非バーチャルリアリティのオンライン格闘ゲームの場合は、タイミングに応じた各プレーヤからの入力情報が揃った段階で順次ゲーム演算を行い、各キャラクタを動作させている。
一方、バーチャルリアリティ(以下、VRという)のキャラクタ同士が近接する近接ゲーム(例えば、対戦剣戟ゲーム、対戦格闘ゲームなど)においても、対象ユーザ(自ユーザともいう)の動きと、対戦相手(他ユーザともいう)の動きを、リアルタイムでゲームに反映する必要がある。
しかしながら、通信遅延が生じた場合に、対戦相手(他ユーザ)の動きの情報が受信できるまで自端末は何も処理をせずに待っていると、いつまでも映像が変わらず、対象ユーザが酔ってしまう場合があり、対象ユーザが快適にプレイできないという問題がある。
しかしながら、通信遅延が生じた場合に、対戦相手(他ユーザ)の動きの情報が受信できるまで自端末は何も処理をせずに待っていると、いつまでも映像が変わらず、対象ユーザが酔ってしまう場合があり、対象ユーザが快適にプレイできないという問題がある。
本発明は、上記問題に鑑みてなされたものであり、通信遅延が生じたとしても、対象ユーザのプレイの快適性が損なわれることを低減することを可能とするプログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイを提供することを目的とする。
本発明の第1の態様に係るプログラムは、ヘッドマウントディスプレイを介して対象ユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、他ユーザのトラッキング情報を受信する通信制御部と、前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、として機能させるためのプログラムである。
この構成によれば、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイの位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
本発明の第2の態様に係るプログラムは、第1の態様に係るプログラムであって、前記描画処理部は、前記取得された前記ヘッドマウントディスプレイのトラッキング情報を用いて、仮想空間の描画に使用する仮想カメラの位置を決定し、決定された仮想カメラの位置及び前記ヘッドマウントディスプレイの回転角度を用いて、仮想空間の描画を実行する。
この構成によれば、対象ユーザ自身のヘッドマウントディスプレイの位置及び回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。
本発明の第3の態様に係るプログラムは、第1または2の態様に係るプログラムであって、前記取得部によってトラッキング情報が取得された場合、ゲーム演算実行済みのフレーム番号と当該取得されたトラッキング情報のフレーム番号とを比較し、比較の結果、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れているか否か判定する判定部として更に機能させるためのプログラムであって、前記通信制御部は、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れている場合、当該取得されたトラッキング情報を他ユーザのヘッドマウントディスプレイシステムへ送信せず、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れていない場合、当該取得されたトラッキング情報を前記他ユーザのヘッドマウントディスプレイシステムへ送信するよう制御する。
この構成によれば、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れている場合に、取得されたトラッキング情報を他ユーザのヘッドマウントディスプレイシステムへ送信しないようにして、取得されたトラッキング情報がゲーム演算に反映されないようにすることにより、トラッキング情報がゲーム演算に反映されるまでの遅延が徐々に大きくなるのを防止し、ゲーム操作の快適性を維持することができる。
本発明の第4の態様に係る情報処理装置は、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置であって、対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、他ユーザのトラッキング情報を受信するよう制御する通信制御部と、前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、を備える。
この構成によれば、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイの位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
本発明の第5の態様に係る情報処理システムは、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理システムであって、対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、他ユーザのトラッキング情報を受信するよう制御する通信制御部と、前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、を備える。
この構成によれば、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイの位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
本発明の第6の態様に係る情報処理方法は、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理方法であって、対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得するステップと、前記取得するステップによってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行するステップと、他ユーザのトラッキング情報を受信するよう制御するステップと、前記取得するステップによって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するステップと、を有する。
この構成によれば、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイの位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
本発明の第7の態様に係るヘッドマウントディスプレイは、ユーザに仮想空間を提供するヘッドマウントディスプレイであって、対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、他ユーザのトラッキング情報を受信するよう制御する通信制御部と、前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、を備える。
この構成によれば、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイの位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
本発明の一態様によれば、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイの位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
以下、各実施形態について、図面を参照しながら説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
図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は、本実施形態に係る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の後述する取得部161は、ヘッドマウントディスプレイ2の回転角度を取得することができる。モニタ22には、ユーザに提供する視界映像が表示される。
コントローラC1は、センサC12を備える。ここで、センサC12は、例えば、3軸の加速度センサ及び/または3軸のジャイロセンサを含むモーションセンサである。センサC12は、コントローラC1の回転角度を取得し、コントローラC1は、このコントローラC1の回転角度を情報処理装置1へ送信する。これにより、情報処理装置1の後述する取得部161は、コントローラC1の回転角度を取得することができる。
コントローラC2は、センサC22を備える。ここで、センサC22は、例えば、3軸の加速度センサ及び/または3軸のジャイロセンサを含むモーションセンサである。センサC22は、コントローラC2の回転角度を取得し、コントローラC2は、このコントローラC2の回転角度を情報処理装置1へ送信する。これにより、情報処理装置1の後述する取得部161は、コントローラ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の位置を決定してもよい。
図3は、本実施形態に係る情報処理装置の概略構成の一例を示す図である。情報処理装置1は一例としてコンピュータである。図3に示すように情報処理装置1は、ストレージ11と、メモリ12と、入力インタフェース13と、出力インタフェース14と、通信インタフェース15と、プロセッサ16を備える。
ここでストレージ11には、プロセッサ16が読み出して実行するための本実施形態に係るプログラム及び各種のデータが格納されている。メモリ12は、データ及びプログラムを一時的に保持する。メモリ12は、揮発性メモリであり、例えばRAM(Random Access Memory)である。
ここでストレージ11には、プロセッサ16が読み出して実行するための本実施形態に係るプログラム及び各種のデータが格納されている。メモリ12は、データ及びプログラムを一時的に保持する。メモリ12は、揮発性メモリであり、例えばRAM(Random Access Memory)である。
入力インタフェース13は、ヘッドマウントディスプレイ2、コントローラC1、C2及びセンサ31、32から信号が入力される。
出力インタフェース14は、ヘッドマウントディスプレイ2へ信号(例えば視覚映像を示す信号)を出力する。
通信インタフェース15は、ネットワークに接続されて、ネットワークに接続されているサーバ3、他のコンピュータ(図示せず)と通信する。
出力インタフェース14は、ヘッドマウントディスプレイ2へ信号(例えば視覚映像を示す信号)を出力する。
通信インタフェース15は、ネットワークに接続されて、ネットワークに接続されているサーバ3、他のコンピュータ(図示せず)と通信する。
プロセッサ16は、ストレージ11から本実施形態に係るプログラムをメモリ12にロードし、当該プログラムに含まれる一連の命令を実行することによって、取得部161、描画処理部162、通信制御部163、ゲーム演算部164及び判定部165として機能する。
取得部161は例えば、ヘッドマウントディスプレイ(以下、HMDともいう)2及びコントローラC1、C2の3点のトラッキング情報を含む操作情報を取得し、通信制御部163は例えば、これら3点のトラッキング情報を含む操作情報を送信する。ここでヘッドマウントディスプレイ2のトラッキング情報には、ゲームに応じて、位置だけが含まれる場合と、回転角度だけが含まれる場合と、位置及び回転角度の両方が含まれる場合がある。同様にコントローラC1、C2のトラッキング情報にはゲームに応じて、位置だけが含まれる場合と、回転角度だけが含まれる場合と、位置及び回転角度の両方が含まれる場合がある。本実施形態では一例としてヘッドマウントディスプレイ2のトラッキング情報、コントローラC1、C2のトラッキング情報もいずれも、互いに直交するX軸、Y軸、Z軸それぞれの位置(すなわち3次元位置)、及び、X軸周りの回転角度、Y軸周りの回転角度、Z軸周りの回転角度を含むものとして説明する。このように、本実施形態ではトラッキング情報は一例として6次元の自由度がある情報である。
なお、操作情報には、コントローラC1、C2のボタン(図示せず)が押されことを示す情報(あるいはコントローラC1、C2のボタンが押されたか否かを示す情報)、スティック操作の情報も含まれてもよい。
なお、操作情報には、コントローラC1、C2のボタン(図示せず)が押されことを示す情報(あるいはコントローラC1、C2のボタンが押されたか否かを示す情報)、スティック操作の情報も含まれてもよい。
本実施形態では、描画処理とゲーム演算(シミュレーション)を分離することで、描画に使用するHMD2のトラッキング情報は、仮想カメラの位置及び向きに即座に反映させ、ゲーム演算に使用するHMD2のトラッキング情報は、対戦相手(他ユーザ)のトラッキング情報の受信を待ってから反映させる。ここで、仮想カメラの位置及び向きは、ヘッドマウントディスプレイ2に表示される仮想空間の描画に使用するものである。
続いて、図4を用いて、本実施形態に係る情報処理方法の流れについて説明する。図4は、本実施形態に係る情報処理方法の一例を示すフローチャートである。プロセッサ16は、以下のステップS101〜S104の描画処理と、ステップS201〜S202のゲーム演算処理を並列に実行する。
(ステップS101)まず、取得部161は、対象ユーザのHMDシステムS1(自HMDシステムともいう)のNフレーム目(Nは正の整数)のトラッキング情報を取得する。
(ステップS102)判定部165は、ステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)と、自HMDシステムにおいてゲーム演算実行済みのフレーム番号に閾値以上の差があるか否か判定する。これにより、ゲーム演算実行済みのフレーム番号が、ステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)より閾値以上遅れたフレーム番号になっているか否かを判定することができる。
(ステップS103)ステップS102においてステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)と自HMDシステムにおいてゲーム演算実行済みのフレーム番号に閾値以上の差がない場合(すなわち、その差が閾値未満の場合)、通信制御部163は、ステップS101で取得した自HMDシステムのNフレーム目のトラッキング情報を他ユーザのHMDシステムS2(他HMDシステムともいう)へ送信する。
一方、ステップS102においてステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)と自HMDシステムにおいてゲーム演算実行済みのフレーム番号に閾値以上の差がある場合、後述するステップS103をスキップして、後述するステップS104を実行する。
ここで、上記閾値以上の差がある場合に、仮にステップS103をスキップしない場合、Nフレーム目のトラッキング情報がゲーム演算に反映されるまでの遅延が徐々に大きくなり、ゲーム操作の快適性を損なう結果となる。これに対して、本実施形態では上述したように、ステップS103をスキップすることによって、上記閾値以上の差がある場合に、ステップS103をスキップしてNフレーム目のトラッキング情報を他HMDシステムへ送信しないようにして、Nフレーム目のトラッキング情報がゲーム演算に反映されないようにすることにより、トラッキング情報がゲーム演算に反映されるまでの遅延が徐々に大きくなるのを防止し、ゲーム操作の快適性を維持することができる。
(ステップS104)次に、描画処理部162は、自HMDシステムのトラッキング情報のうち、ヘッドマウントディスプレイ2の位置を用いて、ヘッドマウントディスプレイ2に表示される仮想空間における仮想カメラの位置を決定し、決定された仮想カメラの位置及びヘッドマウントディスプレイ2の回転角度を用いて仮想空間の描画を実行する。これにより、この仮想カメラの位置においてこの仮想カメラの向きに仮想空間を見た場合の仮想空間が描画される。ここで、現実空間におけるヘッドマウントディスプレイ2の現実空間の基準点からの位置と、仮想空間における仮想カメラの仮想空間における原点からの位置とは、予め対応関係が決められているので、現実空間におけるヘッドマウントディスプレイ2の位置から、仮想空間における仮想カメラの位置を決定することができる。また、ヘッドマウントディスプレイ2の回転角度は、そのまま仮想空間における仮想カメラの向きを表す。
なお、ステップS102における、ステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)と自HMDシステムにおいてゲーム演算実行済みのフレーム番号との差分は、ゲーム演算実行済みのフレーム番号とステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)とを比較する処理の一例であって、これに限ったものではない。ゲーム演算実行済みのフレーム番号、トラッキング情報のフレーム番号、及び「ゲーム演算実行済みのフレームが当該取得されたトラッキング情報のフレームに対して設定基準以上遅れているか否かの判定結果」との組がテーブルなどによってストレージ11に蓄積されており、そのストレージ11を参照することによって、ゲーム演算実行済みのフレーム番号とステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)とを比較してもよい。
すなわち判定部165は、ゲーム演算実行済みのフレーム番号とステップS101で取得されたトラッキング情報のフレーム番号(すなわちNの値)とを比較し、比較の結果、ゲーム演算実行済みのフレームが、ステップS101で取得されたトラッキング情報のフレームに対して設定基準(ステップS102の例では、閾値)以上遅れているか否かを判定してもよい。その場合、通信制御部163は、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れている場合、当該取得されたトラッキング情報を他ユーザのヘッドマウントディスプレイシステムへ送信せず、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れていない場合、当該取得されたトラッキング情報を前記他ユーザのヘッドマウントディスプレイシステムへ送信するよう制御してもよい。
この構成により、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れている場合に、取得されたトラッキング情報を他ユーザのヘッドマウントディスプレイシステムへ送信しないようにして、取得されたトラッキング情報がゲーム演算に反映されないようにすることにより、トラッキング情報がゲーム演算に反映されるまでの遅延が徐々に大きくなるのを防止し、ゲーム操作の快適性を維持することができる。
上述したようにプロセッサ16は、上述のステップS101〜S104の描画処理に並行して、以下のステップS201〜S202のゲーム演算処理を実行する。
(ステップS201)判定部165は、他ユーザのHMDシステムS2(他HMDシステムともいう)のNフレーム目のトラッキング情報を受信したか否か判定する。他HMDシステムのトラッキング情報を受信していない場合、判定部165はそのまま待機する。
(ステップS201)判定部165は、他ユーザのHMDシステムS2(他HMDシステムともいう)のNフレーム目のトラッキング情報を受信したか否か判定する。他HMDシステムのトラッキング情報を受信していない場合、判定部165はそのまま待機する。
(ステップS202)ステップS104で他HMDシステムのトラッキング情報を受信したと判定された場合、ゲーム演算部164は、自HMDシステムのNフレーム目のトラッキング情報と他HMDシステムのNフレーム目のトラッキング情報を用いて、ゲーム演算を実行する。ここで用いられる、自HMDシステムのNフレーム目のトラッキング情報には、対象ユーザのコントローラの位置及び/または回転角度(ここでは一例として両方)及び対象ユーザのヘッドマウントディスプレイの位置及び/または回転角度(ここでは一例として両方)が含まれる。同様に、ここで用いられる、他HMDシステムのNフレーム目のトラッキング情報には、他ユーザのコントローラの位置及び/または回転角度(ここでは一例として両方)及び他ユーザのヘッドマウントディスプレイの位置及び/または回転角度(ここでは一例として両方)が含まれる。
なお、本実施形態では、コントローラは二つであるものとして説明したが、一つ以下であってもよく、三つ以上であってもよい。なお、本実施形態のコントローラは、ボタンがあってもなくてもよいし、スティックがあってもなくてもよい。また、本実施形態のコントローラには、ボタンもスティックも付いておらずトラッキング情報のみが取得できるデバイス(例えば、VIVEトラッカーなど)も含まれる。このデバイスを、肘や膝や足先などの複数関節に装着することで、全身のモーションキャプチャが可能である。
以上、本実施形態に係るプログラムは、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置1を、取得部161、描画処理部162、通信制御部163、及びゲーム演算部164として機能させるためのプログラムである。
取得部161は、対象ユーザがヘッドマウントディスプレイ2を頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、ヘッドマウントディスプレイ2及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及びヘッドマウントディスプレイ2の位置及び回転角度を含むトラッキング情報を取得する。
描画処理部162は、取得部161によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、取得されたヘッドマウントディスプレイ2のトラッキング情報を用いて、仮想空間の描画を実行する。その際、描画処理部162は例えば、取得されたヘッドマウントディスプレイ2のトラッキング情報を用いて、仮想空間の描画に使用する仮想カメラの位置を決定し、決定された仮想カメラの位置及びヘッドマウントディスプレイ2の回転角度を用いて、仮想空間の描画を実行する。
通信制御部163は、他ユーザのトラッキング情報を受信するよう制御する。
ゲーム演算部164は、取得部161によって取得された対象ユーザのトラッキング情報と、受信された他ユーザの略同じタイミング(ここでは一例として同じフレーム)のトラッキング情報とを用いて、ゲーム演算を実行する。
ゲーム演算部164は、取得部161によって取得された対象ユーザのトラッキング情報と、受信された他ユーザの略同じタイミング(ここでは一例として同じフレーム)のトラッキング情報とを用いて、ゲーム演算を実行する。
この構成により、通信遅延が生じたとしても、対象ユーザ自身のヘッドマウントディスプレイ2の位置及び/または回転角度に応じて、即座に対象ユーザが見える映像が切り替わる。これにより、通信遅延が生じたとしても、対象ユーザが酔ってしまう可能性を抑制でき、対象ユーザのプレイの快適性が損なわれることを低減することができる。
また、通信制御部163は、取得部161によってトラッキング情報が取得された場合、当該トラッキング情報を送信するよう制御する。この構成により、取得部161によってトラッキング情報が取得された場合、即座にトラッキング情報を送信するので、他ユーザのゲーム演算の実行が遅れることを抑制することができる。
なお、ヘッドマウントディスプレイ2は、情報処理装置1を内蔵する構成であってもよい。この場合、本実施形態に係るプログラムは、ヘッドマウントディスプレイ2を、取得部161、描画処理部162、通信制御部163、及びゲーム演算部164として機能させるためのプログラムである。これにより、ヘッドマウントディスプレイ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 判定部
2 ヘッドマウントディスプレイ
21 センサ
22 モニタ
3 サーバ
31、32 センサ
C1、C2 コントローラ
C12、C22 センサ
S1、S2 HMDシステム
10 ゲームシステム
11 ストレージ
12 メモリ
13 入力インタフェース
14 出力インタフェース
15 通信インタフェース
16 プロセッサ
161 取得部
162 描画処理部
163 通信制御部
164 ゲーム演算部
165 判定部
2 ヘッドマウントディスプレイ
21 センサ
22 モニタ
3 サーバ
31、32 センサ
C1、C2 コントローラ
C12、C22 センサ
S1、S2 HMDシステム
Claims (7)
- ヘッドマウントディスプレイを介して対象ユーザに仮想空間を提供する情報処理装置または当該ヘッドマウントディスプレイを、
対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、
前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、
他ユーザのトラッキング情報を受信するよう制御する通信制御部と、
前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、
として機能させるためのプログラム。 - 前記描画処理部は、前記取得された前記ヘッドマウントディスプレイのトラッキング情報を用いて、仮想空間の描画に使用する仮想カメラの位置を決定し、決定された仮想カメラの位置及び前記ヘッドマウントディスプレイの回転角度を用いて、仮想空間の描画を実行する
請求項1に記載のプログラム。 - 前記取得部によってトラッキング情報が取得された場合、ゲーム演算実行済みのフレーム番号と当該取得されたトラッキング情報のフレーム番号とを比較し、比較の結果、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れているか否か判定する判定部として更に機能させるためのプログラムであって、
前記通信制御部は、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れている場合、当該取得されたトラッキング情報を他ユーザのヘッドマウントディスプレイシステムへ送信せず、ゲーム演算実行済みのフレームが、当該取得されたトラッキング情報のフレームに対して設定基準以上遅れていない場合、当該取得されたトラッキング情報を前記他ユーザのヘッドマウントディスプレイシステムへ送信するよう制御する
請求項1または2に記載のプログラム。 - ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置であって、
対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、
前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、
他ユーザのトラッキング情報を受信するよう制御する通信制御部と、
前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、
を備える情報処理装置。 - ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理システムであって、
対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、
前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、
他ユーザのトラッキング情報を受信するよう制御する通信制御部と、
前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、
を備える情報処理システム。 - ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理方法であって、
対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得するステップと、
前記取得するステップによってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行するステップと、
他ユーザのトラッキング情報を受信するよう制御するステップと、
前記取得するステップによって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するステップと、
を有する情報処理方法。 - ユーザに仮想空間を提供するヘッドマウントディスプレイであって、
対象ユーザが前記ヘッドマウントディスプレイを頭に装着し且つ少なくとも一つのコントローラを保持または装着している場合において、前記ヘッドマウントディスプレイ及び前記コントローラの位置及び/または回転角度を検出するためのセンサから、前記コントローラ及び前記ヘッドマウントディスプレイの位置及び/または回転角度を含むトラッキング情報を取得する取得部と、
前記取得部によってトラッキング情報が取得された場合、他ユーザのトラッキング情報の受信を待たずに、前記取得された前記トラッキング情報に含まれるヘッドマウントディスプレイの位置及び/または回転角度を用いて、仮想空間の描画を実行する描画処理部と、
他ユーザのトラッキング情報を受信するよう制御する通信制御部と、
前記取得部によって取得された対象ユーザのトラッキング情報と、前記受信された他ユーザの略同じタイミングのトラッキング情報とを用いて、ゲーム演算を実行するゲーム演算部と、
を備えるヘッドマウントディスプレイ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019165246A JP2021043697A (ja) | 2019-09-11 | 2019-09-11 | プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019165246A JP2021043697A (ja) | 2019-09-11 | 2019-09-11 | プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021043697A true JP2021043697A (ja) | 2021-03-18 |
Family
ID=74862401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019165246A Pending JP2021043697A (ja) | 2019-09-11 | 2019-09-11 | プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021043697A (ja) |
-
2019
- 2019-09-11 JP JP2019165246A patent/JP2021043697A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12023579B2 (en) | Methods and systems for spectating characters in virtual reality views | |
US10864433B2 (en) | Using a portable device to interact with a virtual space | |
CN110140099B (zh) | 用于跟踪控制器的系统和方法 | |
JP6093473B1 (ja) | 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム | |
US8137198B2 (en) | Game system, method for controlling game system, game device therefor, and program therefor | |
US10434402B2 (en) | Information processing apparatus, computer-readable non-transitory storage medium having stored therein information processing program, information processing method, and information processing system | |
US11100713B2 (en) | System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems | |
WO2015048890A1 (en) | System and method for augmented reality and virtual reality applications | |
WO2019064872A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20210220745A1 (en) | Game processing program, game processing method, and game processing device | |
US20180120929A1 (en) | Method of suppressing vr sickness, program for executing the method on a computer, and information processing device | |
WO2022046375A1 (en) | Positional haptics via head-mounted peripheral | |
JP6500159B1 (ja) | プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ | |
US11994676B2 (en) | Method and system for resolving hemisphere ambiguity in six degree of freedom pose measurements | |
US20210220740A1 (en) | Game processing program, game processing method, and game processing device | |
JP2021043697A (ja) | プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ | |
WO2021176947A1 (ja) | 情報処理装置、及び情報処理方法 | |
WO2023238678A1 (ja) | 情報処理装置、コントローラ表示方法およびコンピュータプログラム | |
WO2021095576A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2023157338A1 (ja) | 情報処理装置およびデバイス位置推定方法 | |
US20140375546A1 (en) | Storage medium having stored therein information processing program, information processing apparatus, information processing system, and method of calculating designated position | |
KR20220013652A (ko) | 확장현실 서비스 장치의 단말기 내부센서와 외부센서의 축 동기화 방법 | |
KR20220013655A (ko) | 확장현실 서비스 장치의 축 동기화 프로그램 | |
US20180326308A1 (en) | Game processing program, game processing method, and game processing device | |
KR20220013657A (ko) | 축 동기화 프로그램 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20200522 |