JP6189495B1 - Method for providing virtual space, method for providing virtual experience, program, and recording medium - Google Patents
Method for providing virtual space, method for providing virtual experience, program, and recording medium Download PDFInfo
- Publication number
- JP6189495B1 JP6189495B1 JP2016142759A JP2016142759A JP6189495B1 JP 6189495 B1 JP6189495 B1 JP 6189495B1 JP 2016142759 A JP2016142759 A JP 2016142759A JP 2016142759 A JP2016142759 A JP 2016142759A JP 6189495 B1 JP6189495 B1 JP 6189495B1
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- user
- sight
- hmd
- virtual space
- 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
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】直感的な操作で仮想オブジェクトと接触することが可能な仮想体験を提供する。【解決手段】制御回路部は、仮想オブジェクトに対し、ユーザの基準視線の方向に基づく延在方向に延在する部分を少なくとも含む、仮想オブジェクトとの接触を判定するための領域を設定する。【選択図】図15A virtual experience capable of contacting a virtual object by an intuitive operation is provided. A control circuit unit sets an area for determining contact with a virtual object including at least a portion extending in an extending direction based on a direction of a user's reference line of sight with respect to the virtual object. [Selection] Figure 15
Description
本開示は、仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体に関する。 The present disclosure relates to a method for providing a virtual space, a method for providing a virtual experience, a program, and a recording medium.
非特許文献1には、仮想空間に配置されたブロックを、仮想空間に配置されたユーザの仮想手で掴んだり、投げたりすることを可能にする技術が開示されている。
Non-Patent
仮想空間において、ユーザが仮想オブジェクトと接触することによって操作しようとした場合、現実空間と距離感が異なるため、直感的に操作することができないことがあった。また、仮想オブジェクトを現実空間に重畳させるようにして配置することにより、ユーザに仮想体験を提供する場合にも、同様の問題が生じ得る。 In a virtual space, when a user tries to operate by touching a virtual object, the user may not be able to operate intuitively because the sense of distance is different from the real space. Similar problems may also occur when providing virtual experiences to users by arranging virtual objects so as to be superimposed on real space.
本開示は前記の課題を解決するためになされたものである。そして、その目的は、ユーザが、直感的な操作によって、仮想オブジェクトと接触することを可能にすることにある。 This indication is made in order to solve the above-mentioned subject. The purpose is to allow the user to contact the virtual object by an intuitive operation.
前記の課題を解決するために、本開示に係る仮想空間を提供する方法は、頭部にヘッドマウントディスプレイを装着したユーザに仮想空間を提供する方法であって、仮想空間に配置された複数の仮想オブジェクトを特定するとともに、ユーザの頭部以外の身体の一部の動きに連動して動作する操作対象オブジェクトを仮想空間に配置するステップと、ユーザの仮想空間における基準視線を特定するステップと、仮想空間に配置され、基準視線に基づいてユーザに視認させる視界領域を規定する仮想カメラを特定するステップと、複数の仮想オブジェクトのうち少なくとも一つに、仮想空間における仮想カメラの位置または基準視線の方向に基づく延在方向に延在する部分を少なくとも含む、操作対象オブジェクトとの接触を判定するための領域を設定するステップと、領域と操作対象オブジェクトとの位置関係に基づいて、領域が設定される仮想オブジェクトと操作対象オブジェクトとの接触を判定するステップと、を含む。 In order to solve the above problems, a method for providing a virtual space according to the present disclosure is a method for providing a virtual space to a user wearing a head-mounted display on a head, wherein a plurality of virtual spaces arranged in the virtual space are provided. Identifying a virtual object, placing an operation target object that operates in conjunction with movement of a part of the body other than the user's head in a virtual space, identifying a reference line of sight in the user's virtual space, A step of identifying a virtual camera that is arranged in the virtual space and that defines a visual field area to be viewed by the user based on the reference line of sight; and at least one of the plurality of virtual objects includes a position of the virtual camera in the virtual space or a reference line of sight Area for determining contact with the operation target object including at least a portion extending in the extending direction based on the direction Comprising a step of setting a, based on the positional relationship between the region and the operation target object, determining a contact of a virtual object and the operation target object region is set, the.
本開示によれば、ユーザが、直感的な操作によって、所望の仮想オブジェクトと接触することを可能にすることができる。 According to the present disclosure, it is possible to allow a user to contact a desired virtual object through an intuitive operation.
[本発明の実施形態の詳細]
本発明の実施形態に係る仮想空間を提供する方法、および、プログラムの具体例を、以下に図面を参照しつつ説明する。本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
[Details of the embodiment of the present invention]
A specific example of a method and program for providing a virtual space according to an embodiment of the present invention will be described below with reference to the drawings. The present invention is not limited to these exemplifications, but is defined by the scope of claims for patent, and it is intended that all modifications within the meaning and scope equivalent to the scope of claims for patent are included in the present invention. In the following description, the same reference numerals are given to the same elements in the description of the drawings, and repeated description is not repeated.
(HMDシステム100の構成)
図1は、HMDシステム100の構成を示す図である。この図に示すように、HMDシステム100は、HMD110、HMDセンサ120、コントローラセンサ140、制御回路部200、およびコントローラ300を備えている。
(Configuration of HMD system 100)
FIG. 1 is a diagram showing a configuration of the
HMD110は、ユーザの頭部に装着される。HMD110は、非透過型の表示装置であるディスプレイ112、センサ114、および注視センサ130を備えている。HMD110は、右目用画像および左目用画像をディスプレイ112にそれぞれ表示することにより、ユーザの両目の視差に基づきユーザに立体的に視認される3次元画像を、ユーザに視認させる。これにより仮想空間をユーザに提供する。ディスプレイ112がユーザの眼前に配置されているので、ユーザは、ディスプレイ112に表示される画像を通じて仮想空間に没入できる。これにより、ユーザは仮想現実(Virtual Reality:VR)を体験することができる。仮想空間は、背景、ならびにユーザが操作可能な各種のオブジェクトおよびメニュー画像等を含み得る。
The HMD 110 is worn on the user's head. The HMD 110 includes a
ディスプレイ112は、右目用画像を表示する右目用サブディスプレイと、左目用画像を表示する左目用サブディスプレイとを含んでもよい。または、ディスプレイ112は、右目用画像および左目用画像を共通の画面に表示する1つの表示装置であってもよい。このような表示装置として、たとえば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像および左目用画像を独立して交互に表示する表示装置が挙げられる。
The
また、本実施形態において、HMD110には、透過型ディスプレイが適用されてもよい。つまり、HMD110は、透過型HMDであってもよい。この場合、前記3次元画像を透過型ディスプレイに表示することによって、後述する仮想オブジェクトを現実空間に仮想的に配置することができる。これにより、ユーザは現実空間に仮想オブジェクトが配置された複合現実(Mixes Reality:MR)を体験することができる。本実施形態において、仮想現実や複合現実といった、ユーザが仮想オブジェクトと相互作用できる体験を仮想体験と称することがある。以下では、仮想現実を提供するための方法を一例として詳説する。
In the present embodiment, a transmissive display may be applied to the
(制御回路部200のハード構成)
図2は、制御回路部200のハード構成を示す図である。制御回路部200は、HMD110に仮想空間を提供させるためのコンピュータである。図2に示すように、制御回路部200は、プロセッサ、メモリ、ストレージ、入出力インターフェース、および通信インターフェースを備えている。これらは、データ伝送路としてのバスを通じて、制御回路部200内において互いに接続されている。
(Hard structure of the control circuit unit 200)
FIG. 2 is a diagram illustrating a hardware configuration of the
プロセッサは、CPU(Central Processing Unit)、MPU(Micro-processing unit)、またはGPU(Graphics Processing Unit)等を含んで構成され、制御回路部200およびHMDシステム100全体の動作を制御する。
The processor includes a central processing unit (CPU), a micro-processing unit (MPU), a graphics processing unit (GPU), and the like, and controls operations of the
メモリは、主記憶として機能する。メモリには、プロセッサによって処理されるプログラムおよび制御用データ(演算パラメータなど)が記憶される。メモリは、ROM(Read Only Memory)またはRAM(Random Access Memory)等を含んで構成され得る。 The memory functions as main memory. The memory stores a program processed by the processor and control data (such as calculation parameters). The memory may include a ROM (Read Only Memory) or a RAM (Random Access Memory).
ストレージは、補助記憶として機能する。ストレージには、HMDシステム100全体の動作を制御するためのプログラム、各種のシミュレーションプログラム、ユーザ認証プログラム、および、仮想空間を規定するための各種のデータ(画像およびオブジェクト等)が格納されている。さらには、各種のデータを管理するためのテーブルを含むデータベースがストレージに構築されていてもよい。ストレージは、フラッシュメモリまたはHDD(Hard Disc Drive)等を含んで構成され得る。
The storage functions as auxiliary storage. The storage stores a program for controlling the operation of the
入出力インターフェースは、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High-Definition Multimedia Interface)端子等の各種の有線接続端子、および、無線接続のための各種の処理回路を含んで構成されている。入出力インターフェースは、HMD110と、HMDセンサ120およびコントローラセンサ140を含む各種のセンサと、コントローラ300とを互いに接続する。
The input / output interface includes various wired connection terminals such as a USB (Universal Serial Bus) terminal, a DVI (Digital Visual Interface) terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal, and various wireless connection terminals. These processing circuits are included. The input / output interface connects the
通信インターフェースは、ネットワークNWを介して外部装置と通信するための各種の有線接続端子、および、無線接続のための各種の処理回路を含んで構成される。通信インターフェースは、LAN(Local Area Network)またはインターネットを介して通信するための各種の通信規格およびプロトコルに適合するように、構成されている。 The communication interface includes various wired connection terminals for communicating with an external device via the network NW, and various processing circuits for wireless connection. The communication interface is configured to conform to various communication standards and protocols for communicating via a LAN (Local Area Network) or the Internet.
制御回路部200は、ストレージに格納された所定のアプリケーションプログラムをメモリにロードして実行することによって、ユーザに仮想空間を提供する。プログラムの実行時に、メモリおよびストレージには、仮想空間内に配置される各種の仮想オブジェクトを操作したり、各種のメニュー画像等を表示および制御したりするための各種のプログラムが格納される。
The
制御回路部200は、HMD110に搭載されていてもよいし、されていなくてもよい。すなわち制御回路部200は、HMD110から独立した別のハードウェア(たとえば、パーソナルコンピュータ、またはネットワークを通じてHMD110と通信可能なサーバ装置)であってもよい。制御回路部200は、複数のハードウェアの協働によって1または複数の機能が実装される形態の装置であってもよい。または、制御回路部200が有する全機能のうち一部の機能のみがHMD110に実装され、残りの機能が別のハードウェアに実装されていてもよい。
The
HMDシステム100を構成するHMD110等の各要素には、予め、グローバル座標系(基準座標系、xyz座標系)が設定されている。このグローバル座標系は、現実空間における、鉛直方向、鉛直方向と直交する横方向、ならびに、鉛直方向および横方向の双方と直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施形態では、グローバル座標系は視点座標系の一種であるため、グローバル座標系における横方向、鉛直方向(上下方向)、および前後方向を、それぞれx軸、y軸、z軸とする。具体的には、グローバル座標系のx軸は現実空間の横方向に平行であり、y軸は現実空間の鉛直方向に平行であり、z軸は現実空間の前後方向に平行である。
A global coordinate system (reference coordinate system, xyz coordinate system) is set in advance for each element such as the
HMDセンサ120は、HMD110の動きを検出するためのポジション・トラッキング機能を有する。HMDセンサ120は、この機能によって、現実空間内におけるHMD110の位置および傾きを検出する。この検出を実現するために、HMD110は、図示しない複数の光源を備えている。各光源は、たとえば赤外線を発するLEDである。HMDセンサ120は、たとえば赤外線センサを含んで構成される。HMDセンサ120は、HMD110の光源から照射された赤外線を、赤外線センサによって検出することによって、HMD110の検出点を検出する。さらに、HMD110の検出点の検出値に基づき、ユーザの動きに応じたHMD110の現実空間内における位置および傾きを検出する。HMDセンサ120は、検出値の経時的変化に基づき、HMD110の位置および傾きの時間変化を決定することができる。
The
HMDセンサ120は、光学カメラを含んで構成されてもよい。この場合、HMDセンサ120は、光学カメラによって得られたHMD110の画像情報に基づき、HMD110の位置および傾きを検出する。
The
HMDセンサ120の代わりに、HMD110が、センサ114を用いて自身の位置および傾きを検出してもよい。この場合、センサ114は、たとえば角速度センサ、地磁気センサ、加速度センサ、またはジャイロセンサであればよい。HMD110は、これらのうち少なくとも1つを用いる。センサ114が角速度センサである場合、センサ114は、HMD110の動きに応じて、HMD110の現実空間における3軸周りの角速度を経時的に検出する。HMD110は、角速度の検出値に基づき、HMD110の3軸周りの角度の時間的変化を決定し、さらに、角度の時間的変化に基づきHMD110の傾きを検出することができる。
Instead of the
HMD110がセンサ114による検出値に基づきHMD110の位置および傾きを自ら検出する場合、HMDシステム100にHMDセンサ120は不要である。逆に、HMD110から離れた位置に配置されるHMDセンサ120がHMD110の位置および傾きを検出する場合、HMD110にセンサ114は不要である。
When the
上述したように、グローバル座標系は現実空間の座標系と平行である。そのため、HMDセンサ120によって検出されたHMD110の各傾きは、グローバル座標系におけるHMD110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMDセンサ120の傾きの検出値に基づき、uvw視野座標系をHMD110に設定する。HMD110に設定されるuvw視野座標系は、HMD110を装着したユーザが物体を見る際の視点座標系に対応する。
As described above, the global coordinate system is parallel to the real space coordinate system. Therefore, each inclination of the
(uvw視野座標系)
図3は、HMD110に設定されるuvw視野座標系を例示する図である。HMDセンサ120は、HMD110の起動時に、グローバル座標系におけるHMD110の位置および傾きを検出する。そして、傾きの検出値に基づく3次元のuvw視野座標系を、HMD110に設定する。図3に示すように、HMDセンサ120は、HMD110を装着したユーザの頭部を中心(原点)とした3次元のuvw視野座標系を、HMD110に設定する。具体的には、グローバル座標系を規定する横方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって得られる新たな3つの方向を、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。
(Uvw visual field coordinate system)
FIG. 3 is a diagram illustrating an uvw visual field coordinate system set in the
図3に示すように、HMDセンサ120は、HMD110を装着したユーザが直立しかつ正面を視認している場合、グローバル座標系に平行なuvw視野座標系をHMD110に設定する。この場合、グローバル座標系の横方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)が、そのまま、HMD110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。
As shown in FIG. 3, when the user wearing the
HMDセンサ120は、HMD110にuvw視野座標系を設定した後、HMD110の動きに応じて、現在設定中のuvw視野座標系におけるHMD110の傾き(傾きの変化量)を検出することができる。この場合、HMDセンサ120は、HMD110の傾きとして、現在設定中のuvw視野座標系におけるHMD110のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD110の傾き角度である。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD110の傾き角度である。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD110の傾き角度である。
After setting the uvw visual field coordinate system in the
HMDセンサ120は、HMD110の傾きの検出値に基づき、動いた後のHMD110におけるuvw視野座標系を、新たにHMD110に設定する。HMD110と、HMD110のuvw視野座標系との関係は、HMD110の位置および傾きによらず常に一定である。HMD110の位置および傾きが変わると、それの変化に連動して、グローバル座標系におけるHMD110のuvw視野座標系の位置および傾きが同様に変化する。
Based on the detected value of the inclination of the
HMDセンサ120は、赤外線センサによって取得される赤外線の光強度および複数の検出点間の相対位置関係(検出点間の距離等)に基づき、HMD110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、特定した相対位置に基づき、現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の原点を決定してもよい。また、HMDセンサ120は、複数の検出点間の相対位置関係に基づきHMD110の現実空間内における傾きを検出し、さらに、その検出値に基づき現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の向きを決定してもよい。
The
(仮想空間2の概要)
図4は、ユーザに提供される仮想空間2の概要を説明する図である。この図に示すように、仮想空間2は、中心21の360°方向全体を覆う全天球状の構造を有する。図4には、仮想空間2の全体のうち上半分の天球のみを例示する。仮想空間2には、略正方形または略長方形の複数のメッシュが関連付けられている。仮想空間2における各メッシュの位置は、仮想空間2に規定される空間座標系(XYZ座標系)における座標として、予め規定されている。制御回路部200は、仮想空間2に展開可能なコンテンツ(静止画、動画等)を構成する各部分画像を、仮想空間2における対応する各メッシュに対応付けることによって、ユーザによって視認可能な仮想空間画像22が展開される仮想空間2をユーザに提供する。
(Outline of virtual space 2)
FIG. 4 is a diagram illustrating an outline of the
仮想空間2には、中心21を原点とするXYZ空間座標系が規定されている。XYZ座標系は、たとえばグローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における横方向、鉛直方向(上下方向)、および前後方向を、それぞれX軸、Y軸、Z軸とする。すなわち、XYZ座標系のX軸(横方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(上下方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。
The
HMD110の起動時(初期状態)において、仮想空間2の中心21に仮想カメラ1が配置されている。仮想カメラ1は、現実空間内におけるHMD110の動きに連動して、仮想空間2内において同様に動く。これにより、現実空間内におけるHMD110の位置および向きの変化が、仮想空間2内において同様に再現される。
When the
仮想カメラ1には、HMD110と同様にuvw視野座標系が規定される。仮想空間2内における仮想カメラ1のuvw視野座標系は、現実空間(グローバル座標系)内におけるHMD110のuvw視野座標系に連動するように規定されている。したがって、HMD110の傾きが変化すると、それに連動して仮想カメラ1の傾きも変化する。仮想カメラ1は、HMD110を装着したユーザの現実空間における移動に連動して、仮想空間2において移動することもできる。
As with the
仮想空間2における仮想カメラ1の位置および傾きに応じて、仮想空間2における仮想カメラ1の向きが決まる。これにより、仮想空間2に展開される仮想空間画像22をユーザが視認する際の基準となる視線(基準視線5)が決まる。制御回路部200は、基準視線5に基づき、仮想空間2における視界領域23を決定する。視界領域23は、仮想空間2のうち、HMD110を装着したユーザの視界に対応する領域である。
The orientation of the
図5は、視界領域23の断面を示す図である。図5の(a)に、仮想空間2において視界領域23をX方向から見たYZ断面を示す。図5の(b)に、仮想空間2において視界領域23をY方向から見たXZ断面を示す。視界領域23は、基準視線5と仮想空間2のYZ断面とによって定義される範囲である第1領域24(図5の(a)参照)と、基準視線5と仮想空間2のXZ断面とによって定義される範囲である第2領域25(図5の(b)参照)とを有する。制御回路部200は、仮想空間2における基準視線5を中心として極角αを含む範囲を、第1領域24として設定する。また、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、第2領域25として設定する。
FIG. 5 is a view showing a cross section of the
HMDシステム100は、仮想空間画像22のうち視界領域23に重畳する部分である視界画像26をHMD110のディスプレイ112に表示させることによって、ユーザに仮想空間2を提供する。ユーザがHMD110を動かせば、それに連動して仮想カメラ1も動き、その結果、仮想空間2における視界領域23の位置が変化する。これによりディスプレイ112に表示される視界画像26が、仮想空間画像22のうち、仮想空間2においてユーザが向いた箇所(=視界領域23)に重畳する画像に更新される。したがってユーザは、仮想空間2における所望の箇所を視認することができる。
The
ユーザは、HMD110を装着している間、現実世界を目にすることなく、仮想空間2に展開される仮想空間画像22のみを視認する。そのためHMDシステム100は、仮想空間2への高い没入感をユーザに与えることができる。
While wearing the
制御回路部200は、HMD110を装着したユーザの現実空間における移動に連動して、仮想カメラ1を仮想空間2内において移動させてもよい。この場合、制御回路部200は、仮想カメラ1の仮想空間2内における位置および向きに基づき、仮想空間2のうちHMD110のディスプレイ112に投影されることによってユーザが視認する視界領域23を特定する。
The
仮想カメラ1は、右眼用画像を提供する右眼用仮想カメラと、左眼用画像を提供する左眼用仮想カメラとを含むことが好ましい。さらに、2つの仮想カメラには、ユーザが3次元の仮想空間2を認識できるように適切な視差が設定されていることが好ましい。本実施形態では、このような2つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD110のロール方向(w)に適合されるような仮想カメラ1のみを、代表して図示および説明するものとする。
The
(視線方向の検出)
注視センサ130は、ユーザの右目および左目の視線が向けられる方向(視線方向)を検出するアイトラッキング機能を有する。注視センサ130として、アイトラッキング機能を有する公知のセンサを採用することができる。注視センサ130は、右目用センサおよび左目用センサを備えていることが好ましい。注視センサ130は、たとえば、ユーザの右目および左目に赤外光を照射すると共に、照射光に対する角膜および虹彩からの反射光を受光することによって、各眼球の回転角を検出するセンサでもよい。注視センサ130は、検出した各回転角に基づき、ユーザの視線方向を検知することができる。
(Gaze direction detection)
The
注視センサ130によって検出されるユーザの視線方向は、ユーザが物体を視認する際の視点座標系における方向である。上述したように、HMD110のuvw視野座標系は、ユーザがディスプレイ112を視認する際の視点座標系に等しい。また、仮想カメラ1のuvw視野座標系は、HMD110のuvw視野座標系に連動している。したがってHMDシステム100では、注視センサ130によって検出されたユーザの視線方向を、仮想カメラ1のuvw視野座標系におけるユーザの視線方向と見なすことができる。
The user's gaze direction detected by the
図6は、ユーザの視線方向を決定する方法を例示する図である。この図に示すように、注視センサ130は、ユーザUの右目および左目の視線を検出する。ユーザUが近くを見ている場合、注視センサ130は、ユーザUの視線R1およびL1を検出する。ユーザが遠くを見ている場合、注視センサ130は、ユーザの視線R1およびL1よりも、HMD110のロール方向(w)とのなす角が小さい視線R2およびL2を特定する。注視センサ130は、検出値を制御回路部200に送信する。
FIG. 6 is a diagram illustrating a method of determining the user's line-of-sight direction. As shown in this figure, the
制御回路部200は、視線の検出値として視線R1およびL1を受信した場合、両者の交点である注視点N1を特定する。一方、視線R2およびL2を受信した場合も、両者の交点である注視点N2(不図示)を特定する。制御回路部200は、特定した注視点N1に基づき、ユーザUの視線方向N0を検出する。制御回路部200は、たとえば、ユーザUの右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の伸びる方向を、視線方向N0として検出する。視線方向N0は、ユーザUが両目により実際に視線を向けている方向である。視線方向N0はまた、視界領域23に対してユーザUが実際に視線を向けている方向でもある。
When receiving the line of sight R1 and L1 as the line-of-sight detection value, the
HMDシステム100は、HMDシステム100を構成するいずれかの要素に、マイクおよびスピーカを備えていてもよい。これにより、ユーザは仮想空間2内に対して、音声による指示を与えることができる。また、仮想空間内の仮想テレビにテレビ番組の放送を受信するために、HMDシステム100はいずれかの要素にテレビジョン受像機を含んでいてもよい。また、ユーザが取得した電子メール等を表示させるための、通信機能等を含んでいてもよい。
The
(コントローラ300)
図7は、コントローラ300の構成を表す図である。コントローラ300は、ユーザの身体の一部の動きを検知することにより、仮想オブジェクトの動きを制御するために用いる装置の一例である。図1および図7に示すように、コントローラ300は、ユーザが右手に持って使用する右コントローラ320と、ユーザが左手に持って使用する左コントローラ330とからなる。右コントローラ320および左コントローラ330は、それぞれ別体の装置として構成される。ユーザは、右コントローラ320を持った右手と、左コントローラ330を持った左手とを、相互に自由に動かすことができる。なお、ユーザの頭部以外である身体の一部の動きを検知するための方法は、当該身体の一部に装着されるセンサを含むコントローラを用いる例に限られず、画像認識、その他任意の物理的、光学的な手法等を適用できる。例えば、外部カメラを用いてユーザの身体の一部の初期位置を特定し、継続的にユーザの身体の一部の位置を特定することにより、ユーザの頭部以外である身体の一部の動きを検知できる。以下の説明においては、コントローラ300を用いたユーザの頭部以外である身体の一部の動きの検知について詳述する。
(Controller 300)
FIG. 7 is a diagram illustrating the configuration of the
図1および図7に示すように、右コントローラ320および左コントローラ330は、それぞれ、操作ボタン302、赤外線LED(Light Emitting Diode)304、センサ306、およびトランシーバ308を備えている。後述するように、右コントローラ320および左コントローラ330は、赤外線LED304およびセンサ306のうちいずれか一方のみを備えていてもよい。
As shown in FIGS. 1 and 7, the
操作ボタン302は、コントローラ300に対するユーザからの操作入力を受け取るように構成された複数のボタン群である。本実施形態では、操作ボタン302は、プッシュ式ボタン、トリガー式ボタン、およびアナログスティックを含む。
The
プッシュ式ボタンは、親指で下向きに押下する動作によって操作するように構成されたボタンである。右コントローラ320は、プッシュ式ボタンとして、天面322上に親指ボタン302aおよび302bを備えている。左コントローラ330は、プッシュ式ボタンとして、天面332上に2つの親指ボタン302cおよび302dを備えている。親指ボタン302aおよび302bは、いずれも右手の親指によって操作(押下)される。親指ボタン302cおよび302dは、いずれも左手の親指によって操作(押下)される。
The push-type button is a button configured to be operated by an operation of pressing downward with a thumb. The
トリガー式ボタンは、人差し指または中指で引き金を引くような動作によって操作するように構成されたボタンである。右コントローラ320は、トリガー式ボタンとして、グリップ324の前面部分に人差し指ボタン302eを備えており、さらに、グリップ324の側面部分に中指ボタン302fを備えている。左コントローラ330は、トリガー式ボタンとして、グリップ334の前面部分に人差し指ボタン302gを備えており、さらに、グリップ334の側面部分に中指ボタン302hを備えている。人差し指ボタン302e、中指ボタン302f、人差し指ボタン302g、および中指ボタン302hは、それぞれ右手の人差し指、右手の中指、左手の人差し指、および左手の中指によって操作(押下)される。
The trigger type button is a button configured to be operated by an operation of pulling a trigger with an index finger or a middle finger. The
右コントローラ320は、親指ボタン302aおよび302b、人差し指ボタン302e、ならびに中指ボタン302fの押下状態をそれぞれ検出し、これらの検出値を制御回路部200に出力する。一方、左コントローラ330は、親指ボタン302cおよび302d、人差し指ボタン302g、ならびに中指ボタン302hの押下状態をそれぞれ検出し、これらの検出値を制御回路部200に出力する。
The
本実施形態では、右コントローラ320および左コントローラ330の各ボタンの押下状態の検出値は、0から1のいずれかの値を取り得る。たとえば、ユーザが親指ボタン302aをまったく押下していない場合、親指ボタン302aの押下状態として「0」が検出される。一方、ユーザが親指ボタン302aを完全に(最も深く)押下している場合、親指ボタン302aの押下状態として「1」が検出される。
In the present embodiment, the detection value of the pressed state of each button of the
アナログスティックは、所定のニュートラル位置から360°任意の方向へ傾けて操作することが可能なスティック型のボタンである。右コントローラ320の天面322上にアナログスティック302iが設けられ、左コントローラ330の天面332上にアナログスティック302jが設けられる。アナログスティック302iおよび302jは、それぞれ右手および左手の親指によって操作される。
The analog stick is a stick-type button that can be operated by being tilted 360 degrees from a predetermined neutral position. An analog stick 302 i is provided on the
右コントローラ320および左コントローラ330は、それぞれ、グリップ(324および334)の両側面から天面(322および332)とは反対側の方向へ延びて半円状のリングを形成するフレーム326および336を備えている。各フレーム326および336の外表面には、複数の赤外線LED304が埋め込まれている。複数(たとえば10個程度)の赤外線LED304が、フレーム326、336の円周方向に沿って一列に並んで設けられる。フレーム326および336の円周方向に沿って、複数列(たとえば2列)の赤外線LED304が配置されていてもよい。
The
ユーザがコントローラ300を握る際、ユーザの各指はグリップ(324または334)とフレーム(326または336)との間にある。したがって、各フレーム326および336の外表面に配置された赤外線LED304は、ユーザの手または指によって覆い隠されてしまうことはない。フレーム326および336の外表面に加えて、さらに、グリップ324および334の表面のうちユーザの指で隠されない部分にも、赤外線LED304が設けられていてもよい。赤外線LED304は、コンピュータゲームのプレイ中に赤外線を発光する。赤外線LED304から発せられた赤外光は、右コントローラ320および左コントローラ330のそれぞれの位置および傾きを検出するために利用される。
When the user grips the
右コントローラ320および左コントローラ330は、赤外線LED304の代わりに、または赤外線LED304に加えて、さらにセンサ306を内蔵する。センサ306は、たとえば磁気センサ、角速度センサ、若しくは加速度センサのいずれか、またはこれらの組み合わせであってよい。センサ306によっても、右コントローラ320および左コントローラ330の位置および傾きを検出することができる。
The
センサ306は、ユーザが右コントローラ320および左コントローラ330をそれぞれ右手および左手で持って動かした際、右コントローラ320および左コントローラ330の向きおよび動きに応じた値(磁気、角速度、または加速度の値)を、出力する。制御回路部200は、センサ306からの出力値を適宜の方法によって加工することによって、右コントローラ320および左コントローラ330のそれぞれの位置および傾きを検出することができる。
When the user moves the
トランシーバ308は、右コントローラ320および左コントローラ330と、制御回路部200との間でデータを送受信するように構成される。トランシーバ308は、ユーザが操作ボタン302を介して右コントローラ320または左コントローラ330に与えた操作入力に基づくデータを、制御回路部200へ送信する。また、トランシーバ308は、赤外線LED304の発光を右コントローラ320または左コントローラ330に指示する命令を、制御回路部200から受信する。さらに、トランシーバ308は、センサ306によって検出した各種の値に対応するデータを、制御回路部200へ送信する。
The
右コントローラ320および左コントローラ330は、ユーザの手に振動による触覚フィードバックを伝えるためのバイブレータを備えていてもよい。この構成では、トランシーバ308は、上述した各データの送受信に加えて、バイブレータに触覚フィードバックを行わせるための命令を制御回路部200から受信することができる。トランシーバ308は、無線通信によってデータを送受信するように構成されるのが好適である。この構成では、右コントローラ320および左コントローラ330に有線通信用のケーブルが接続されないので、ユーザは、右コントローラ320を持った右手および左コントローラ330を持った左手を、より自由にそれぞれ動かせる。
The
コントローラセンサ140は、右コントローラ320および左コントローラ330の動きを検出するためのポジション・トラッキング機能を有する。コントローラセンサ140は、この機能によって、現実空間内における右コントローラ320および左コントローラ330の位置および傾きを検出する。この検出を実現するために、コントローラセンサ140は、右コントローラ320および左コントローラ330の赤外線LED304から発せられた赤外光を、それぞれ検出する。コントローラセンサ140は、たとえば、赤外波長領域において画像を撮像する赤外カメラを備えており、この赤外カメラによって撮像した画像のデータに基づき、右コントローラ320および左コントローラ330の位置および傾きを検出する。
The
赤外カメラによって撮像された画像は、右コントローラ320および左コントローラ330の表面に埋め込まれている多数の赤外線LED304の配置を反映した明暗画像である。ある1つの撮像画像には、互いに左右に離れた2つの明点の集団が含まれ得る。2つの集団のうち左側の集団は、ユーザが右手で持っている右コントローラ320の赤外線LED304に対応する。右側の集団は、ユーザが左手で持っている左コントローラ330の赤外線LED304に対応する。コントローラセンサ140は、左側の集団を構成している明点の並んでいる方向から、右コントローラ320の傾きを検出する。たとえば、明点が撮像画像内で横方向(即ち水平方向)に並んでいる場合、右コントローラ320の傾きを、フレーム326が水平に保持された傾きとして検出すればよい。また、撮像画像内で明点の並んでいる方向が横方向からある角度だけ斜めになっている場合、右コントローラ320の傾きを、フレーム326が水平から当該角度だけ傾いた傾きとして検出すればよい。同様に、コントローラセンサ140は、撮像画像内における右側の集団を構成している明点の並んでいる方向から、左コントローラ330の傾きを検出する。
The image picked up by the infrared camera is a bright and dark image reflecting the arrangement of a large number of
コントローラセンサ140は、撮像画像内の明点(赤外線LED304)を識別することによって、右コントローラ320および左コントローラ330の位置をそれぞれ検出する。たとえば、撮像画像から検出したされた2つの明点の集団のうち、左側の集団を構成している複数の明点の重心位置を、右コントローラ320の位置として検出する。さらに、右側の集団を構成している複数の明点の重心位置を、左コントローラ330の位置として検出する。
The
コントローラセンサ140の代わりに、右コントローラ320および左コントローラ330が、センサ306を用いて自身の位置および傾きを検出してもよい。この場合、たとえば、右コントローラ320の三軸角速度センサ(センサ306)が、右コントローラ320の3つの直交する各軸周りの回転を検出する。右コントローラ320は、各検出値に基づき、右コントローラ320がどちらの方向にどれだけ回転したかを検出し、さらに、逐次検出した回転方向と回転量とを累積することによって、右コントローラ320の傾きを算出する。同様に、左コントローラ330は、左コントローラ330の三軸角速度センサ(センサ306)からの検出値を用いて、左コントローラ330の傾きを算出すればよい。右コントローラ320および左コントローラ330は、三軸角速度センサの検出値に加えて、たとえば三軸磁気センサおよび/または三軸加速度センサからの検出値を併用してもよい。
Instead of the
詳細な説明は省略するが、右コントローラ320は、三軸角速度センサ(センサ306)からの検出値を用いて、右コントローラ320の位置を検出することができる。また、左コントローラ330は、三軸角速度センサ(センサ306)からの検出値を用いて、左コントローラ330の位置を検出することができる。
Although a detailed description is omitted, the
(制御回路部200の機能的構成)
図8は、制御回路部200の機能的構成を示すブロック図である。制御回路部200は、HMDセンサ120、コントローラセンサ140、注視センサ130、およびコントローラ300から受信した各種のデータを用いることによって、ユーザに提供される仮想空間2を制御すると共に、HMD110のディスプレイ112への画像表示を制御する。図8に示すように、制御回路部200は、検出部210、表示制御部220、仮想空間制御部230、記憶部240、および通信部250を備えている。制御回路部200は、図2に示す各ハードウェアの協働によって、検出部210、表示制御部220、仮想空間制御部230、記憶部240、および通信部250として機能する。検出部210、表示制御部220、および仮想空間制御部230は、主としてプロセッサおよびメモリの協働によってその機能が実現され得る。記憶部240は、主としてメモリおよびストレージの協働によってその機能が実現され得る。通信部250は、主としてプロセッサおよび通信インターフェースの協働によってその機能が実現され得る。
(Functional configuration of control circuit unit 200)
FIG. 8 is a block diagram showing a functional configuration of the
検出部210は、制御回路部200に接続される各種のセンサ(HMDセンサ120等)から検出値を受信する。また、必要に応じて、受信した検出値を用いた所定の処理を実行する。検出部210は、HMD検出部211、視線検出部212、およびコントローラ検出部213を備えている。HMD検出部211は、HMD110およびHMDセンサ120から検出値をそれぞれ受信する。視線検出部212は、注視センサ130から検出値を受信する。コントローラ検出部213は、コントローラセンサ140、右コントローラ320、および左コントローラ330から、それぞれの検出値を受信する。
The
表示制御部220は、HMD110のディスプレイ112への画像表示を制御する。表示制御部220は、仮想カメラ制御部221、視界領域決定部222、および視界画像生成部223を備えている。仮想カメラ制御部221は、仮想空間2内に仮想カメラ1を配置すると共に、仮想空間2内における仮想カメラ1の挙動を制御する。視界領域決定部222は、視界領域23を決定する。視界画像生成部223は、決定された視界領域23に基づき、ディスプレイ112に表示される視界画像26を生成する。
The
仮想空間制御部230は、ユーザに提供される仮想空間2を制御する。仮想空間制御部230は、仮想空間規定部231、仮想手制御部232、領域特定部233、および接触判定部234を備えている。
The virtual
仮想空間規定部231は、ユーザに提供される仮想空間2を表す仮想空間データを生成することによって、HMDシステム100における仮想空間2を規定する。仮想手制御部232は、ユーザによる右コントローラ320および左コントローラ330の操作に応じたユーザの各仮想手(仮想右手および仮想左手)を仮想空間2内に配置すると共に、仮想空間2内における各仮想手の挙動を制御する。領域特定部233は、仮想空間26におけるオブジェクト、すなわち仮想オブジェクトのうち少なくとも一つに、ユーザ操作の対象となる操作対象オブジェクト(たとえば仮想手)との接触を判定するための判定領域を設定する。接触判定部234は、前記判定領域と前記操作対象オブジェクトとの位置関係に基づいて、前記判定領域が設定される前記仮想オブジェクトと前記操作対象オブジェクトとの接触を判定する。
The virtual
記憶部240は、制御回路部200が仮想空間2をユーザに提供するために用いる各種のデータを格納している。記憶部240は、雛形格納部241およびコンテンツ格納部242を備えている。雛形格納部241は、仮想空間2の雛形を表す各種の雛形データを格納している。コンテンツ格納部242は、仮想空間2において再生可能な各種のコンテンツを格納している。
The
雛形データは、仮想空間2の空間構造を規定する空間構造データを有する。空間構造データは、たとえば、中心21を中心とする360°の全天球の空間構造を規定するデータである。雛形データは、仮想空間2のXYZ座標系を規定するデータをさらに有する。雛形データは、天球を構成する各メッシュのXYZ座標系における位置を特定する座標データをさらに有する。また、雛形データは、仮想空間2内に仮想オブジェクトを配置可能であるか否かを示すフラグをさらに有していてもよい。
The template data has spatial structure data that defines the spatial structure of the
コンテンツは、仮想空間2において再生可能なコンテンツである。本実施形態では、このコンテンツはゲームコンテンツである。コンテンツは、ゲームの背景画像、および、ゲームに登場する仮想オブジェクト(キャラクタ、アイテム等)を規定するデータを少なくとも有する。各コンテンツには、HMD110の初期状態(起動時)にユーザに見せる画像を向いた初期方向が、予め規定されている。
The content is content that can be reproduced in the
通信部250は、ネットワークNWを介して外部機器400(たとえばゲームサーバ)との間でデータを送受信する。
The
(仮想空間2の提供処理)
図9は、HMDシステム100が仮想空間2をユーザに提供する処理の流れを示すシーケンス図である。仮想空間2は、基本的に、HMD110および制御回路部200の協働によってユーザに提供される。図8に示す処理が開始されると、まず、ステップS1において、仮想空間規定部231が、ユーザに提供される仮想空間2を表す仮想空間データを生成することによって、仮想空間2を規定する。生成の手順は次の通りである。まず仮想空間規定部231は、仮想空間2の雛形データを雛形格納部241から取得することによって、仮想空間2の原型を定義する。仮想空間規定部231は、さらに、仮想空間2において再生されるコンテンツを、コンテンツ格納部242から取得する。本実施形態では、このコンテンツはゲームコンテンツである。
(Process of providing virtual space 2)
FIG. 9 is a sequence diagram showing a flow of processing in which the
仮想空間規定部231は、取得した雛形データに、取得したコンテンツを適合することによって、仮想空間2を規定する仮想空間データを生成する。仮想空間規定部231は、仮想空間データにおいて、仮想空間2の天球を構成する各メッシュの管理データに、コンテンツに含まれる背景画像を構成する各部分画像を適宜関連付ける。仮想空間規定部231は、コンテンツに規定される初期方向を仮想空間2のXYZ座標系におけるZ方向に合致させるように、各部分画像と各メッシュとを関連付けることが好ましい。
The virtual
仮想空間規定部231は、さらに、必要に応じて、コンテンツに含まれる各仮想オブジェクトの管理データを、仮想空間データに追加する。その際、各管理データに、対応する仮想オブジェクトが仮想空間2において配置される位置を表す座標を設定する。これにより各仮想オブジェクトが、仮想空間2における当該座標の位置にそれぞれ配置される。
The virtual
その後、ユーザによってHMD110が起動されると、ステップS2において、HMDセンサ120が、HMD110の初期状態における位置および傾きを検出して、ステップS3において、検出値を制御回路部200に出力する。HMD検出部211は、この検出値を受信する。この後、ステップS4において、仮想カメラ制御部221は、仮想空間2において仮想カメラ1を初期化する。
After that, when the
初期化の手順は次の通りである。まず仮想カメラ制御部221は、仮想空間2内における初期位置(図4における中心21等)に、仮想カメラ1を配置する。次に、仮想空間2における仮想カメラ1の向きを設定する。その際、仮想カメラ制御部221は、HMDセンサ120からの検出値に基づき初期状態のHMD110のuvw視野座標系を特定すると共に、HMD110のuvw視野座標系に一致するuvw視野座標系を仮想カメラ1に設定することによって、仮想カメラ1の向きを設定すればよい。仮想カメラ制御部221は、仮想カメラ1にuvw視野座標系を設定する際、仮想カメラ1のロール方向(w軸)をXYZ座標系のZ方向(Z軸)に適合させる。具体的には、仮想カメラ制御部221は、仮想カメラ1のロール方向をXZ平面に投影して得られる方向を、XYZ座標系のZ方向に一致させると共に、XZ平面に対する仮想カメラ1のロール方向の傾きを、水平面に対するHMD110のロール方向の傾きに一致させる。このような適合処理によって、初期状態の仮想カメラ2のロール方向がコンテンツの初期方向に適合されるので、コンテンツの再生開始後におけるユーザが最初に向く水平方向の向きを、コンテンツの初期方向に一致させることができる。
The initialization procedure is as follows. First, the virtual camera control unit 221 places the
仮想カメラ1の初期化処理が終わると、視界領域決定部222は、仮想カメラ1のuvw視野座標系に基づき、仮想空間2における視界領域23を決定する。具体的には、仮想カメラ1のuvw視野座標系のロール方向(w軸)をユーザの基準視線5として特定し、この基準視線5に基づき視界領域23を決定する。ステップS5において、視界画像生成部223は、仮想空間データを処理することによって、仮想空間2に展開される仮想空間画像22の全体のうち、仮想空間2における視界領域23に投影される部分に相当する視界画像26を生成(レンダリング)する。ステップS6において、視界画像生成部223は、生成した視界画像26を初期視界画像としてHMD110に出力する。ステップS7において、HMD110は、受信した初期視界画像をディスプレイ112に表示する。これによりユーザは初期視界画像を視認する。
When the initialization process of the
その後、ステップS8において、HMDセンサ120が、HMD110の現在の位置および傾きを検出して、ステップS9において、これらの検出値を制御回路部200に出力する。HMD検出部211は、各検出値を受信する。仮想カメラ制御部221は、HMD110の位置および傾きの検出値に基づき、HMD110における現在のuvw視野座標系を特定する。さらに、ステップS10において、仮想カメラ制御部221は、XYZ座標系におけるuvw視野座標系のロール方向(w軸)を、HMD110の視界方向として特定する。
Thereafter, in step S8, the
本実施形態では、ステップS11において、仮想カメラ制御部221が、特定したHMD110の視界方向を、仮想空間2におけるユーザの基準視線5として特定する。ステップS12において、仮想カメラ制御部221は、特定した基準視線5に基づき、仮想カメラ1を制御する。仮想カメラ制御部221は、基準視線5の位置(起点)および方向が仮想カメラ1の初期状態と同一であれば、仮想カメラ1の位置および方向をそのまま維持する。一方、基準視線5の位置(起点)および/または方向が、仮想カメラ1の初期状態から変化していれば、仮想空間2内における仮想カメラ1の位置および/または傾きを、変化後の基準視線5に応じた位置および/または傾きに変更する。また、制御後の仮想カメラ1に対してuvw視野座標系を再設定する。
In the present embodiment, in step S <b> 11, the virtual camera control unit 221 specifies the identified visual field direction of the
ステップS13において、視界領域決定部222は、特定した基準視線5に基づき、仮想空間2における視界領域23を決定する。その後、ステップS14において、視界画像生成部223は、仮想空間データを処理することによって、仮想空間2に展開される仮想空間画像22の全体のうち、仮想空間2における視界領域23に投影(重畳)される部分である視界画像26を生成(レンダリング)する。ステップS15において、視界画像生成部223は、生成した視界画像26を更新用の視界画像としてHMD110に出力する。ステップS16において、HMD110は、受信した視界画像26をディスプレイ112に表示することによって、視界画像26を更新する。これにより、ユーザがHMD110を動かせば、それに連動して視界画像26が更新される。
In step S <b> 13, the visual field
(仮想空間ゲームの提供)
本実施形態では、ユーザは、右コントローラ320および左コントローラ330を操作することによって、仮想空間2内においてゲームをプレイする。このゲームでは、ユーザは、仮想空間2において、ユーザの頭部以外の身体の一部の動きに連動して動作する操作対象オブジェクトにより、他の仮想オブジェクトに触れることができる。詳細は後述するが、制御回路部200は、操作対象オブジェクトによって触れることができる仮想オブジェクトには、仮想カメラ1の位置または基準視線5の方向に基づく延在方向に延在する部分を少なくとも含む、操作対象オブジェクトとの接触を判定するための判定領域を設定する。これにより、ユーザは、直感的な操作により、操作対象オブジェクトと、他の仮想オブジェクトとを接触させることができる。前記ゲームは、たとえばカードゲームであってもよい。この場合、前記操作対象オブジェクトは仮想手であってもよく、前記他の仮想オブジェクトはユーザが選択できるカードのオブジェクト(現実のカードを模した外観および形状の仮想オブジェクト)であってもよい。厚さが薄いカードの仮想オブジェクトであっても、前記判定領域を設定することにより、ユーザは、直感的な操作により、仮想手によってカードの仮想オブジェクトに触れることができる。
(Provide virtual space game)
In the present embodiment, the user plays a game in the
図10は、仮想空間2におけるゲーム中の処理の流れを示すシーケンス図である。ステップS20において、仮想空間規定部231は、選択画面を構成する各部分画像をコンテンツ格納部242から読み出し、仮想空間データにおいて、仮想空間2の天球を構成する各メッシュの管理データに、前記各部分画像を関連付ける。また、仮想空間規定部231は、選択画面に含まれる各仮想オブジェクトの管理データを、仮想空間データに追加する。仮想オブジェクトの管理データには、仮想オブジェクトの形状、仮想空間2における位置(座標)および傾き(姿勢)を示すデータが含まれている。管理データを仮想空間データに追加する際、各管理データに、対応する仮想オブジェクトが仮想空間2において配置される位置を表す座標を設定する。前記仮想オブジェクトは、ユーザが選択する対象となる仮想オブジェクトであり、たとえばカードの仮想オブジェクトである。
FIG. 10 is a sequence diagram showing the flow of processing during the game in the
ステップS21において、コントローラセンサ140は、右コントローラ320の位置および傾き、ならびに、左コントローラ330の位置および傾きをそれぞれ検出する。ステップS22において、コントローラセンサ140は、各検出値を制御回路部200に送信する。コントローラ検出部213は、これらの検出値を受信する。
In step S21, the
ステップS23において、コントローラ300は、各ボタンの押下状態を検出する。具体的には、右コントローラ320は、親指ボタン302a、人差し指ボタン302e、および中指ボタン302fの押下状態をそれぞれ検出する。一方、左コントローラ330は、親指ボタン302c、人差し指ボタン302g、および中指ボタン302hの押下状態をそれぞれ検出する。ステップS24において、右コントローラ320および左コントローラ330は、各検出値を制御回路部200に送信する。コントローラ検出部213は、これらの検出値を受信する。
In step S23, the
ステップS25において、仮想手制御部232は、受信した各検出値を用いて、ユーザの各仮想手(仮想右手および仮想左手)を、仮想空間2に生成する。具体的には、仮想右手の形状、仮想空間2における位置および傾きを規定するデータおよび仮想左手を規定するデータをそれぞれ生成し、仮想空間データに追加する。
In step S <b> 25, the virtual
仮想手制御部232は、右コントローラ320位置および傾きの検出値、ならびに右コントローラ320の各ボタンの押下状態の検出値を用いて、ユーザの仮想右手を規定する。その際、仮想空間2における仮想右手の位置として、グローバル座標系における右コントローラ320の位置を規定する。仮想手制御部232は、さらに、右コントローラ320の傾きの検出値に基づき、右コントローラ320に設定されたuvw視野座標系に連動するuvw視野座標系を仮想右手に設定することによって、仮想空間2内における仮想右手の傾きを規定する。
The virtual
仮想手制御部232は、さらに、右コントローラ320の親指ボタン302a、人差し指ボタン302e、および中指ボタン302fの各検出値に基づき、仮想右手を構成する右親指、右人差し指、および右中指の表示状態を規定する。なお、右薬指および右小指の表示状態は、右中指に合致させるように規定する。
The virtual
仮想手制御部232は、あるボタンの押下状態の検出値が「0」の場合、そのボタンに対応する仮想手の指の表示状態として、指を完全に伸ばした状態を規定する。一方、あるボタンの押下状態が「1」の場合、そのボタンに対応する仮想手の指の表示状態として、指を完全に折り曲げた状態を規定する。また、あるボタンの押下状態が「中間(0と1との間の値)」の場合、そのボタンに対応する仮想手の指の表示状態として、押下状態に応じた程度に指を折り曲げた表示状態を規定する。
When the detected value of the pressed state of a button is “0”, the virtual
同様に、仮想手制御部232は、左コントローラ330の各検出値に基づき、仮想空間2における仮想左手の位置、傾き、および各指の状態を規定する。これらの処理によって、仮想手制御部232は、仮想右手および仮想左手を仮想空間2に配置する。
Similarly, the virtual
ステップS26〜ステップS34の処理は、図9のステップS8〜ステップS16と同様である。ステップS26〜ステップS34の処理により、ステップS20で生成した選択画面のうち、視界領域23に投影(重畳)される部分である視界画像26がディスプレイ112に表示される。
The processing of step S26 to step S34 is the same as step S8 to step S16 of FIG. Through the processes in steps S26 to S34, the
ステップS35において、領域特定部233は、選択画面に含まれる各仮想オブジェクトの姿勢を特定する。ステップS35の処理は、ユーザの選択の対象となる仮想オブジェクトのみについて行えばよく、仮想空間2に含まれる全ての仮想オブジェクトについて行う必要はない。ステップS36〜ステップS39の処理も同様である。仮想オブジェクトの姿勢は、その仮想オブジェクトの管理データを参照して特定することができる。
In step S35, the
ステップS36において、領域特定部233は、仮想オブジェクトと仮想手との接触を判定する際に使用する判定領域を設定するための基準ベクトルを特定する。基準ベクトルの始点は、判定領域の始点を示しており、ステップS35で特定した姿勢に基づいて決定する。具体的には、領域特定部233は、ステップS35で特定した姿勢に基づいて、仮想オブジェクトにおける視界画像26として表示される領域を特定し、該領域内に基準ベクトルの始点を設定する。たとえば、仮想オブジェクトがカードである場合には、カード表面(仮想カメラ1に向いている面)の中央位置に前記始点を設定してもよい。基準ベクトルの大きさは、判定領域の奥行きを示しており、判定領域を仮想オブジェクトからどの程度まで離れた位置まで延在させるかに応じて決定すればよい。基準ベクトルの方向は、判定領域の延在方向を示している。たとえば、仮想オブジェクトがカードである場合には、カード表面の法線方向を基準ベクトルの方向としてもよい。
In step S <b> 36, the
ステップS37において、領域特定部233は、前記特定した基準ベクトルを基準として判定領域を設定する。領域特定部233は、基準ベクトルの始点から終点までの区間に、基準ベクトルの方向に延在するように、判定領域設定してもよい。たとえば、仮想オブジェクトを基準ベクトルに沿って、基準ベクトルの始点から終点までに沿って移動させたときに前記仮想オブジェクトが通過する領域を判定領域に設定してもよい。
In step S37, the
ステップS38において、領域特定部233は、仮想カメラ1の位置または基準視線5の方向(仮想カメラ1の向き)に基づいて、ステップS36で特定した基準ベクトルを調整する。仮想カメラ1の位置に基づく基準ベクトルの調整については図12に基づいて後述する。基準視線5の方向に基づく基準ベクトルの調整については図13および図14に基づいて後述する。
In step S38, the
ステップS39において、領域特定部233は、前記調整した基準ベクトルを基準として判定領域を再度設定し、これにより判定領域が仮想カメラ1の位置または基準視線5の方向に応じた適切な範囲に調整される。詳細は図11に基づいて後述するが、前記調整後の判定領域に基づいて、仮想オブジェクトと仮想手との接触判定が行われる。
In step S39, the
なお、仮想カメラ1の位置または基準視線5の方向が変化した場合、ステップS38およびステップS39の処理は再度行われる。つまり、HMDセンサ120から新たに受信した検出値に基づき、前述のステップS28〜ステップS32の処理が行われ、仮想カメラ1の位置および/または基準視線5の方向が変化した場合、変化後の仮想カメラ1の位置および/または基準視線5の方向に基づいてステップS38およびステップS39の処理が行われる。これにより、選択画面の表示中にHMD110を装着したユーザが、現実空間で移動したり、頭を傾けたりした場合にも、仮想手により仮想オブジェクトに容易に触れることができる状態を維持することができる。
Note that if the position of the
(判定領域を設定した後の処理)
領域特定部233が判定領域を設定した後の処理を図11に基づいて説明する。ステップS60において、コントローラセンサ140は、右コントローラ320の位置および傾き、ならびに、左コントローラ330の位置および傾きをそれぞれ検出する。ステップS61において、コントローラセンサ140は、各検出値を制御回路部200に送信する。コントローラ検出部213は、これらの検出値を受信する。
(Process after setting the judgment area)
Processing after the
ステップS62において、仮想手制御部232は、受信した各検出値を用いて、ユーザの各仮想手(仮想右手および仮想左手)の仮想空間2における位置および傾きを更新する。具体的には、仮想空間2における仮想右手の位置を、グローバル座標系における右コントローラ320の現在位置に更新する。また、仮想手制御部232は、右コントローラ320の傾きの検出値に基づき、仮想空間2内における仮想右手の傾きを更新する。同様に、仮想手制御部232は、左コントローラ330の各検出値に基づき、仮想空間2における仮想左手の位置および傾きを更新する。ステップS63において、視界画像生成部223は、仮想手の位置および傾きが更新された視界画像26を生成してHMD110に出力する。そして、ステップS64において、HMD110は、受信した視界画像26をディスプレイ112に表示し、これによりユーザが視認する視界画像26が更新される。
In step S62, the virtual
ステップS65において、接触判定部234は、仮想手が仮想オブジェクトに接触したか判定する。具体的には、接触判定部234は、図10のステップS39で調整した判定領域と、仮想空間2において仮想手が占める領域とに重畳部分があるか否かを判定する。接触判定部234が、重畳部分がないと判定した場合(ステップS65においてNO)、処理は図示のフローの冒頭に戻る。一方、接触判定部234が、重畳部分があると判定した場合(ステップS65においてYES)、接触判定部234は、コントローラ300が検出して(ステップS66)、制御回路部200に送信した(ステップS67)、各ボタンの押下状態を示す各検出値に基づき、掴む操作が検出されたか否かを判定する(ステップS68)。どのような操作を掴む操作とするかは特に限定されないが、たとえば仮想手の親指と、人差し指および中指とが接触するまで各指に対応するボタンを押下する操作を掴む操作としてもよい。
In step S65, the
接触判定部234は、掴む操作は行われていないと判定した場合(ステップS68においてNO)、処理は図示のフローの冒頭に戻る。一方、掴む操作が行われたと判定した場合(ステップS68においてYES)、接触判定部234は、仮想オブジェクトが掴まれたと判定する(ステップS69)。接触判定部234は、が、仮想オブジェクトが掴まれたと判定した後の処理は、ゲーム内容に応じたものとすればよい。たとえば、接触判定部234は、掴まれた仮想オブジェクトと、掴んだ仮想手とを関連付けて、仮想手が移動したときには仮想オブジェクトも仮想手と連動して移動させてもよい。この関連付けは、たとえば、仮想手によって仮想オブジェクトを掴んでいる状態が解除された(掴んでいる指を伸ばす操作が行われた)ときに解除してもよい。
If the
(仮想カメラ1の位置に基づく基準ベクトルの調整)
図12には、仮想空間2のY軸方向から見た、仮想カメラ1とユーザの選択対象となる仮想オブジェクトOA〜ODと基準位置27を図示している。同図の(a)において、各仮想オブジェクトOA〜ODの表面(仮想カメラ1側を向いている面)の中心付近を始点とする実線の矢印Va〜Vdは、各仮想オブジェクトOA〜ODの基準ベクトルを示している。なお、基準ベクトルVa〜Vdの始点は、仮想オブジェクトOA〜ODの表面であってもよいし、内部であってもよい。
(Adjustment of the reference vector based on the position of the virtual camera 1)
FIG. 12 shows the
図10のステップS38において、仮想カメラ1の位置に基づいて基準ベクトルを調整する場合、領域特定部233は、仮想空間2における任意の位置(例えば、仮想オブジェクトOA〜ODの近傍)に基準位置27を設定する。基準位置27は、基準視線5の方向の変位量や、仮想カメラ1の位置の変位量に応じた基準視線の方向の変位量を特定するために設定される。図12の例では、X軸方向に一列に並んだ4つの仮想オブジェクトOA〜ODのうち仮想オブジェクトOBとOCの間で、仮想オブジェクトOA〜ODの仮想カメラ1側を向いた面よりも仮想カメラ1寄りの位置に基準位置27を設定している。基準位置27は、仮想オブジェクトOA〜ODの位置に基づいて特定された位置であればよく、仮想オブジェクトOA〜ODの内部領域に設定してもよいし、仮想オブジェクトOA〜ODの外部領域に設定してもよい。
When adjusting the reference vector based on the position of the
この例のように、複数の仮想オブジェクトに対して1つの基準位置27を設定することにより、複数の仮想オブジェクトの基準ベクトルを一括して調整することができ、演算処理の負荷を低く抑えることができる。なお、演算処理の負荷が大きくなることを許容できるのであれば、各仮想オブジェクトのそれぞれに基準位置27を設定してもよい。
As in this example, by setting one
基準位置27を設定した後、領域特定部233は、仮想カメラ1の位置P1から基準位置27に向かう方向Dを特定する。なお、方向Dは、仮想オブジェクトOA〜ODを選択するときのユーザの視線方向と概ね一致する。そして、領域特定部233は、方向Dと平行となり、かつ方向Dと逆向きとなるように基準ベクトルVa〜Vdを調整する。図12の(a)のように、方向DがZ軸と平行であり、かつZ軸の正の方向を向いている場合、領域特定部233は、基準ベクトルVa〜VdをZ軸と平行に、かつZ軸の負の方向を向くように調整する。一方、図12の(b)の例では、仮想カメラ1の位置がP2に移動しており、これにより、方向DがY軸回りにθ回転している。よって、領域特定部233は、基準ベクトルVa〜Vdを回転させて調整する。この調整における回転角度はθ、回転方向はY軸回り反時計方向であり、回転において基準ベクトルVa〜Vdの始点は変化させない。
After setting the
なお、前述の例では、説明を簡単にするため、方向DのY軸方向成分は考慮せずに基準ベクトルを調整する例を示したが、Y軸方向成分も考慮して基準ベクトルを調整してもよい。この場合、領域特定部233は、Y軸方向において、仮想カメラ1よりも高い位置の仮想オブジェクトの基準ベクトルを仮想カメラ1に向かうように(斜め下方に向くように)調整する。同様に、領域特定部233は、仮想カメラ1よりも低い位置の仮想オブジェクトの基準ベクトルを仮想カメラ1に向かうように(斜め上方に向くように)調整する。判定領域は、基準ベクトルを基準として特定されるから、前記調整により、ユーザは高い位置の仮想オブジェクトと低い位置の仮想オブジェクトのいずれも、仮想オブジェクトに向けて手を伸ばすという直感的な操作で容易に選択できるようになる。
In the above example, for the sake of simplicity, the example in which the reference vector is adjusted without considering the Y-axis direction component of the direction D is shown. However, the reference vector is adjusted in consideration of the Y-axis direction component. May be. In this case, the
(基準視線5の方向に基づく基準ベクトルの調整)
図13には、図12と同様に、仮想空間2のY軸方向から見た、仮想カメラ1、仮想オブジェクトOA〜OD、および基準ベクトルVa〜Vdを示している。また、仮想カメラ1のロール方向(図3のw軸方向であり、基準視線5の方向でもある)は、wで示している。
(Adjustment of the reference vector based on the direction of the reference line of sight 5)
FIG. 13 shows the
図10のステップS38において、基準視線5の方向に基づいて基準ベクトルを調整する場合、領域特定部233は、仮想カメラ1のロール方向wを特定する。そして、領域特定部233は、基準ベクトルVa〜Vdを、前記特定したロール方向wと平行となり、かつロール方向wと逆向きとなるように回転させて調整する。
In step S <b> 38 of FIG. 10, when adjusting the reference vector based on the direction of the reference line of
図13の(a)の例のように、ロール方向wがZ軸と平行であり、かつZ軸の正の方向を向いている場合、基準ベクトルVa〜VdはZ軸と平行であり、かつZ軸の負の方向を向くように調整する。一方、図13の(b)の例では、ロール方向wが図13の(a)の例と比べて、Y軸回り反時計方向に角度θだけ回転している。よって、領域特定部233は、基準ベクトルVa〜Vdをロール方向wと平行かつ逆向きとなるように回転させて調整する。この調整における回転角度はθ、回転方向はY軸回り反時計方向であり、回転において基準ベクトルVa〜Vdの始点は変化させない。
When the roll direction w is parallel to the Z axis and faces the positive direction of the Z axis as in the example of FIG. 13A, the reference vectors Va to Vd are parallel to the Z axis, and Adjust so that it faces the negative direction of the Z-axis. On the other hand, in the example of FIG. 13B, the roll direction w is rotated counterclockwise about the Y axis by an angle θ as compared with the example of FIG. Therefore, the
図14の例では、X軸方向から見た、仮想カメラ1、仮想オブジェクトOE、OF、および各仮想オブジェクトOE、OFの基準ベクトルVe、Vfを示している。前述の基準ベクトルVa〜Vdと同様に、基準ベクトルVe、Vfも、ロール方向wと平行かつ逆向きとなるように調整される。
In the example of FIG. 14, the
図14の(a)の例では、ロール方向wがZ軸と平行であり、かつZ軸の正の向きであるから、領域特定部233は、Z軸と平行であり、かつZ軸の負の向きとなるように基準ベクトルVe、Vfを調整する。
In the example of FIG. 14A, since the roll direction w is parallel to the Z axis and the positive direction of the Z axis, the
一方、図14の(b)の例では、ロール方向wが図14の(a)の例と比べて、X軸周り反時計方向に角度θ回転している(仮想カメラ1の仰角がθとなっている)。よって、領域特定部233は、基準ベクトルVe、Vfをロール方向wと平行かつ逆向きとなるように回転させて調整する。この調整における回転角度はθ、回転方向はX軸回り反時計方向であり、回転において基準ベクトルVe、Vfの始点は変化させない。
On the other hand, in the example of FIG. 14B, the roll direction w is rotated counterclockwise around the X axis by an angle θ compared to the example of FIG. 14A (the elevation angle of the
これにより、仮想カメラ1に対してロール方向wに位置する(仮想カメラ1の正面に位置する)仮想オブジェクトOEの基準ベクトルVeは、仮想オブジェクトOEから仮想カメラ1に向かうベクトルとなる。一方、仮想カメラ1に対してロール方向wからずれた位置にある仮想オブジェクトOFの基準ベクトルVfは、仮想オブジェクトOFから仮想カメラ1よりも下方に向かう(仮想カメラ1から遠ざかる向きの)ベクトルとなる。
Thereby, the reference vector Ve of the virtual object OE located in the roll direction w with respect to the virtual camera 1 (located in front of the virtual camera 1) is a vector directed from the virtual object OE to the
なお、図14(b)の例とは逆に、XZ平面において、ロール方向wがX軸周り時計方向に回転している場合(仮想カメラ1の正面が水平よりも下方を向いている場合)には、基準ベクトルVeは、仮想カメラ1よりも上方に向かう(仮想カメラ1から遠ざかる向きの)ベクトルとなる。一方、基準ベクトルVfは、仮想カメラ1に向かうベクトルとなる。
In contrast to the example of FIG. 14B, in the XZ plane, when the roll direction w is rotating clockwise around the X axis (when the front of the
以上のように、領域特定部233は、仮想カメラ1の正面方向、すなわちHMD110を装着したユーザの頭部の正面方向に位置する仮想オブジェクトには、その仮想オブジェクトから仮想カメラ1に向けて判定領域を設定する。よって、ユーザは、仮想オブジェクトに向けて真っ直ぐ手を伸ばすという直感的な操作で、その仮想オブジェクトに触れることができる。一方、前記方向から外れている仮想オブジェクトの判定領域は、仮想カメラ1から遠ざかる向きに判定領域が設定されるから、ユーザは、このような仮想オブジェクトには触れにくくなる。よって、ユーザの触れたい仮想オブジェクトに触れやすくすることができると共に、ユーザが触れる意図のない仮想オブジェクトには触れにくくすることができる。
As described above, the
(判定領域の設定例)
図15には、カード型の仮想オブジェクトOG〜OJのそれぞれに判定領域JG〜JJを設定した例を示している。同図の(a)と(b)は、設定されている判定領域JG〜JJは同じであり、視点を変えて図示したものである。同図の(b)に示すように、仮想オブジェクトOG〜OJは、曲線上に配置されている。より詳細には、仮想オブジェクトOG〜OJは、仮想カメラ1を中心とした円弧あるいは球面上にその重心位置が並ぶように、かつ各仮想オブジェクトOG〜OJの正面が仮想カメラ1を向くように配置されている。このような配置とすることにより、ユーザは各仮想オブジェクトOG〜OJに表示された情報を読み取りやすく、また各仮想オブジェクトOG〜OJを仮想手で選択する操作を行いやすい。仮想オブジェクトOG〜OJのうち、仮想オブジェクトOIについては、外縁に枠線FRが付されている。枠線FRは、たとえば仮想手が判定領域JIに入ったときや、判定領域JIに入った仮想手により仮想オブジェクトOIを掴む操作が行われたときに表示させてもよい。仮想オブジェクトOG、OH、OJについても同様である。
(Judgment area setting example)
FIG. 15 shows an example in which determination areas JG to JJ are set for the card-type virtual objects OG to OJ, respectively. (A) and (b) in the figure are the same in the set determination areas JG to JJ, and are illustrated with different viewpoints. As shown in FIG. 5B, the virtual objects OG to OJ are arranged on a curve. More specifically, the virtual objects OG to OJ are arranged so that the positions of the centers of gravity are arranged on an arc or a spherical surface centered on the
判定領域JG〜JJは、基準視線5の方向に基づいた調整(図13および図14参照)後の基準ベクトルを基準として特定された領域である。なお、判定領域やその外縁は、画像として表示する必要はないが、本例では説明のため、判定領域JG〜JJの外枠を図示している。また、同図では視界領域23を破線で示している。
The determination areas JG to JJ are areas specified with reference to a reference vector after adjustment based on the direction of the reference line of sight 5 (see FIGS. 13 and 14). Although the determination area and its outer edge do not need to be displayed as an image, in this example, the outer frame of the determination areas JG to JJ is illustrated for the sake of explanation. Further, in the same figure, the
判定領域JG〜JJは、いずれも六面体状の領域であり、仮想オブジェクトOG〜OJから仮想カメラ1に向かって延在している。領域特定部233は、仮想カメラ1のロール方向wと平行かつ逆向きとなるように仮想オブジェクトOGの基準ベクトルを調整する。次に、該調整後の基準ベクトルに沿って、仮想オブジェクトOGの仮想カメラ1に向いた面を、調整後の基準ベクトルの終点まで平行移動させて、判定領域JGを規定する6面のうち、最も仮想カメラ1寄りの面を特定する。そして、前記特定した面と仮想オブジェクトOGの仮想カメラ1に向いた面とを対向する2面とした六面体の領域を判定領域JGと特定する。仮想オブジェクトOH〜OJについても同様にして判定領域JH〜JJを特定することができる。
The determination areas JG to JJ are all hexahedral areas, and extend from the virtual objects OG to OJ toward the
仮想カメラ1のロール方向wは、HMD110のロール方向、すなわちHMD110を装着しているユーザの顔の正面方向と等しい。よって、図示の例では、ユーザは、自身の正面に表示されている仮想オブジェクトOG〜OJのうち所望の仮想オブジェクトに向けて、右コントローラ320または左コントローラ330を持った手を真直ぐに伸ばせば、その仮想オブジェクトに仮想手で触れる(正確には接触判定部234に仮想手と仮想オブジェクトが接触したと判定させる)ことができる。
The roll direction w of the
なお、図示の例では、判定領域JG、JJの一部は、視界領域23外に出ているが、視界領域23の内部のみを対象として判定領域を設定してもよい。また、判定領域は視界領域23の内外を考慮せずに特定し、接触判定(図11のステップS65)の際に、視界領域23外の部分については接触したと判定しないようにしてもよい。これにより、ユーザの視界に入っていない位置で仮想オブジェクトへの接触があったと判定されることを防ぐことができる。ただし、これらの例では、視界領域23をモニタリングする等の処理が必要になり、処理負荷が大きくなるので、処理負荷を低く抑えるという観点からは、視界領域23を考慮せずに判定領域の特定および接触判定を行うことが好ましい。
In the illustrated example, some of the determination areas JG and JJ are outside the
図16の(a)には、仮想カメラ1のロール方向がXZ平面に対してX軸周り半時計方向に回転している場合、すなわち仮想カメラ1が仮想空間2中において斜め上方に向いている場合の判定領域JH〜JJの例を示している。この場合、図14の(b)に示したように、仮想オブジェクトOG〜OJの基準ベクトルをX軸周り時計方向に回転させて調整する。これにより、調整後の基準ベクトルを基準として特定される判定領域JH〜JJは、図16の(a)に示すように、斜め下方に向けて延在する領域となる。
In FIG. 16A, when the roll direction of the
図16の(b)には、仮想カメラ1のロール方向がXZ平面に対してX軸周り時計方向に回転している場合、すなわち仮想カメラ1が仮想空間2中において斜め下方に向いている場合の判定領域JH〜JJの例を示している。この場合、仮想オブジェクトOG〜OJの基準ベクトルをX軸周り反時計方向に回転させて調整するから、調整後の基準ベクトルを基準として特定される判定領域JH〜JJは、図16の(b)に示すように、斜め上方に向けて延在する領域となる。
FIG. 16B shows a case where the roll direction of the
〔変形例〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態も、本発明の技術的範囲に含まれる。各実施形態にそれぞれ開示された技術的手段を組み合わせることによって、新しい技術的特徴を形成することもできる。
[Modification]
The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the claims. Embodiments obtained by appropriately combining technical means disclosed in different embodiments are also included in the technical scope of the present invention. A new technical feature can also be formed by combining the technical means disclosed in each embodiment.
判定領域の形状および範囲は、ユーザが所望の仮想オブジェクトに容易に触れることができるようなものとすればよく、前述した各例に限定されない。たとえば、判定領域は、仮想オブジェクトの内部領域の全部または一部を含む領域としてもよい。また、前述の各例では、判定領域の全体の延在方向を調整している。しかし、判定領域の一部(例えばカードである仮想オブジェクトの上方に延在する領域)は調整の対象外とし、他の一部(例えばカードである仮想オブジェクトの正面から延在する領域)のみ延在方向を調整してもよい。 The shape and range of the determination area are not limited to the above-described examples as long as the user can easily touch the desired virtual object. For example, the determination area may be an area including all or part of the internal area of the virtual object. Further, in each of the above-described examples, the overall extending direction of the determination region is adjusted. However, a part of the determination area (for example, an area extending above the virtual object that is the card) is excluded from the adjustment, and only another part (for example, an area extending from the front of the virtual object that is the card) is extended. The current direction may be adjusted.
ユーザが操作する仮想オブジェクトは、ユーザの頭部以外の身体の一部の動きに連動して仮想空間2内を移動するものであればよく、仮想手に限られない。たとえば、仮想空間2内の敵キャラクタ(仮想オブジェクト)と、武器を使って戦うゲームであれば、武器がユーザの操作する仮想オブジェクトとなる。
The virtual object operated by the user is not limited to a virtual hand as long as it moves in the
どのような仮想オブジェクトの判定領域を設定するかも特に限定されず、仮想空間2中の全ての仮想オブジェクトの判定領域を設定してもよいし、一部の仮想オブジェクトの判定領域を設定してもよい。また、仮想オブジェクトの形状も特に限定されない。なお、仮想空間2に占める体積が大きい仮想オブジェクトは、判定領域を設定するまでもなくユーザが容易に選択できるので、体積が閾値以下の仮想オブジェクト、あるいは厚さが閾値以下の仮想オブジェクトについてのみ判定領域を設定してもよい。
There are no particular limitations on what virtual object determination areas are set, and all virtual object determination areas in the
また、仮想オブジェクトとの接触による操作をMR等に適用することによって仮想体験を提供する場合には、操作対象オブジェクトに換えてユーザの実際の頭部以外の身体の一部を物理的・光学的手法等によって検知し、当該身体の一部と仮想オブジェクトの位置関係に基づいて、当該身体の一部と仮想オブジェクトとの接触を判定してもよい。なお、透過型HMDを用いて仮想体験を提供する場合には、ユーザの基準視線は、非透過型HMDと同様に、HMDの動き、または、ユーザの視線を検知することによって特定してもよい。特定した基準視線に基づく判定領域の設定方法は上記実施形態で説明した通りである。 In addition, when a virtual experience is provided by applying an operation by contact with a virtual object to MR or the like, a part of the body other than the actual head of the user is physically and optically replaced with the operation target object. The contact between the body part and the virtual object may be determined based on the positional relationship between the body part and the virtual object. When providing a virtual experience using a transmissive HMD, the user's reference line of sight may be specified by detecting the movement of the HMD or the user's line of sight, similar to the non-transmissive HMD. . The determination region setting method based on the identified reference line of sight is as described in the above embodiment.
〔ソフトウェアによる実現例〕
制御回路部200の制御ブロック(検出部210、表示制御部220、仮想空間制御部230、記憶部240、および通信部250)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPUを用いてソフトウェアによって実現してもよい。
[Example of software implementation]
A control block (
後者の場合、制御ブロックは、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、前記プログラムおよび各種データがコンピュータ(又はCPU)で読み取り可能に記録されたROMまたは記憶装置(これらを「記録媒体」と称する)、前記プログラムを展開するRAM等を備えている。そして、コンピュータ(又はCPU)が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、たとえば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 In the latter case, the control block includes a CPU that executes instructions of a program that is software that implements each function, a ROM or a storage device in which the program and various data are recorded so as to be readable by a computer (or CPU) And a RAM for developing the program. And the objective of this invention is achieved when a computer (or CPU) reads the said program from the said recording medium and runs it. As the recording medium, a “non-temporary tangible medium” such as a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like can be used. The program may be supplied to the computer via an arbitrary transmission medium (such as a communication network or a broadcast wave) that can transmit the program. The present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.
〔付記事項〕
本発明の一側面にかかる内容を列記すると以下の通りである。
[Additional Notes]
The contents according to one aspect of the present invention are listed as follows.
(項目1)頭部にヘッドマウントディスプレイを装着したユーザに仮想空間を提供する方法であって、前記仮想空間に配置された複数の仮想オブジェクトを特定するとともに、前記ユーザの頭部以外の身体の一部の動きに連動して動作する操作対象オブジェクトを前記仮想空間に配置するステップと、前記ユーザの前記仮想空間における基準視線を特定するステップと、前記仮想空間に配置され、前記基準視線に基づいて前記ユーザに視認させる視界領域を規定する仮想カメラを特定するステップと、前記複数の仮想オブジェクトのうち少なくとも一つに、前記仮想空間における前記仮想カメラの位置または前記基準視線の方向に基づく延在方向に延在する部分を少なくとも含む、前記操作対象オブジェクトとの接触を判定するための領域を設定するステップと、前記領域と前記操作対象オブジェクトとの位置関係に基づいて、前記領域が設定される前記仮想オブジェクトと前記操作対象オブジェクトとの接触を判定するステップと、を含む方法。仮想カメラの位置または基準視線の方向に基づく延在方向に延在する部分を少なくとも含む領域を設定し、該領域と操作対象オブジェクトとの位置関係に基づいて接触を判定するので、ユーザが、直感的な操作によって、所望の仮想オブジェクトと接触することが可能になる。 (Item 1) A method of providing a virtual space to a user wearing a head-mounted display on a head, wherein a plurality of virtual objects arranged in the virtual space are specified and a body other than the user's head is identified. An operation target object that operates in conjunction with a part of the movement is disposed in the virtual space, a step of specifying a reference line of sight in the virtual space of the user, and a position that is disposed in the virtual space and is based on the reference line of sight Identifying a virtual camera that defines a visual field area to be visually recognized by the user, and extending at least one of the plurality of virtual objects based on the position of the virtual camera in the virtual space or the direction of the reference line of sight An area for determining contact with the operation target object, including at least a portion extending in the direction; Method comprising the steps of constant, based on the positional relationship between the operation target object and the region, and, determining a contact between the operation target object and the virtual object wherein the area is set. An area including at least a portion extending in the extending direction based on the position of the virtual camera or the direction of the reference line of sight is set, and contact is determined based on the positional relationship between the area and the operation target object. It is possible to make contact with a desired virtual object through a typical operation.
(項目2)前記部分は、前記領域が設定される前記仮想オブジェクトから、前記基準視線の方向とは逆向きの前記延在方向に延在する、項目1に記載の方法。仮想カメラに対して基準視線の方向に位置する仮想オブジェクト(ユーザが注意を向けた仮想オブジェクト)を選択し易くし、仮想カメラに対して基準視線の方向から外れた位置の仮想オブジェクト(ユーザの注意が向いていない仮想オブジェクト)を選択し難くすることができる。
(Item 2) The method according to
(項目3)前記延在方向を規定する基準ベクトルを特定するステップをさらに含み、前記設定するステップにおいて、前記仮想カメラの位置または前記基準視線の方向に基づいて前記基準ベクトルを回転させ、回転後の基準ベクトルを基準として前記領域を設定する、項目1または2に記載の方法。基準ベクトルを用いた演算によって、仮想空間においてユーザが、操作対象オブジェクトを直感的に操作して、所望の仮想オブジェクトに接触させることを可能にすることができる。
(Item 3) The method further includes the step of specifying a reference vector that defines the extending direction, and in the setting step, the reference vector is rotated based on the position of the virtual camera or the direction of the reference line of sight, and after the
(項目4)前記設定するステップにおいて、前記基準視線の方向と平行かつ逆向きとなるように前記基準ベクトルを回転させる、項目3に記載の方法。基準ベクトルを用いた演算によって、仮想カメラに対して基準視線の方向に位置する仮想オブジェクトを選択し易くし、仮想カメラに対して基準視線の方向から外れた位置の仮想オブジェクトを選択し難くすることができる。
(Item 4) The method according to
(項目5)前記設定するステップにおいて、前記仮想カメラの位置から、前記領域が設定される前記仮想オブジェクトの位置、または該仮想オブジェクトの位置に基づいて特定した位置に向かう方向と平行かつ逆向きとなるように前記基準ベクトルを回転させる、項目3に記載の方法。ユーザが、仮想オブジェクトとの距離感を把握することができずに、仮想オブジェクトの手前側(仮想オブジェクトよりも仮想カメラ側)に操作対象オブジェクトを移動させた場合であっても、仮想オブジェクトに触れようとしたユーザの意図を汲んで、操作対象オブジェクトと仮想オブジェクトとが接触したと判定することができる。
(Item 5) In the setting step, a direction parallel to and opposite to a direction from the position of the virtual camera toward the position of the virtual object where the region is set or a position specified based on the position of the virtual object. The method according to
(項目6)前記仮想カメラの位置または前記基準視線の方向が変化した場合に、変化後の前記仮想カメラの位置または変化後の前記基準視線の方向に基づく前記延在方向に、前記部分を延在させるステップをさらに含む、項目1〜5のいずれか1つの方法。仮想カメラの位置または基準視線の方向が変化した場合にも、ユーザが、直感的な操作によって、所望の仮想オブジェクトと接触することが可能な状態を維持することができる。 (Item 6) When the position of the virtual camera or the direction of the reference line of sight changes, the portion is extended in the extending direction based on the position of the virtual camera after the change or the direction of the reference line of sight after the change. The method of any one of items 1-5, further comprising the step of: Even when the position of the virtual camera or the direction of the reference line of sight changes, it is possible to maintain a state in which the user can contact a desired virtual object through an intuitive operation.
(項目7)頭部にヘッドマウントディスプレイを装着したユーザに仮想体験を提供する方法であって、複数の仮想オブジェクトを特定するステップと、前記ユーザの頭部以外の身体の一部の位置を特定するステップと、前記ユーザの基準視線を特定するステップと、複数の前記仮想オブジェクトのうち少なくとも一つに、前記基準視線の方向に基づく延在方向に延在する部分を少なくとも含む領域を設定するステップと、前記領域と前記身体の一部の位置との位置関係に基づいて、前記領域が設定される前記仮想オブジェクトと前記身体の一部との接触を判定するステップと、を含む方法。基準視線の方向に基づく延在方向に延在する部分を少なくとも含む領域を設定し、該領域とユーザの身体の一部の位置との位置関係に基づいて接触を判定するので、ユーザは、所望の仮想オブジェクトに直感的に接触することが可能になる。 (Item 7) A method for providing a virtual experience to a user wearing a head-mounted display on the head, the step of identifying a plurality of virtual objects, and the position of a part of the body other than the user's head A step of identifying a reference line of sight of the user, and a step of setting at least one of the plurality of virtual objects at least a portion extending in an extending direction based on a direction of the reference line of sight And determining a contact between the virtual object in which the region is set and the body part based on a positional relationship between the region and the position of the body part. An area including at least a portion extending in the extending direction based on the direction of the reference line of sight is set, and contact is determined based on the positional relationship between the area and the position of a part of the user's body. It becomes possible to touch the virtual object intuitively.
(項目8)前記部分は、前記領域が設定される前記仮想オブジェクトから、前記基準視線の方向とは逆向きの前記延在方向に延在する、項目7に記載の方法。基準視線の方向に位置する仮想オブジェクト(ユーザが注意を向けた仮想オブジェクト)を選択し易くし、基準視線の方向から外れた位置の仮想オブジェクト(ユーザの注意が向いていない仮想オブジェクト)を選択し難くすることができる。 (Item 8) The method according to item 7, wherein the portion extends from the virtual object in which the region is set in the extending direction opposite to the direction of the reference line of sight. Makes it easy to select a virtual object located in the direction of the reference line of sight (virtual object to which the user has directed attention), and selects a virtual object at a position outside the direction of the reference line of sight (virtual object to which the user does not pay attention) Can be difficult.
(項目9)前記延在方向を規定する基準ベクトルを特定するステップをさらに含み、前記設定するステップにおいて、前記基準視線の方向に基づいて前記基準ベクトルを回転させ、回転後の基準ベクトルを基準として前記領域を設定する、項目7または8に記載の方法。基準ベクトルを用いた演算によって、ユーザが所望の仮想オブジェクトに直感的に接触することを可能にすることができる。
(Item 9) The method further includes a step of specifying a reference vector that defines the extending direction, and in the setting step, the reference vector is rotated based on the direction of the reference line of sight, and the rotated reference vector is used as a reference.
(項目10)前記設定するステップにおいて、前記基準視線の方向と平行かつ逆向きとなるように前記基準ベクトルを回転させる、項目9に記載の方法。基準ベクトルを用いた演算によって、基準視線の方向に位置する仮想オブジェクトを選択し易くし、基準視線の方向から外れた位置の仮想オブジェクトを選択し難くすることができる。
(Item 10) The method according to
(項目11)前記基準視線の方向が変化した場合に、変化後の前記基準視線の方向に基づく前記延在方向に、前記部分を延在させるステップをさらに含む、項目7〜10のいずれか1項に記載の仮想体験を提供する方法。基準視線の方向が変化した場合にも、ユーザが、所望の仮想オブジェクトに接触することが可能な状態を維持することができる。 (Item 11) Any one of Items 7 to 10, further comprising a step of extending the portion in the extending direction based on the changed direction of the reference line of sight when the direction of the reference line of sight changes. A method for providing the virtual experience described in the section. Even when the direction of the reference line of sight changes, it is possible to maintain a state in which the user can contact a desired virtual object.
(項目12)項目1〜11のいずれか1つの方法の各ステップを、コンピュータに実行させるプログラム。
(Item 12) A program that causes a computer to execute each step of any one of
(項目13)項目12のプログラムを記録したコンピュータ読み取り可能な記録媒体。 (Item 13) A computer-readable recording medium on which the program of item 12 is recorded.
1 仮想カメラ、2 仮想空間、5 基準視線、21 中心、22 仮想空間画像、23 視界領域、26 視界画像、27 基準位置、100 HMDシステム、110 HMD、112 ディスプレイ、114、306 センサ、120 HMDセンサ、130 注視センサ、140 コントローラセンサ、200 制御回路部、210 検出部、211 HMD検出部、212 視線検出部、213 コントローラ検出部、220 表示制御部、221 仮想カメラ制御部、222 視界領域決定部、223 視界画像生成部、230 仮想空間制御部、231 仮想空間規定部、232 仮想手制御部、233 領域特定部、234 接触判定部、240 記憶部、241 雛形格納部、242 コンテンツ格納部、250 通信部、300 コントローラ、302 操作ボタン、302a〜302d 親指ボタン、302e、302g 人差し指ボタン、302f、302h 中指ボタン、302i、302j アナログスティック、320 右コントローラ、322、332 天面、324、334 グリップ、326 フレーム、330 左コントローラ
1 virtual camera, 2 virtual space, 5 reference line of sight, 21 center, 22 virtual space image, 23 field of view area, 26 field of view image, 27 reference position, 100 HMD system, 110 HMD, 112 display, 114, 306 sensor, 120 HMD sensor , 130 gaze sensor, 140 controller sensor, 200 control circuit unit, 210 detection unit, 211 HMD detection unit, 212 gaze detection unit, 213 controller detection unit, 220 display control unit, 221 virtual camera control unit, 222 visual field region determination unit, 223 Visibility image generation unit, 230 Virtual space control unit, 231 Virtual space definition unit, 232 Virtual hand control unit, 233 Area specification unit, 234 Contact determination unit, 240 Storage unit, 241 Model storage unit, 242 Content storage unit, 250 Communication Part, 300
Claims (13)
前記仮想空間に配置された複数の仮想オブジェクトを特定するとともに、前記ユーザの頭部以外の身体の一部の動きに連動して動作する操作対象オブジェクトを前記仮想空間に配置するステップと、
前記ユーザの前記仮想空間における基準視線を特定するステップと、
前記仮想空間に配置され、前記基準視線に基づいて前記ユーザに視認させる視界領域を規定する仮想カメラを特定するステップと、
前記複数の仮想オブジェクトのうち少なくとも一つに、前記仮想空間における前記仮想カメラの位置または前記基準視線の方向に基づく延在方向に延在する部分を少なくとも含む、前記操作対象オブジェクトとの接触を判定するための領域を設定するステップと、
前記領域と前記操作対象オブジェクトとの位置関係に基づいて、前記領域が設定される前記仮想オブジェクトと前記操作対象オブジェクトとの接触を判定するステップと、を含む方法。 A method for providing a virtual space to a user wearing a head-mounted display on a head,
Identifying a plurality of virtual objects arranged in the virtual space, and arranging an operation target object that operates in conjunction with a movement of a part of the body other than the user's head in the virtual space;
Identifying a reference line of sight in the virtual space of the user;
Identifying a virtual camera that is disposed in the virtual space and that defines a field of view to be viewed by the user based on the reference line of sight;
Determination of contact with the operation target object, wherein at least one of the plurality of virtual objects includes at least a portion extending in an extending direction based on a position of the virtual camera or a direction of the reference line of sight in the virtual space. Setting an area to do,
Determining a contact between the virtual object in which the region is set and the operation target object based on a positional relationship between the region and the operation target object.
前記設定するステップにおいて、前記仮想カメラの位置または前記基準視線の方向に基づいて前記基準ベクトルを回転させ、回転後の基準ベクトルを基準として前記領域を設定する、請求項1または2に記載の方法。 Further comprising identifying a reference vector defining the extending direction;
The method according to claim 1, wherein in the setting step, the reference vector is rotated based on a position of the virtual camera or a direction of the reference line of sight, and the region is set based on the rotated reference vector. .
複数の仮想オブジェクトを特定するステップと、
前記ユーザの頭部以外の身体の一部の位置を特定するステップと、
前記ユーザの基準視線を特定するステップと、
複数の前記仮想オブジェクトのうち少なくとも一つに、前記基準視線の方向に基づく延在方向に延在する部分を少なくとも含む領域を設定するステップと、
前記領域と前記身体の一部の位置との位置関係に基づいて、前記領域が設定される前記仮想オブジェクトと前記身体の一部との接触を判定するステップと、を含む方法。 A method for providing a virtual experience to a user wearing a head-mounted display on the head,
Identifying a plurality of virtual objects;
Identifying a position of a body part other than the user's head;
Identifying a reference line of sight of the user;
Setting an area including at least a portion extending in an extending direction based on the direction of the reference line of sight on at least one of the plurality of virtual objects;
Determining contact between the virtual object in which the region is set and the body part based on a positional relationship between the region and the position of the body part.
前記設定するステップにおいて、前記基準視線の方向に基づいて前記基準ベクトルを回転させ、回転後の基準ベクトルを基準として前記領域を設定する、請求項7または8に記載の方法。 Further comprising identifying a reference vector defining the extending direction;
The method according to claim 7 or 8, wherein, in the setting step, the reference vector is rotated based on a direction of the reference line of sight, and the region is set on the basis of the rotated reference vector.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016142759A JP6189495B1 (en) | 2016-07-20 | 2016-07-20 | Method for providing virtual space, method for providing virtual experience, program, and recording medium |
US15/654,652 US10198855B2 (en) | 2016-07-20 | 2017-07-19 | Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods |
CN202110157743.XA CN112783328B (en) | 2016-07-20 | 2017-07-20 | Method for providing virtual space, method for providing virtual experience, program, and recording medium |
PCT/JP2017/026185 WO2018016553A1 (en) | 2016-07-20 | 2017-07-20 | Method for providing virtual space, method for providing virtual experience, program, and recording medium |
CN201780038446.5A CN109313511B (en) | 2016-07-20 | 2017-07-20 | Method for providing virtual space, method for providing virtual experience, program, and recording medium |
US16/223,012 US10776991B2 (en) | 2016-07-20 | 2018-12-17 | Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016142759A JP6189495B1 (en) | 2016-07-20 | 2016-07-20 | Method for providing virtual space, method for providing virtual experience, program, and recording medium |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017148812A Division JP6728111B2 (en) | 2017-08-01 | 2017-08-01 | Method of providing virtual space, method of providing virtual experience, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6189495B1 true JP6189495B1 (en) | 2017-08-30 |
JP2018013936A JP2018013936A (en) | 2018-01-25 |
Family
ID=59720486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016142759A Active JP6189495B1 (en) | 2016-07-20 | 2016-07-20 | Method for providing virtual space, method for providing virtual experience, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6189495B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244046A (en) * | 2005-03-02 | 2006-09-14 | Nintendo Co Ltd | Collision determining program and collision determining device |
JP2009069918A (en) * | 2007-09-10 | 2009-04-02 | Canon Inc | Information processor and information processing method |
JP2011210019A (en) * | 2010-03-30 | 2011-10-20 | Namco Bandai Games Inc | Program, information storage medium, and image generator |
JP2015232783A (en) * | 2014-06-09 | 2015-12-24 | 株式会社バンダイナムコエンターテインメント | Program and image creating device |
-
2016
- 2016-07-20 JP JP2016142759A patent/JP6189495B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244046A (en) * | 2005-03-02 | 2006-09-14 | Nintendo Co Ltd | Collision determining program and collision determining device |
JP2009069918A (en) * | 2007-09-10 | 2009-04-02 | Canon Inc | Information processor and information processing method |
JP2011210019A (en) * | 2010-03-30 | 2011-10-20 | Namco Bandai Games Inc | Program, information storage medium, and image generator |
JP2015232783A (en) * | 2014-06-09 | 2015-12-24 | 株式会社バンダイナムコエンターテインメント | Program and image creating device |
Also Published As
Publication number | Publication date |
---|---|
JP2018013936A (en) | 2018-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018016553A1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP6189497B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP6509938B2 (en) | INFORMATION PROCESSING METHOD, COMPUTER, AND PROGRAM | |
JP6113897B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP2018194889A (en) | Information processing method, computer and program | |
JP6203346B1 (en) | Method, program, and recording medium for providing virtual space | |
JP6278546B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
JP6368404B1 (en) | Information processing method, program, and computer | |
JP2018028920A (en) | Method for providing virtual space, program and recording medium | |
JP2019168962A (en) | Program, information processing device, and information processing method | |
JP2019133309A (en) | Program, information processor and information processing method | |
JP6159455B1 (en) | Method, program, and recording medium for providing virtual space | |
JP6966336B2 (en) | An information processing method, a device, and a program for causing a computer to execute the information processing method. | |
JP6728111B2 (en) | Method of providing virtual space, method of providing virtual experience, program, and recording medium | |
JP2018028900A (en) | Method, program, and recording medium for providing virtual space | |
JP2018032413A (en) | Method for providing virtual space, method for providing virtual experience, program and recording medium | |
JP6189495B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP6242452B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP2019020836A (en) | Information processing method, device, and program for causing computer to execute the method | |
JP6275185B2 (en) | Method, program, and recording medium for providing virtual space | |
JP2018014110A (en) | Method for providing virtual space, method for providing virtual experience, program and recording medium | |
JP2018014084A (en) | Method for providing virtual space, method for providing virtual experience, program and recording medium | |
JP6776155B2 (en) | A method for providing virtual reality, a program for causing a computer to execute the method, and an information processing device for executing the program. | |
JP6189496B1 (en) | Method for providing virtual space, method for providing virtual experience, program, and recording medium | |
JP2019155115A (en) | Program, information processor and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20170704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6189495 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 |