JP6220937B1 - 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ - Google Patents

情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ Download PDF

Info

Publication number
JP6220937B1
JP6220937B1 JP2016165952A JP2016165952A JP6220937B1 JP 6220937 B1 JP6220937 B1 JP 6220937B1 JP 2016165952 A JP2016165952 A JP 2016165952A JP 2016165952 A JP2016165952 A JP 2016165952A JP 6220937 B1 JP6220937 B1 JP 6220937B1
Authority
JP
Japan
Prior art keywords
player character
user
hmd
virtual
visual field
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.)
Active
Application number
JP2016165952A
Other languages
English (en)
Other versions
JP2018029907A (ja
Inventor
健志 加田
健志 加田
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.)
Colopl Inc
Original Assignee
Colopl 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 Colopl Inc filed Critical Colopl Inc
Priority to JP2016165952A priority Critical patent/JP6220937B1/ja
Priority to US15/672,258 priority patent/US10255658B2/en
Priority to CN201780041636.2A priority patent/CN109690447B/zh
Priority to CN202010786107.9A priority patent/CN111949128A/zh
Priority to PCT/JP2017/028882 priority patent/WO2018030453A1/ja
Priority to JP2017173556A priority patent/JP6934374B2/ja
Application granted granted Critical
Publication of JP6220937B1 publication Critical patent/JP6220937B1/ja
Publication of JP2018029907A publication Critical patent/JP2018029907A/ja
Priority to US16/283,821 priority patent/US10719911B2/en
Priority to US16/283,820 priority patent/US10664950B2/en
Priority to US16/853,752 priority patent/US20200250793A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ユーザが仮想オブジェクトと相互作用する仮想体験を改善し得る。【解決手段】コンピュータを用いてヘッドマウントディスプレイにユーザが没入する仮想空間を提供する方法であって、ユーザの身体の部分の動きに応じて操作オブジェクトを動かすステップと、身体の部分の動きに応じて対象オブジェクトを選択するステップと、を含み、対象オブジェクトが動かされることにより、プレイヤキャラクタと対象オブジェクトのコリジョンが判定された場合には、プレイヤキャラクタの少なくとも一部の外観として当該対象オブジェクトを表示させる、方法。【選択図】図14

Description

本開示は、情報処理方法当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータに関する。
非特許文献1は、現実空間におけるユーザの手の状態(位置や傾き等)に応じて、仮想現実(Virtual Reality:VR)空間における手オブジェクトの状態を変化させると共に、当該手オブジェクトを操作することで仮想空間内の所定のオブジェクトに所定の作用を与えることを開示している。
"Toybox Demo for Oculus Touch"、[online]、平成27年10月13日、Oculus、[平成28年8月6日検索]、インターネット<https://www.youtube.com/watch?v=iFEMiyGMa58>
非特許文献1では、手オブジェクトによって所定のオブジェクトを操作する上で、改善の余地がある。例えば、ユーザが現実空間における実際の物体を操作する上では体験できないような仮想体験をユーザに提供する上で改善の余地があり、ユーザが所望のタイミングで所望の仮想オブジェクトを操作可能とする必要がある。これにより、VR空間の他、拡張現実(Augmented Reality:AR)空間、複合現実(Mixed Reality:MR)空間といった、ユーザが様々な環境において仮想オブジェクトと相互作用する仮想体験を改善し得る。
本開示は、仮想体験を改善し得る情報処理方法当該情報処理方法をコンピュータに実現させるためのプログラム及びコンピュータを提供することを目的とする。
本開示が示す一態様によれば、表示部を備える第1ヘッドマウントデバイスをコンピュータが制御するための情報処理方法であって、
前記コンピュータのプロセッサにおいて、
(a)仮想カメラと、第1プレイヤキャラクタと、操作オブジェクトと、第1オブジェクトと第2オブジェクトを含む複数の対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記第1ヘッドマウントデバイスの位置と、ユーザの頭部以外における身体の部分の位置を検出するように構成された検出ユニットの検出結果を取得するステップと、
(c)前記第1ヘッドマウントデバイスの動きに応じて、前記仮想カメラを動かすステップと、
(d)前記身体の部分の動きに応じて、前記操作オブジェクトを動かすステップと、
(e)前記操作オブジェクトの動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記操作オブジェクトの動きに応じて、前記対象オブジェクトを動かすステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記第1ヘッドマウントデバイスに視野画像を表示させるステップと、を含み、
(f)において、前記第1プレイヤキャラクタと前記第1オブジェクトが関連付けられた状態において、前記対象オブジェクトが動かされることにより、前記第1プレイヤキャラクタと前記第2オブジェクトのコリジョンが判定された場合には、
(h)において、前記第1プレイヤキャラクタの少なくとも一部の外観として表示されていた前記第1オブジェクトを非表示とし、前記第2オブジェクトを前記プレイヤキャラクタの少なくとも一部の外観として表示させる、方法、が提供される。
本開示によれば、仮想体験を改善し得る情報処理方法、当該情報処理方法をコンピュータに実現させるためのプログラム及びコンピュータを提供することができる。
ヘッドマウントデバイス(Head Mounted Device:HMD)システムを示す概略図である。 HMDを装着したユーザの頭部を示す図である。 制御装置のハードウェア構成を示す図である。 外部コントローラの具体的な構成の一例を示す図である。 視野画像をHMDに表示する処理を示すフローチャートである。 仮想空間の一例を示すxyz空間図である。 状態(A)は、図6に示す仮想空間のyx平面図である。状態(B)は、図6に示す仮想空間のzx平面図である。 HMDに表示された視野画像の一例を示す図である。 状態(A)は、HMDと外部コントローラを装着したユーザを示す図である。状態(B)は、仮想カメラと、手オブジェクトと、対象オブジェクトを含む仮想空間を示す図である。 本実施形態に係る情報処理方法を説明するためのフローチャートである。 本実施形態に係る情報処理方法を説明するためのフローチャートである。 本実施形態に係る情報処理方法を説明するためのフローチャートである。 アセットデータのデータ構造の一例示す。 各オブジェクトの位置関係と視野画像の関係の一例を示す。 本実施形態に係る情報処理方法を説明するためのフローチャートである。 プレイヤ情報のデータ構造の一例を示す。 各オブジェクトの位置関係と視野画像の関係の一例を示す。
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(項目1)
表示部を備える第1ヘッドマウントデバイスをコンピュータが制御するための情報処理方法であって、
前記コンピュータのプロセッサにおいて、
(a)仮想カメラと、第1プレイヤキャラクタと、操作オブジェクトと、第1オブジェクトと第2オブジェクトを含む複数の対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(b)前記第1ヘッドマウントデバイスの位置と、ユーザの頭部以外における身体の部分の位置を検出するように構成された検出ユニットの検出結果を取得するステップと、
(c)前記第1ヘッドマウントデバイスの動きに応じて、前記仮想カメラを動かすステップと、
(d)前記身体の部分の動きに応じて、前記操作オブジェクトを動かすステップと、
(e)前記操作オブジェクトの動きに応じて、前記対象オブジェクトを選択するステップと、
(f)前記対象オブジェクトが選択された状態で、前記操作オブジェクトの動きに応じて、前記対象オブジェクトを動かすステップと、
(g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(h)前記視野画像データに基づいて、前記第1ヘッドマウントデバイスに視野画像を表示させるステップと、を含み、
(f)において、前記第1プレイヤキャラクタと前記第1オブジェクトが関連付けられた状態において、前記対象オブジェクトが動かされることにより、前記第1プレイヤキャラクタと前記第2オブジェクトのコリジョンが判定された場合には、
(h)において、前記第1プレイヤキャラクタの少なくとも一部の外観として表示されていた前記第1オブジェクトを非表示とし、前記第2オブジェクトを前記プレイヤキャラクタの少なくとも一部の外観として表示させる、方法。
本項目の方法によれば、仮想空間において、ユーザが自己の身体の一部の動きに応じて対象オブジェクトを操作することによって、操作対象となる第1プレイヤキャラクタの外観を指定することができる。これにより、ユーザに新たな仮想体験を提供し得る。
(項目2)
前記仮想カメラは、前記視野画像データを生成するための第1視野を定義する第1カメラと、前記第3オブジェクトに投影する画像を生成するための第2視野を定義する第2カメラを含み、
(h)において、前記第1視野には前記第1オブジェクトまたは前記第2オブジェクトを表示させず、前記第2視野に前記第1オブジェクトまたは前記第2オブジェクトを表示させる、項目1の方法。
本項目の方法によれば、1人称視点で提供される仮想体験において、ユーザは第3オブジェクトに投影された第1プレイヤキャラクタの姿を確認することにより、仮想空間における自己の表示態様を確認できる。これにより、直感的な仮想体験が提供され得る。
(項目3)
前記仮想カメラは、前記第1プレイヤキャラクタと前記第2オブジェクトとのコリジョンを判定するためのコリジョンエリア内に配置され、
前記第1プレイヤキャラクタと前記第2オブジェクトとのコリジョンが判定される際に、前記視野画像に基づいてユーザに提供される視覚的効果を低減させる画像処理を、前記視野画像に施す、項目1または2の方法。
本項目の方法によれば、1人称視点で提供される仮想体験において、第1プレイヤキャラクタの外観を変更する際に、視野画像がちらつくことを防止し得る。
(項目4)
表示部を備える第2ヘッドマウントデバイスをコンピュータが制御するための情報処理方法であって、
前記コンピュータのプロセッサにおいて、
(i)仮想カメラと、前記第1プレイヤキャラクタと、第2プレイヤキャラクタと、前記対象オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
(j)前記第2ヘッドマウントデバイスの位置を検出するように構成された検出ユニットの検出結果を取得するステップと、
(k)前記第2ヘッドマウントデバイスの動きに応じて、前記仮想カメラを動かすステップと、
(l)前記第2ヘッドマウントデバイスと通信可能に接続された前記第1ヘッドマウントデバイスから、前記第1プレイヤキャラクタを制御するためのプレイヤ情報を取得するステップと、
(m)前記プレイヤ情報に基づいて、前記第1プレイヤキャラクタの動き、および、外観の少なくとも一部の表示態様を制御するステップと、
(n)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
(o)前記視野画像データに基づいて、前記第2ヘッドマウントデバイスに視野画像を表示させるステップと、を含み、
(m)において、前記プレイヤ情報に含まれる前記第1プレイヤキャラクタに関連付けられた前記対象オブジェクトを特定するためのデータが、前記第1オブジェクトから前記第2オブジェクトに変更された場合には、前記第1プレイヤキャラクタの少なくとも一部の外観として表示されていた前記第1オブジェクトを非表示とし、前記第2オブジェクトを前記プレイヤキャラクタの少なくとも一部の外観として表示させる、項目1〜3のいずれかの方法。
本項目の方法によれば、仮想空間において、他のユーザが対象オブジェクトを操作することによって第1プレイヤキャラクタの外観を指定した場合に、第2ヘッドマウントデバイスの視野に外観が変更された後の第1プレイヤキャラクタを容易に表示させることができる。これにより、ユーザに新たな仮想体験を提供し得る。
(項目5)
項目1〜4のいずれかの方法を、前記コンピュータに実行させるプログラム。
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
最初に、図1を参照してヘッドマウントデバイス(HMD)システム1の構成について説明する。図1は、HMDシステム1を示す概略図である。図1に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、位置センサ130と、制御装置120と、外部コントローラ320とを備える。
HMD110は、表示部112と、HMDセンサ114と、注視センサ140とを備えるヘッドマウントディスプレイ装置である。表示部112は、HMD110を装着したユーザUの視界(視野)を覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像を見ることで仮想空間に没入することができる。尚、表示部112は、ユーザUの左目に画像を提供するように構成された左目用の表示部とユーザUの右目に画像を提供するように構成された右目用の表示部から構成されてもよい。また、HMD110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、HMD110に搭載されたカメラで撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。
HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。
注視センサ140は、ユーザUの視線方向を検出するアイトラッキング機能を有する。注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた複数の検知点304(図4参照)の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
HMDセンサ114、注視センサ140、位置センサ130を総称して、検出ユニットと称することがある。検出ユニットは、ユーザの身体の一部の動きを検知し、検出結果を制御装置120に出力する。検出ユニットは、HMDセンサ114のようなユーザUの頭部の動きを検知する機能と、位置センサ130のようなユーザの頭部意外の部分の動きを検知する機能を備える。また、検出ユニットは、注視センサ140のようなユーザUの視線の動きを検知する機能を備えてもよい。
制御装置120は、HMDセンサ114や位置センサ130から取得された情報に基づいて、HMD110の位置や向きといった動き情報を取得し、当該取得された動き情報に基づいて、仮想空間における仮想視点(仮想カメラ)の位置や向きと、現実空間におけるHMD110を装着したユーザUの位置や向きを正確に対応付けることができる。さらに、制御装置120は、位置センサ130から取得された情報に基づいて、外部コントローラ320の動き情報を取得し、当該取得された動き情報に基づいて、仮想空間内に表示される手指オブジェクト(後述する)の位置や向きと、現実空間における外部コントローラ320とHMD110との間の、位置や向きの相対関係を正確に対応付けることができる。なお、外部コントローラ320の動き情報は、HMDセンサ114と同様に、外部コントローラ320に搭載された地磁気センサ、加速度センサ、傾きセンサ等であってもよい。
制御装置120は、注視センサ140から送信された情報に基づいて、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの視線方向を特定することができる。ここで、ユーザUの視線方向は、ユーザUの両目の視線方向であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
図2を参照して、HMD110の位置や向きに関する情報を取得する方法について説明する。図2は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や向きに関する情報は、位置センサ130及び/又はHMD110に搭載されたHMDセンサ114により検出可能である。図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交しHMD110の中心を通る方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130及び/又はHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、仮想視点からの視軸を定義するための角度情報を決定する。
図3を参照して、制御装置120のハードウェア構成について説明する。図3は、制御装置120のハードウェア構成を示す図である。制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125は、バス126を介して互いに通信可能に接続されている。
制御装置120は、HMD110とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、HMD110に内蔵されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。
制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)及び/又はGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるためのプログラム(後述する)をRAM上に展開し、RAMとの協働で当該プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、メモリや記憶部123に格納された所定のアプリケーションプログラム(ゲームプログラムやインターフェースプログラム等を含む。)を実行することで、HMD110の表示部112に仮想空間(視野画像)を表示する。これにより、ユーザUは、表示部112に表示された仮想空間に没入することができる。
記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザUの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
I/Oインターフェース124は、位置センサ130と、HMD110と、外部コントローラ320とをそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。尚、制御装置120は、位置センサ130と、HMD110と、外部コントローラ320とのそれぞれと無線接続されていてもよい。
通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介してネットワーク上の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
制御装置120は、通信ネットワーク3を介して管理サーバ4に接続される。管理サーバ4は、管理サーバ4は、通信ネットワーク3を介して他のHMDシステム1Bの制御装置と接続される。これにより、HMDシステム1A、1Bを含む複数のHMDシステムが互いに通信可能に接続され、後述するように共通の仮想空間を用いた仮想体験が提供され得る。HMDシステム1A、1Bは、図1,図2に示すような共通の構成を備える。
管理サーバ4は、制御部41と、アセット管理部42と、プレイヤ管理部43を含む。制御部41は、主としてメモリとプロセッサを含んで構成される。アセット管理部42とプレイヤ管理部43は、主として記憶部(ストレージ)を含んで構成される。アセット管理部42は後述する仮想空間コンテンツを構成するための各種オブジェクトや背景画像といった仮想空間データを格納する。制御部41は、制御装置120から所定のコンテンツの視聴要求を受け付けると、当該視聴要求に対応する仮想空間データをアセット管理部42から読み出して、制御装置120に送信する。制御部41は、各HMDシステム1A、1Bから送信されるユーザの行動履歴や使用するオブジェクトを特定するためのプレイヤデータを受信し、当該データをプレイヤ管理部43に記憶させる。プレイヤ管理部43は、各ユーザのIDや課金データといった、各ユーザに関連付けられた各種情報を一元管理することが好ましい。
図4を参照して、コントローラ320の一例について説明する。図4は、ある実施の形態に従うコントローラ320の概略構成を表す図である。
図4の状態(A)に示されるように、ある局面において、コントローラ320は、右コントローラ320Rと左コントローラ320Lとを含み得る。右コントローラ320Rは、ユーザUの右手で操作される。左コントローラ320Lは、ユーザUの左手で操作される。ある局面において、右コントローラ320Rと左コントローラ320Lとは、別個の装置として対称に構成される。したがって、ユーザUは、右コントローラ320Rを把持した右手と、左コントローラ320Lを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ320は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ320Rについて説明する。
右コントローラ320Rは、グリップ30と、フレーム31と、天面32とを備える。グリップ30は、ユーザ190の右手によって把持されるように構成されている。例えば、グリップ30は、ユーザ190の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。
フレーム31は、その円周方向に沿って配置された複数の赤外線LED35を含む。赤外線LED35は、コントローラ320を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED35から発せられた赤外線は、右コントローラ320Rと左コントローラ320Lとの各位置や姿勢(傾き、向き)を検出するために使用され得る。図4に示される例では、二列に配置された赤外線LED35が示されているが、一列あるいは3列以上の配列が使用されてもよい。
図4の状態(A)に示されるように、コントローラ320の姿勢がヨー、ロール、ピッチの各方向に基づいて特定される。また、状態(B)に示されるように、仮想空間2における手オブジェクト400の姿勢がヨー、ロール、ピッチの各方向に基づいて特定される。従って、コントローラ320の姿勢を手オブジェクト400の姿勢に対応付けることによって、ユーザの現実空間における手の動きに応じて、仮想空間2における手オブジェクト400を動かすことができる。
グリップ30は、ボタン33,34と、モーションセンサ130とを含む。ボタン33は、グリップ30の側面に配置され、右手の中指による操作を受け付ける。ボタン34は、グリップ30の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン33,34は、トリガー式のボタンとして構成される。モーションセンサ130は、グリップ30の筐体に内蔵されている。なお、ユーザ190の動作がカメラその他の装置によってユーザUの周りから検出可能である場合には、グリップ30は、モーションセンサ130を備えなくてもよい。
天面32は、ボタン36,37と、アナログスティック38とを備える。ボタン36,37は、プッシュ式ボタンとして構成される。ボタン36,37は、ユーザUの右手の親指による操作を受け付ける。アナログスティック38は、ある局面において、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間2に配置されるオブジェクトを移動するための操作を含む。
ある局面において、ボタン34が押下されることによって、手オブジェクト930における人差し指が伸ばした状態から曲げた状態に変化させてもよい。ボタン33が押下されることによって、手オブジェクト930における中指、薬指、小指が伸ばした状態から曲げた状態に変化させてもよい。天面32に親指が配置されること、または、ボタン36,37のいずれかが押下されることによって、手オブジェクト930における親指が伸ばした状態から曲げた状態に変化させてもよい。
図5から図8を参照することで視野画像をHMD110に表示するための処理について説明する。図5は、視野画像をHMD110に表示する処理を示すフローチャートである。図6は、仮想空間200の一例を示すxyz空間図である。図7における状態(A)は、図6に示す仮想空間200のyx平面図である。図7における状態(B)は、図6に示す仮想空間200のzx平面図である。図8は、HMD110に表示された視野画像Mの一例を示す図である。
図5に示すように、ステップS1において、制御部121(図3参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図6に示すように、仮想空間200は、中心位置21を中心とした全天球として規定される(図6では、上半分の天球のみが図示されている)。また、仮想空間200では、中心位置21を原点とするxyz座標系が設定されている。仮想カメラ300は、HMD110に表示される視野画像M(図8参照)を特定するための視軸Lを規定している。仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、制御部121は、HMD110を装着したユーザUの現実空間における移動に応じて、仮想カメラ300を仮想空間200内で移動させてもよい。また、仮想空間200内における各種オブジェクトは、例えば、左手オブジェクト400L、右手オブジェクト400R、対象オブジェクト500を含む(図8,図9参照)。
ステップS2において、制御部121は、仮想カメラ300の視野CV(図7参照)を特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の状態を示すデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを特定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸Lを決定し、決定された視軸Lから仮想カメラ300の視野CVを特定する。ここで、仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域に相当する。換言すれば、視野CVは、HMD110に表示される仮想空間200の一部の領域に相当する。また、視野CVは、状態(A)に示すxy平面において、視軸Lを中心とした極角αの角度範囲として設定される第1領域CVaと、状態(B)に示すxz平面において、視軸Lを中心とした方位角βの角度範囲として設定される第2領域CVbとを有する。尚、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、ユーザUの視線方向を特定し、ユーザUの視線方向に基づいて仮想カメラ300の向きを決定してもよい。
制御部121は、位置センサ130及び/又はHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを変化させることができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを変化させることができる。同様に、ユーザUの視線方向が変化すると、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、仮想カメラ300の視野CVを移動させることができる。つまり、制御部121は、ユーザUの視線方向の変化に応じて、視野CVを変化させることができる。
ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像Mを示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。
ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像Mを表示する(図8参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが更新され、HMD110の表示部112に表示される視野画像Mが更新されるので、ユーザUは仮想空間200に没入することができる。
仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データと右目用視野画像データに基づいて、HMD110の表示部112に左目用視野画像と右目用視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像から、視野画像を3次元画像として視認することができる。本開示では、説明の便宜上、仮想カメラ300の数は一つとするが、本開示の実施形態は、仮想カメラの数が2つの場合でも適用可能である。
仮想空間200に含まれる左手オブジェクト400L、右手オブジェクト400R及び対象オブジェクト500について図9を参照して説明する。状態(A)は、HMD110とコントローラ320L,320Rを装着したユーザUを示す。状態(B)は、仮想カメラ300と、右手オブジェクト400R(第1操作オブジェクトの一例)と、左手オブジェクト400L(第2操作オブジェクトの一例)と、対象オブジェクト500とを含む仮想空間200を示す。
図9に示すように、仮想空間200は、仮想カメラ300と、プレイヤキャラクタPCと、左手オブジェクト400Lと、右手オブジェクト400Rと、対象オブジェクト500とを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。上述したように、仮想カメラ300は、ユーザUが装着しているHMD110の動きに連動する。つまり、仮想カメラ300の視野は、HMD110の動きに応じて更新される。右手オブジェクト400Rは、ユーザUの右手(身体の第1部分)に装着されるコントローラ320Rの動きに応じて移動する第1操作オブジェクトである。左手オブジェクト400Lは、ユーザUの左手(身体の第2部分)に装着されるコントローラ320Lの動きに応じて移動する第2操作オブジェクトである。以降では、説明の便宜上、左手オブジェクト400Lと右手オブジェクト400Rを単に手オブジェクト400と総称する場合がある。
左手オブジェクト400Lと右手オブジェクト400Rは、それぞれコリジョンエリアCAを有する。対象オブジェクト500は、コリジョンエリアCBを有する。プレイヤキャラクタPCは、コリジョンエリアCCを有する。コリジョンエリアCA,CB,CCは、各オブジェクト間におけるコリジョン判定(当たり判定)に供される。例えば、手オブジェクト400のコリジョンエリアCAと対象オブジェクト500のコリジョンエリアCBとが接触することで、手オブジェクト400と対象オブジェクト500とが接触したことが判定される。また、プレイヤキャラクタPCのコリジョンエリアCCと対象オブジェクト500のコリジョンエリアCBとが接触することで、プレイヤキャラクタPCと対象オブジェクト500とが接触したことが判定される。図9に示すように、コリジョンエリアCA〜CCは、各オブジェクトに設定された座標位置を中心とした直径Rを有する球により規定されてもよい。
本実施形態に係る情報処理方法について図8および図10から図17を参照して説明する。図10〜図12,図15は、本実施形態に係る情報処理方法を説明するためのフローチャートである。図13,図16は、各HMDシステム1A,1B、管理サーバ4に格納される情報を規定するデータ構造を示す。図14,図17は、手オブジェクト400によって対象オブジェクト500を操作する場合の視野画像を示す。
図10に示すように、ステップS10において、制御部121は記憶部123およびメモリに記憶されたプレイヤ情報に基づいて、当該ユーザが保有するマスクを特定する。マスクは対象オブジェクト500の一例であり、ユーザは所望のマスクを定義するアセットデータを予め管理サーバ4からダウンロードして、記憶部123およびメモリに記憶させている。
ステップS11において、制御部121は、記憶部123およびメモリに記憶されたアセットデータに基づいて、所望のマスクに関するアセットデータを読み出す。所望のマスクに関するアセットデータが記憶部123およびメモリに記憶されていない場合には、制御部121は管理サーバ4からアセットデータをダウンロードする処理を実行する。
図13は、管理サーバ4のアセット管理部42、および、記憶部123およびメモリに記憶されたアセットデータのデータ構造の一例を示す。アセットデータは複数のマスクを定義する情報を含んでおり、それぞれが異なるグラフィックデータに関連付けられている。これにより、ユーザは所望の外観を有するプレイヤキャラクタを用いて、ゲームを進行させることができる。また、アセットデータは耐久力や攻撃力といったプレイヤキャラクタに関連付けられてパラメータを補正するように定義されていてもよい。さらに、各アセットデータは金額が関連付けられ、ユーザによる課金処理によって当該アセットが使用可能にされるように定義されていてもよい。
ステップS12において、制御部121は、アセットデータに基づいて、対象オブジェクトを生成し、仮想空間に配置させる。本実施形態においては、図8に示すように、制御部121は、マスクNo.1に関連付けられた対象オブジェクト510と、マスクNo.2に関連付けられた対象オブジェクト520と、マスクNo.3に関連付けられた対象オブジェクト530と、を仮想空間200に配置する。上記のようにユーザによる課金処理等によって選択可能とされたマスクのみを仮想空間200に配置してもよいし、全てのマスクを仮想空間200に配置した後にユーザによって選択されたマスクについて課金処理等によって選択可能としてもよい。
ステップS13において、制御部121は、仮想空間に鏡オブジェクト(第3オブジェクトの一例)と、鏡オブジェクトの映り込み範囲を定義する第2カメラを配置する。本実施形態においては、図14に示すように、鏡オブジェクト600が仮想空間200に配置される。後述のような1人称視点からの仮想体験を提供する場合には、HMD110の表示部112に表示させる視野画像の範囲を定義する仮想カメラ(第1カメラ)300からの視野には、プレイヤキャラクタPCを表示させないことが好ましい。この場合にもユーザはプレイヤキャラクタPCの外観を確認できるようにするために、制御部121は鏡オブジェクト600を仮想空間200に配置する。鏡オブジェクト600の近傍に第1カメラ300とは別の仮想カメラ(第2カメラ)310を配置しておき、当該第2カメラ310の画像取得部(視野を定義する部分)を鏡オブジェクト600の表示面の近傍に配置する。制御部121は、第2カメラ310によって取得した画像を左右反転画像として鏡オブジェクト600の表示面に投影することによって、鏡オブジェクト600を鏡のように機能させることができる。
ステップS14において、制御部121は、上記のようにして第2カメラ310の視野に基づいて鏡オブジェクト600に映り込み画像を表示させる。第2カメラ310の視野にプレイヤキャラクタPCが配置されている場合には、鏡オブジェクト600にプレイヤキャラクタPCの外観が映り込み画像として表示される。この状態で、鏡オブジェクト600の表示面が第1カメラ310の視野ないに配置されている場合には、ユーザは第2カメラ310、および、鏡オブジェクト600を介して、プレイヤキャラクタPCの外観を視認することができる。
続いて、図11に示すように、ステップS20において、制御部121はHMD110に提示される視野画像Mを特定する。本実施形態においては、図9の状態(B)に示すように、仮想カメラ300の前方に対象オブジェクト500、および、手オブジェクト400L,400Rが存在している。従って、図8に示すように、視野画像M内には、対象オブジェクト500(510〜530)、および、手オブジェクト400が表示される。
本実施形態においては、仮想カメラ300がプレイヤキャラクタPCの内部に配置されている。これにより、プレイヤキャラクタPCから見た視点がHMD110の表示部112に表示され、ユーザUは1人称視点における仮想体験を楽しむことができる。この場合、仮想カメラ300の視野にはプレイヤキャラクタPCを表示させないようにすることにより、図8に示すような1人称視点からの視野画像Mが提供され得る。なお、仮想カメラ300をプレイヤキャラクタPCの後方に配置することによって、3人称視点からの視野画像Mが提供され得る。この場合には、仮想カメラ300の視野にはプレイヤキャラクタPCを表示させることが好ましい。
ステップS21において、制御部121は、コントローラ320によって検知されるユーザUの手の動きに応じて、前述のように手オブジェクト400を動かす。
ステップS22において、制御部121は、対象オブジェクト500と手オブジェクト400が所定の条件を満たしたか否かを判定する。本実施形態においては、左手オブジェクト400L,右手オブジェクト400Rに設定されたコリジョンエリアCAに基づいて、各手オブジェクト400と対象オブジェクト500が接触したか否かを判定する。接触した場合には、ステップS13へ進む。接触していない場合には、再びユーザの手の動き情報を待ち受け、手オブジェクト400を動かす制御を継続する。
ステップS23において、制御部121は、手オブジェクト400に対象オブジェクト500を選択するための動きが入力されたか否かを判定する。本実施形態においては、仮想手400による掴む動作によって対象オブジェクト500が選択されることが好ましい具体的には、手オブジェクト400の動きが、親指とそれに対向する指のいずれか(人差し指〜小指の少なくとも一つ)を、伸ばされた状態である第1位置から、曲げられた状態である第2位置へ向けて移動させる動きを含むか否かを判定する。
ステップ24において、制御部121は、対象オブジェクト500が手オブジェクト400によって選択された状態とする。本実施形態においては、手オブジェクト400と対象オブジェクト500の接触が判定されるとともに、前述のような操作によって手オブジェクト400の各指が曲げられることにより、対象オブジェクト500が手オブジェクト400によって掴まれることによって選択された状態とされる。
ステップS25において、制御部121は、対象オブジェクト500が選択された状態で、手オブジェクト400の動きに応じて対象オブジェクト500を動かす。これにより、ユーザUは、仮想手400によって対象オブジェクト500を意のままに操作することができるという仮想体験を得ることができる。
本実施形態においては、図8、図14に示すように、手オブジェクト400によって対象オブジェクト500(マスク510〜530)のいずれかを選択し、プレイヤキャラクタPCと接触させることによって、プレイヤキャラクタPCの外観の少なくとも一部を変更させることができる。具体的には、プレイヤキャラクタPCの顔部分を、選択されたマスク510〜530のいずれかに変化させることができる。以下の説明においては、変化させる前のプレイヤキャラクタPCの外観に相当する対象オブジェクトがマスク520であるものとし、変化させる前の当該対象オブジェクトを第1オブジェクトと称することがある。また、変化させた後のプレイヤキャラクタPCの外観に相当する対象オブジェクトがマスク510であるものとし、変化させた後の当該対象オブジェクトを第2オブジェクトと称することがある。また、外観の表示態様が変化されるプレイヤキャラクタPCを、第1プレイヤキャラクタと称することがある。
この場合、図12に示すように、ステップS30において、制御部121は、第2オブジェクト510が手オブジェクト400によってプレイヤキャラクタPCに近づいたら、視野画像Mを暗転させることが好ましい。プレイヤキャラクタPCと第2オブジェクト510の近接は、コリジョンエリアCB,CC間の距離に基づいて検知してもよいし、コリジョンエリアCB,CCの外周に、さらに別のコリジョンエリアを設けることによって検知してもよい。
ステップS30において、制御部121は、視野画像Mの輝度を低下させる他、ブラーをかける、視野内の所定範囲を覆い隠す、など、視野画像に基づいてユーザに提供される視覚的効果を低減させる様々な画像処理手法を採用することができる。1人称視点で提供される仮想体験において、プレイヤキャラクタPCの外観を変更する際に、視野画像がちらつくことを防止し得る。第1カメラ300の近傍において第2オブジェクト510が動かされると、その表面および内部の画像が視野画像を覆うことになるため、ユーザが不快感を覚える場合があるためである。
ステップS31において、制御部121は、第1プレイヤキャラクタPCと第2オブジェクト510が接触したか否かを判定する。第1プレイヤキャラクタPCと第2オブジェクト510の接触は、前述の通りコリジョンエリアCB,CCに基づいて判定されることが好ましい。
ステップS32において、制御部121は、第1オブジェクト520を非表示とし、第2オブジェクト510をプレイヤキャラクタの外観の少なくとも一部として設定する。これにより、仮想空間200において、ユーザが自己の身体の一部の動きに応じて対象オブジェクトを操作することによって、操作対象となる第1プレイヤキャラクタの外観を指定することができる。これにより、ユーザに新たな仮想体験を提供し得る
ステップS33において、制御部121は、鏡オブジェクト600が第1カメラ300の視野内に配置されているかを判定する。さらに、ステップS34において、制御部121は、プレイヤキャラクタPCは第2カメラ310の視野内に配置されているかを判定する。これらが双方ともYesと判定された場合に、ステップS35において、制御部121は、プレイヤキャラクタPCの外観の少なくとも一部を第2オブジェクト510として鏡オブジェクト600に表示させる。以上の処理によって、図14の状態(B)に示すように、プレイヤキャラクタPCの外観としてマスク510の画像が映り込んだ鏡オブジェクト600の画像を含む視野画像Mが生成され、HMD110の表示部112に表示される。これにより、1人称視点で提供される仮想体験において、ユーザは第3オブジェクトに投影された第1プレイヤキャラクタの姿を確認することにより、仮想空間における自己の表示態様を確認できる。これにより、直感的な仮想体験が提供され得る。
以上のような情報処理方法は、複数のHMDシステム1A,1Bによって共有される仮想空間200Aを提供する場合においても、応用されることができる。図15は、仮想空間200Aにおいて、上記のようにして第1HMDシステム1Aに関連付けられた第1プレイヤキャラクタPC1の外観が変更された場合に、第2HMDシステム1Bにおいて第1プレイヤキャラクタPC1の外観を変更するための情報処理方法を説明するためのフローチャートである。
ステップS40において、第1HMDシステム1Aにおける制御部121は、上記のようにして第1プレイヤキャラクタPC1の外観である現在のマスクを特定する。第1プレイヤキャラクタPC1は、第1HMDシステム1Aに関連付けられたユーザによるHMD110やコントローラ320に対する操作入力によって、操作される。そして、ステップS41において、第1HMDシステム1Aにおける制御部121は、HMD110およびユーザの身体の部分の動きを上記のように取得すると、第1プレイヤキャラクタPC1を操作するとともに、当該動きに関する情報をプレイヤ情報として管理サーバ4に送信する。
ステップS42において、管理サーバ4の制御部41は、第1HMDシステム1Aから受信したプレイヤ情報をプレイヤ管理部43に記憶させる。図16は、プレイヤ情報のデータ構造の一例を示す。プレイヤ情報はユーザIDと関連付けられたカメラ位置、カメラ向き、手の位置、手の向き、手の状態、マスクNo.に関する情報を含むことが好ましい。カメラ位置、カメラ向きは、第1HMDシステム1AにおけるHMD110の位置、および、向きに基づいて特定される。同様に、手の位置、手の向き、手の状態は、第1HMDシステム1Aにおけるコントローラ320の位置、および、向きに基づいて特定される。各位置、向きは、仮想空間200Aにおける座標、および、向きに基づいて特定されてもよい。マスクNo.は、現在第1プレイヤキャラクタPC1に関連付けられている対象オブジェクトを特定するための情報である。
プレイヤ情報は、複数のユーザがマッチングされて共有するように構成された仮想空間200Aを特定する情報(ルームIDなど)が関連付けられていても良い。これらのプレイヤ情報がユーザ毎に統合され、当該仮想空間200Aに関連付けられた全ユーザに送信されることによって、同期処理が実行される。なお、所定のHMDシステムにおいて、マスクNo.に関連付けられたアセットデータが記憶されていない場合には、統合されたプレイヤ情報とともに当該アセットデータが送信されてもよい。
ステップS43において、第2HMDシステム1Bにおける制御部121は、受信したプレイヤ情報に基づいて、第1プレイヤキャラクタPC1の表示態様を制御する。図17の状態(A)に示すように、第2HMDシステム1Bにおける仮想カメラ320(第2カメラの一例)の視野に第1プレイヤキャラクタPC1が含まれているため、第1HMDシステム1Aから送信されたプレイヤ情報に基づいて、第1プレイヤキャラクタPC1が動作される。具体的には、図17の状態(B)は仮想カメラ320によって第2HMDシステム1Bに提示される視野画像M2の一例を示す。第2HMDシステム1Bにおける制御部121は、カメラ位置,カメラ向きに関するプレイヤ情報に基づいて、第1プレイヤキャラクタPC1の位置,向きをそれぞれ制御する。また、第2HMDシステム1Bにおける制御部121は、手の位置,手の向き,手の状態に関するプレイヤ情報に基づいて、右手オブジェクト400R,左手オブジェクト400Lの位置、向き,各指の状態を制御する。
ステップS44において、第1HMDシステム1Aにおける制御部121は、上記のようにして第1プレイヤキャラクタPC1の外観である現在のマスクが第1オブジェクト(マスク520)から第2オブジェクト(マスク510)に変更されると、変更後のマスクを特定するためのマスクNo.を含む情報をプレイヤ情報として管理サーバ4に送信する。
ステップS45において、管理サーバ4の制御部41は、上記のようにプレイヤ情報を更新するとともに、マスクが更新されたことを示すプレイヤ情報を第2HMDシステム1Bに送信することにより、同期処理を実行する。第2HMDシステム1Bが変更後のマスクについてのアセットデータを記憶部に記憶していない場合には、プレイヤ情報とともに当該マスクについてのアセットデータを送信する。
ステップS46において、第2HMDシステム1Bにおける制御部121は、受信したプレイヤ情報に基づいて、第1プレイヤキャラクタPC1の表示態様を制御する。第2HMDシステム1Bにおける制御部121は、第1プレイヤキャラクタPC1として表示されていた第1オブジェクト520を非表示とし、図17の状態(B)に示すように、第2オブジェクト510を第1プレイヤキャラクタPC1として表示させる。これにより、仮想空間において、他のユーザが対象オブジェクトを操作することによって第1プレイヤキャラクタの外観を指定した場合に、第2ヘッドマウントデバイスの視野に外観が変更された後の第1プレイヤキャラクタを容易に表示させることができる。これにより、ユーザに新たな仮想体験を提供し得る。
以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
本実施形態では、ユーザUの手の動きを示す外部コントローラ320の動きに応じて、手オブジェクトの移動が制御されているが、ユーザUの手自体の移動量に応じて、仮想空間内における手オブジェクトの移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの手指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ130により、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。また、位置センサ130は、ユーザUの手(手指を含む)を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの手指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像データに基づいて、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。
また、本実施形態では、ユーザUの頭部以外の身体の一部である手の位置及び/又は動きに応じて、手オブジェクトが対象オブジェクトに与える影響を規定するコリジョン効果が設定されているが、本実施形態はこれには限定されない。例えば、ユーザUの頭部以外の身体の一部である足の位置及び/又は動きに応じて、ユーザUの足の動きに連動する足オブジェクト(操作オブジェクトの一例)が対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。
また、本実施形態においては、HMD110によってユーザが没入する仮想空間(VR空間)を例示して説明したが、HMD110として透過型HMDを採用してもよい。この場合、透過型HMD110を介してユーザUが視認する現実空間に対象オブジェクト500の画像を合成して出力し、AR空間やMR空間としての仮想体験を提供してもよい。そして、第1操作オブジェクト、および、第2操作オブジェクトにかえて、ユーザの身体の第1部分、および、第2部分(ユーザUの両手)の動きに基づいて、対象オブジェクト500の選択、および、操作を行ってもよい。この場合には、現実空間、および、ユーザの身体の第1部分、および、第2部分の座標情報を特定するとともに、対象オブジェクト500の座標情報を現実空間における座標情報との関係で定義することによって、ユーザUの身体の動きに基づいて対象オブジェクト500に作用を与えることができる。
また、本実施形態においては、第2HMDシステム1BにおけるHMD110やコントローラ320に基づくプレイヤ情報を第1HMDシステム1Aに送信することにより、同様に第1HMDシステム1Aにおける表示部1Aに、第2HMDシステム1Bに関連付けられたユーザによって操作される第2プレイヤキャラクタPC2の表示態様を制御することができる。本実施形態に示した同期処理を、複数のHMDシステム間において実行することにより、複数のユーザによって共有される仮想空間を提供することができる。
1:HMDシステム
3:通信ネットワーク
21:中心位置
112:表示部
114:HMDセンサ
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
140:注視センサ
200:仮想空間
300:仮想カメラ
302:操作ボタン
302a,302b:プッシュ式ボタン
302e,302f:トリガー式ボタン
304:検知点
320:外部コントローラ
320i:アナログスティック
320L:左手用外部コントローラ(コントローラ)
320R:右手用外部コントローラ(コントローラ)
322:天面
324:グリップ
326:フレーム
400:手オブジェクト(仮想手)
400L:左手オブジェクト
400R:右手オブジェクト
500:対象オブジェクト
CA:コリジョンエリア
CV:視野
CVa:第1領域
CVb:第2領域

Claims (5)

  1. 表示部を備える第1ヘッドマウントデバイスをコンピュータが制御するための情報処理方法であって、
    前記コンピュータのプロセッサにおいて、
    (a)仮想カメラと、第1プレイヤキャラクタと、操作オブジェクトと、第1オブジェクトと、第2オブジェクトとを含む仮想空間を規定する仮想空間データを特定するステップと、
    (b)前記第1ヘッドマウントデバイスの位置と、ユーザの頭部以外における身体の部分の位置を検出するように構成された検出ユニットの検出結果を取得するステップと、
    (c)前記第1ヘッドマウントデバイスの動きに応じて、前記仮想カメラを動かすステップと、
    (d)前記身体の部分の動きに応じて、前記操作オブジェクトを動かすステップと、
    (e)前記操作オブジェクトの動きに応じて、前記第2オブジェクトを選択するステップと、
    (f)前記第2オブジェクトが選択された状態で、前記操作オブジェクトの動きに応じて、前記第2オブジェクトを動かすステップと、
    (g)前記仮想カメラの動きに基づいて前記仮想カメラの視野を定義し、前記視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
    (h)前記視野画像データに基づいて、前記第1ヘッドマウントデバイスに視野画像を表示させるステップと、を含み、
    (f)において、前記第1プレイヤキャラクタの少なくとも一部の外観として前記第1オブジェクトが設定された状態において、前記第2オブジェクトが動かされることにより、前記第1プレイヤキャラクタと前記第2オブジェクトのコリジョンが判定された場合には、
    (h)において、前記第1プレイヤキャラクタの少なくとも一部の外観を、前記第1オブジェクトから前記第2オブジェクトに変更する、方法。
  2. 前記仮想空間データは、前記第1オブジェクトおよび第2オブジェクトとは異なる第3オブジェクトを含み、
    前記仮想カメラは、前記視野画像データを生成するための第1視野を定義する第1カメラと、前記第3オブジェクトに投影する画像を生成するための第2視野を定義する第2カメラを含み、
    (h)において、前記第1視野には前記第1プレイヤキャラクタの少なくとも一部の外観として設定された前記第1オブジェクトまたは前記第2オブジェクトを表示させず、前記第2視野に前記第1プレイヤキャラクタの少なくとも一部の外観として設定された前記第1オブジェクトまたは前記第2オブジェクトを表示させる、請求項1の方法。
  3. 前記仮想カメラは、前記第1プレイヤキャラクタと前記第2オブジェクトとのコリジョンを判定するためのコリジョンエリア内に配置され、
    前記第1プレイヤキャラクタと前記第2オブジェクトとのコリジョンが判定される際に、前記視野画像に基づいてユーザに提供される視覚的効果を低減させる画像処理を、前記視野画像に施す、請求項1または2の方法。
  4. 請求項1〜のいずれかの方法を、前記コンピュータに実行させるプログラム。
  5. 少なくともプロセッサとメモリを備え、前記プロセッサの制御により請求項1〜のいずれかの方法を実行するコンピュータ。
JP2016165952A 2016-08-09 2016-08-26 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ Active JP6220937B1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2016165952A JP6220937B1 (ja) 2016-08-26 2016-08-26 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
US15/672,258 US10255658B2 (en) 2016-08-09 2017-08-08 Information processing method and program for executing the information processing method on computer
CN202010786107.9A CN111949128A (zh) 2016-08-09 2017-08-09 信息处理方法、用于使计算机执行该信息处理方法的程序、以及计算机
PCT/JP2017/028882 WO2018030453A1 (ja) 2016-08-09 2017-08-09 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、及びコンピュータ
CN201780041636.2A CN109690447B (zh) 2016-08-09 2017-08-09 信息处理方法、用于使计算机执行该信息处理方法的程序、以及计算机
JP2017173556A JP6934374B2 (ja) 2016-08-26 2017-09-08 プロセッサを備えるコンピュータにより実行される方法
US16/283,821 US10719911B2 (en) 2016-08-09 2019-02-25 Information processing method and system for executing the information processing method
US16/283,820 US10664950B2 (en) 2016-08-09 2019-02-25 Information processing method and system for executing the information processing method
US16/853,752 US20200250793A1 (en) 2016-08-09 2020-04-21 Information processing method and system for executing the information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016165952A JP6220937B1 (ja) 2016-08-26 2016-08-26 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017173556A Division JP6934374B2 (ja) 2016-08-26 2017-09-08 プロセッサを備えるコンピュータにより実行される方法

Publications (2)

Publication Number Publication Date
JP6220937B1 true JP6220937B1 (ja) 2017-10-25
JP2018029907A JP2018029907A (ja) 2018-03-01

Family

ID=60156792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016165952A Active JP6220937B1 (ja) 2016-08-09 2016-08-26 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ

Country Status (1)

Country Link
JP (1) JP6220937B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6458179B1 (ja) * 2018-02-22 2019-01-23 株式会社コロプラ プログラム、情報処理装置、および方法
CN111448536A (zh) * 2018-06-14 2020-07-24 多玩国株式会社 数据替换装置、终端及数据替换程序

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102551686B1 (ko) 2018-05-29 2023-07-05 삼성전자주식회사 외부 전자 장치의 위치 및 움직임에 기반하여 외부 전자 장치와 관련된 객체를 표시하는 전자 장치 및 방법
JP7299478B2 (ja) * 2019-03-27 2023-06-28 株式会社Mixi オブジェクト姿勢制御プログラムおよび情報処理装置
JP7138392B1 (ja) * 2021-08-11 2022-09-16 株式会社Abal 仮想空間体感システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08101758A (ja) * 1994-09-30 1996-04-16 Toshiba Corp 仮想空間内のデータ操作装置
JP2002149581A (ja) * 2000-11-09 2002-05-24 Nippon Telegr & Teleph Corp <Ntt> 複数のユーザによる仮想空間共有システム
JP2002304246A (ja) * 2001-04-04 2002-10-18 Nippon Telegr & Teleph Corp <Ntt> 力覚提示装置及び仮想空間システム
JP2015232783A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
JP6093473B1 (ja) * 2016-08-19 2017-03-08 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2017055851A (ja) * 2015-09-14 2017-03-23 株式会社コーエーテクモゲームス 情報処理装置、表示制御方法、及び表示制御プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08101758A (ja) * 1994-09-30 1996-04-16 Toshiba Corp 仮想空間内のデータ操作装置
JP2002149581A (ja) * 2000-11-09 2002-05-24 Nippon Telegr & Teleph Corp <Ntt> 複数のユーザによる仮想空間共有システム
JP2002304246A (ja) * 2001-04-04 2002-10-18 Nippon Telegr & Teleph Corp <Ntt> 力覚提示装置及び仮想空間システム
JP2015232783A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
JP2017055851A (ja) * 2015-09-14 2017-03-23 株式会社コーエーテクモゲームス 情報処理装置、表示制御方法、及び表示制御プログラム
JP6093473B1 (ja) * 2016-08-19 2017-03-08 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6458179B1 (ja) * 2018-02-22 2019-01-23 株式会社コロプラ プログラム、情報処理装置、および方法
JP2019144942A (ja) * 2018-02-22 2019-08-29 株式会社コロプラ プログラム、情報処理装置、および方法
CN111448536A (zh) * 2018-06-14 2020-07-24 多玩国株式会社 数据替换装置、终端及数据替换程序
CN111448536B (zh) * 2018-06-14 2023-06-30 多玩国株式会社 数据替换装置、终端及数据替换程序

Also Published As

Publication number Publication date
JP2018029907A (ja) 2018-03-01

Similar Documents

Publication Publication Date Title
JP6093473B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
WO2018030453A1 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、及びコンピュータ
JP6220937B1 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP6122537B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6117414B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2017187952A (ja) 表示制御方法及び当該表示制御方法をコンピュータに実行させるためのプログラム
WO2018020735A1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6157703B1 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP6113897B1 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6140871B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018110871A (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP6934374B2 (ja) プロセッサを備えるコンピュータにより実行される方法
JP2018045338A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6159455B1 (ja) 仮想空間を提供する方法、プログラム、および記録媒体
JP2018026105A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018026099A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6290493B2 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP2019020836A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6122194B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6403843B1 (ja) 情報処理方法、情報処理プログラム及び情報処理装置
JP6449922B2 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018014109A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2018018499A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018014084A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6189495B1 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20160923

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161130

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171002

R150 Certificate of patent or registration of utility model

Ref document number: 6220937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250