[go: up one dir, main page]

JP6535641B2 - Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method - Google Patents

Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method Download PDF

Info

Publication number
JP6535641B2
JP6535641B2 JP2016162576A JP2016162576A JP6535641B2 JP 6535641 B2 JP6535641 B2 JP 6535641B2 JP 2016162576 A JP2016162576 A JP 2016162576A JP 2016162576 A JP2016162576 A JP 2016162576A JP 6535641 B2 JP6535641 B2 JP 6535641B2
Authority
JP
Japan
Prior art keywords
controller
virtual space
user
hand
hmd device
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
JP2016162576A
Other languages
Japanese (ja)
Other versions
JP2018032133A (en
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 JP2016162576A priority Critical patent/JP6535641B2/en
Priority to US15/683,446 priority patent/US20180059788A1/en
Publication of JP2018032133A publication Critical patent/JP2018032133A/en
Application granted granted Critical
Publication of JP6535641B2 publication Critical patent/JP6535641B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本開示は仮想現実を提供する技術に関し、より特定的には、仮想空間に配置されるオブジェクトを制御する技術に関する。   The present disclosure relates to a technology for providing virtual reality, and more particularly to a technology for controlling an object placed in a virtual space.

ヘッドマウントディスプレイ(HMD)を用いて仮想空間を提供する技術が普及している。例えば、特開2015−231445号公報(特許文献1)は、「HMDを使用してジェスチャー入力を実現する際のユーザビリティを向上させる」ための技術を開示している([要約]参照)。   A technology for providing a virtual space using a head mounted display (HMD) is in widespread use. For example, Japanese Patent Application Laid-Open No. 2015-231445 (Patent Document 1) discloses a technique for “improving usability when realizing gesture input using an HMD” (see [Summary]).

特開2015−231445号公報JP, 2015-231445, A

仮想空間におけるコントローラは、ハンド型のモデルになることが多い。しかしながら、手のジェスチャで入力できる操作内容には限りがある。したがって、より多様な入力操作を実現するための技術が必要とされている。   Controllers in virtual space are often hand-type models. However, there is a limit to the operation content that can be input by hand gestures. Therefore, there is a need for technology to realize more diverse input operations.

本開示は、上述のような問題点を解決するためになされたものであって、ある局面における目的は、より多様な入力操作を実現するための方法を提供することである。   The present disclosure has been made to solve the problems as described above, and an object in one aspect is to provide a method for realizing more diverse input operations.

ある実施の形態に従うと、仮想空間に表示されるオブジェクトを制御するための方法が提供される。この方法は、ヘッドマウントディスプレイ装置によって提供される仮想空間を定義するステップと、仮想空間において制御を受け付けるコントローラオブジェクトを仮想空間に配置するステップと、ヘッドマウントディスプレイ装置を装着したユーザの四肢のいずれかの状態を検出するステップと、四肢のいずれかに対応する四肢オブジェクトを仮想空間に配置するステップと、四肢オブジェクトとコントローラオブジェクトとが関連付けられている場合に、ユーザの動作に連動する四肢オブジェクトの動作に基づいて、コントローラオブジェクトを動かすステップと、コントローラオブジェクトの動きをコントローラオブジェクトに対する入力として受け付けるステップとを含む。   According to an embodiment, a method is provided for controlling an object displayed in a virtual space. The method comprises the steps of: defining a virtual space provided by the head mounted display device; disposing a controller object receiving control in the virtual space in the virtual space; and any of the four limbs of a user wearing the head mounted display device Of detecting the state of the object, arranging of the limb object corresponding to any of the limbs in the virtual space, and operation of the limb object interlocking with the user's operation when the limb object and the controller object are associated And moving the controller object, and accepting movement of the controller object as input to the controller object.

ある局面において、仮想空間に対する多様な入力を実現することができる。
この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
In one aspect, various inputs to the virtual space can be realized.
The above and other objects, features, aspects and advantages of the present invention will become apparent from the following detailed description of the present invention taken in conjunction with the accompanying drawings.

ある実施の形態に従うHMDシステム100の構成の概略を表す図である。FIG. 1 is a diagram schematically illustrating the configuration of an HMD system 100 according to an embodiment. 一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。It is a block diagram showing an example of the hardware constitutions of computer 200 according to one mode. ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。FIG. 6 conceptually illustrates an uvw view coordinate system set in the HMD device 110 according to an embodiment. ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。FIG. 1 conceptually illustrates an aspect of representing a virtual space 2 according to an embodiment. ある実施の形態に従うHMD装置110を装着するユーザ190の頭部を上から表した図である。FIG. 7 is a top view of a head of a user 190 wearing the HMD device 110 according to an embodiment. 仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。FIG. 6 is a diagram illustrating a YZ cross section in which a view area 23 is viewed from the X direction in a virtual space 2; 仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。FIG. 6 is a diagram illustrating an XZ cross section in which a visibility region 23 in the virtual space 2 is viewed from the Y direction. ある実施の形態に従うコントローラ160の概略構成を表す図である。FIG. 6 is a diagram illustrating a schematic configuration of a controller 160 according to an embodiment. ある実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。FIG. 16 is a diagram illustrating an aspect of the arrangement of objects in a view area 23 according to an embodiment. 他の実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。It is a figure showing one mode of arrangement of an object in field of view field 23 according to other embodiments. ある実施の形態に従うコンピュータ200をモジュール構成として表わすブロック図である。FIG. 2 is a block diagram representing a computer 200 according to an embodiment as a modular configuration. HMDシステム100が実行する処理を表わすフローチャートである。5 is a flowchart illustrating processing executed by the HMD system 100. ある実施の形態の一局面においてコンピュータ200のプロセッサ10が実行する詳細な処理を表わすフローチャートである。5 is a flowchart illustrating a detailed process performed by a processor 10 of a computer 200 in an aspect of an embodiment. コントローラオブジェクトが配置されていない状態を表す図である。It is a figure showing the state where the controller object is not arrange | positioned. コントローラオブジェクト900が配置された状態を表す図である。It is a figure showing the state where the controller object 900 was arrange | positioned. 左手オブジェクト910および右手オブジェクト920とコントローラオブジェクト900とが互いに関連付けられた状態を表す図である。It is a figure showing the state where the left-hand object 910, the right-hand object 920, and the controller object 900 were mutually associated. 左手オブジェクト910および右手オブジェクト920がコントローラオブジェクト900を操作して右方向に回転した状態を表す図である。FIG. 10 is a diagram illustrating a state in which a left-hand object 910 and a right-hand object 920 operate the controller object 900 to rotate in the right direction.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description about them will not be repeated.

[HMDシステムの構成]
図1を参照して、HMD(Head Mount Display)システム100の構成について説明する。図1は、ある実施の形態に従うHMDシステム100の構成の概略を表す図である。ある局面において、HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
[Configuration of HMD system]
The configuration of an HMD (Head Mount Display) system 100 will be described with reference to FIG. FIG. 1 is a diagram schematically illustrating the configuration of an HMD system 100 according to an embodiment. In one aspect, the HMD system 100 is provided as a home system or a business system.

HMDシステム100は、HMD装置110と、HMDセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD装置110は、モニタ112と、注視センサ140とを含む。コントローラ160は、モーションセンサ130を含み得る。   The HMD system 100 includes an HMD device 110, an HMD sensor 120, a controller 160, and a computer 200. The HMD device 110 includes a monitor 112 and a gaze sensor 140. The controller 160 may include the motion sensor 130.

ある局面において、コンピュータ200は、インターネットその他のネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150その他のコンピュータと通信可能である。別の局面において、HMD装置110は、HMDセンサ120の代わりに、センサ114を含み得る。   In one aspect, the computer 200 can connect to the Internet or other network 19 and can communicate with a server 150 or other computer connected to the network 19. In another aspect, the HMD device 110 may include a sensor 114 instead of the HMD sensor 120.

HMD装置110は、ユーザの頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、HMD装置110は、右目用の画像および左目用の画像をモニタ112にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を3次元の画像として認識し得る。   The HMD device 110 may be worn on the user's head and provide the user with virtual space during operation. More specifically, the HMD device 110 displays the image for the right eye and the image for the left eye on the monitor 112, respectively. When each eye of the user views each image, the user can recognize the image as a three-dimensional image based on the parallax of both eyes.

モニタ112は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ112は、ユーザの両目の前方に位置するようにHMD装置110の本体に配置されている。したがって、ユーザは、モニタ112に表示される3次元画像を視認すると、仮想空間に没入することができる。ある実施の形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像を含む。ある実施の形態において、モニタ112は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。   The monitor 112 is implemented, for example, as a non-transmissive display device. In one aspect, the monitor 112 is disposed on the main body of the HMD device 110 so as to be located in front of the user's eyes. Therefore, when the user visually recognizes the three-dimensional image displayed on the monitor 112, the user can immerse in the virtual space. In one embodiment, the virtual space includes, for example, a background, an object operable by the user, and an image of a menu selectable by the user. In one embodiment, the monitor 112 can be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smart phone or other information display terminal.

ある局面において、モニタ112は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ112は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ112は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。   In one aspect, the monitor 112 may include a sub monitor for displaying an image for the right eye and a sub monitor for displaying an image for the left eye. In another aspect, the monitor 112 may be configured to integrally display an image for the right eye and an image for the left eye. In this case, the monitor 112 includes a high speed shutter. The high speed shutter operates so as to alternately display the image for the right eye and the image for the left eye so that the image is recognized only for one of the eyes.

HMDセンサ120は、複数の光源(図示しない)を含む。各光源は例えば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ120は、HMD装置110の動きを検出するためのポジショントラッキング機能を有する。HMDセンサ120は、この機能を用いて、現実空間内におけるHMD装置110の位置および傾きを検出する。   The HMD sensor 120 includes a plurality of light sources (not shown). Each light source is realized by, for example, an LED (Light Emitting Diode) that emits infrared light. The HMD sensor 120 has a position tracking function for detecting the movement of the HMD device 110. The HMD sensor 120 uses this function to detect the position and tilt of the HMD device 110 in the physical space.

なお、別の局面において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD装置110の画像情報を用いて、画像解析処理を実行することにより、HMD装置110の位置および傾きを検出することができる。   In another aspect, the HMD sensor 120 may be realized by a camera. In this case, the HMD sensor 120 can detect the position and the inclination of the HMD device 110 by executing the image analysis process using the image information of the HMD device 110 output from the camera.

別の局面において、HMD装置110は、位置検出器として、HMDセンサ120の代わりに、センサ114を備えてもよい。HMD装置110は、センサ114を用いて、HMD装置110自身の位置および傾きを検出し得る。例えば、センサ114が角速度センサ、地磁気センサ、加速度センサ、あるいはジャイロセンサ等である場合、HMD装置110は、HMDセンサ120の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ114が角速度センサである場合、角速度センサは、現実空間におけるHMD装置110の3軸周りの角速度を経時的に検出する。HMD装置110は、各角速度に基づいて、HMD装置110の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD装置110の傾きを算出する。また、HMD装置110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視野画像は仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、HMD装置110に搭載されたカメラで撮影した画像を視野画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視野画像の一部から現実空間を視認可能にしてもよい。   In another aspect, the HMD device 110 may include a sensor 114 instead of the HMD sensor 120 as a position detector. HMD device 110 may use sensor 114 to detect the position and tilt of HMD device 110 itself. For example, when the sensor 114 is an angular velocity sensor, a geomagnetic sensor, an acceleration sensor, a gyro sensor or the like, the HMD device 110 uses one of these sensors instead of the HMD sensor 120 to position and tilt itself. Can be detected. As an example, when the sensor 114 is an angular velocity sensor, the angular velocity sensor detects the angular velocity around three axes of the HMD device 110 in real space over time. The HMD device 110 calculates temporal changes in angles around the three axes of the HMD device 110 based on each angular velocity, and further calculates inclination of the HMD device 110 based on temporal changes in angles. The HMD device 110 may also include a transmissive display device. In this case, the transmissive display device may be temporarily configured as a non-transmissive display device by adjusting the transmittance thereof. Further, the view image may include a configuration for presenting the real space in a part of the image constituting the virtual space. For example, an image captured by a camera mounted on the HMD device 110 may be superimposed and displayed on a part of the visual field image, or the visual field can be set by setting the transmittance of the part of the transmissive display device high. The real space may be visible from part of the image.

注視センサ140は、ユーザ190の右目および左目の視線が向けられる方向(視線方向)を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ140は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ140は、例えば、ユーザ190の右目および左目に赤外光を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ140は、検出した各回転角に基づいて、ユーザ190の視線方向を検知することができる。   The gaze sensor 140 detects the direction (gaze direction) in which the gaze of the right eye and the left eye of the user 190 is directed. The detection of the direction is realized by, for example, a known eye tracking function. The gaze sensor 140 is realized by a sensor having the eye tracking function. In one aspect, the gaze sensor 140 preferably includes a sensor for the right eye and a sensor for the left eye. The gaze sensor 140 may be, for example, a sensor that emits infrared light to the right and left eyes of the user 190, and detects the rotation angle of each eye by receiving reflected light from the cornea and iris to the irradiated light. . The gaze sensor 140 can detect the gaze direction of the user 190 based on each detected rotation angle.

サーバ150は、コンピュータ200にプログラムを送信し得る。別の局面において、サーバ150は、他のユーザによって使用されるHMD装置に仮想現実を提供するための他のコンピュータ200と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ200は、各ユーザの動作に基づく信号を他のコンピュータ200と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。   The server 150 may send the program to the computer 200. In another aspect, server 150 may communicate with other computers 200 to provide virtual reality to HMD devices used by other users. For example, when a plurality of users play a participatory game in an amusement facility, each computer 200 communicates a signal based on each user's operation with another computer 200 so that a plurality of users share a common virtual space. Allows you to enjoy the game.

コントローラ160は、ユーザ190からコンピュータ200への命令の入力を受け付ける。ある局面において、コントローラ160は、ユーザ190によって把持可能に構成される。別の局面において、コントローラ160は、ユーザ190の身体あるいは衣類の一部に装着可能に構成される。別の局面において、コントローラ160は、コンピュータ200から送られる信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の局面において、コントローラ160は、仮想現実を提供する空間に配置されるオブジェクトの位置や動きを制御するためにユーザ190によって与えられる操作を受け付ける。   The controller 160 receives an input of an instruction from the user 190 to the computer 200. In one aspect, controller 160 is configured to be graspable by user 190. In another aspect, the controller 160 is configured to be attachable to the body of the user 190 or a part of the clothing. In another aspect, the controller 160 may be configured to output vibration, sound, light, and / or light based on a signal sent from the computer 200. In another aspect, the controller 160 accepts operations provided by the user 190 to control the position and movement of objects placed in the space providing virtual reality.

モーションセンサ130は、ある局面において、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ130は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ200に送られる。モーションセンサ130は、例えば、手袋型のコントローラ160に設けられている。ある実施の形態において、現実空間における安全のため、コントローラ160は、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の局面において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。例えば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表わす信号として、コンピュータ200に入力されてもよい。モーションセンサ130とコンピュータ200とは、有線により、または無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。   The motion sensor 130 is attached to the user's hand and detects movement of the user's hand in one aspect. For example, the motion sensor 130 detects the rotation speed, the number of rotations, and the like of the hand. The detected signal is sent to the computer 200. The motion sensor 130 is provided, for example, in a glove-type controller 160. In one embodiment, for security in real space, the controller 160 is preferably worn like a glove type that does not easily fly by being worn on the hand of the user 190. In another aspect, a sensor not attached to the user 190 may detect hand movement of the user 190. For example, a signal of a camera that captures the user 190 may be input to the computer 200 as a signal representing an operation of the user 190. The motion sensor 130 and the computer 200 are connected to each other by wire or wirelessly. In the case of wireless communication, the communication form is not particularly limited, and, for example, Bluetooth (registered trademark) or other known communication methods are used.

[ハードウェア構成]
図2を参照して、本実施の形態に係るコンピュータ200について説明する。図2は、一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ10と、メモリ11と、ストレージ12と、入出力インターフェイス13と、通信インターフェイス14とを備える。各構成要素は、それぞれ、バス15に接続されている。
[Hardware configuration]
A computer 200 according to the present embodiment will be described with reference to FIG. FIG. 2 is a block diagram illustrating an example of a hardware configuration of a computer 200 according to an aspect. The computer 200 includes a processor 10, a memory 11, a storage 12, an input / output interface 13 and a communication interface 14 as main components. Each component is connected to the bus 15 respectively.

プロセッサ10は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ11またはストレージ12に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ10は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。   The processor 10 executes a series of instructions included in a program stored in the memory 11 or the storage 12 based on a signal supplied to the computer 200 or based on the establishment of a predetermined condition. In one aspect, the processor 10 is realized as a central processing unit (CPU), a micro processor unit (MPU), a field-programmable gate array (FPGA) or other devices.

メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ12からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ10によって生成されたデータとを含む。ある局面において、メモリ11は、RAM(Random Access Memory)その他の揮発メモリとして実現される。   The memory 11 temporarily stores programs and data. The program is loaded from, for example, the storage 12. The data includes data input to the computer 200 and data generated by the processor 10. In one aspect, the memory 11 is implemented as a random access memory (RAM) or another volatile memory.

ストレージ12は、プログラムおよびデータを永続的に保持する。ストレージ12は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ12に格納されるプログラムは、HMDシステム100において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラムを含む。ストレージ12に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含む。   The storage 12 holds programs and data permanently. The storage 12 is implemented, for example, as a read-only memory (ROM), a hard disk drive, a flash memory, or another non-volatile storage device. The programs stored in the storage 12 include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with another computer 200. The data stored in the storage 12 includes data, objects, etc. for defining a virtual space.

なお、別の局面において、ストレージ12は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ200に内蔵されたストレージ12の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。   In another aspect, the storage 12 may be realized as a removable storage device like a memory card. In still another aspect, a configuration using programs and data stored in an external storage device may be used instead of the storage 12 built in the computer 200. According to such a configuration, for example, in a situation where a plurality of HMD systems 100 are used, such as an amusement facility, it is possible to perform updating of programs and data collectively.

ある実施の形態において、入出力インターフェイス13は、HMD装置110、HMDセンサ120またはモーションセンサ130との間で信号を通信する。ある局面において、入出力インターフェイス13は、USB(Universal Serial Bus)インターフェイス、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実現される。なお、入出力インターフェイス13は上述のものに限られない。   In one embodiment, input / output interface 13 communicates signals with HMD device 110, HMD sensor 120 or motion sensor 130. In one aspect, the input / output interface 13 is realized using a Universal Serial Bus (USB) interface, a Digital Visual Interface (DVI), a High-Definition Multimedia Interface (HDMI (registered trademark)), and other terminals. The input / output interface 13 is not limited to the one described above.

ある実施の形態において、入出力インターフェイス13は、さらに、コントローラ160と通信し得る。例えば、入出力インターフェイス13は、モーションセンサ130から出力された信号の入力を受ける。別の局面において、入出力インターフェイス13は、プロセッサ10から出力された命令を、コントローラ160に送る。当該命令は、振動、音声出力、発光等をコントローラ160に指示する。コントローラ160は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。   In one embodiment, input / output interface 13 may further communicate with controller 160. For example, the input / output interface 13 receives an input of a signal output from the motion sensor 130. In another aspect, the input / output interface 13 sends an instruction output from the processor 10 to the controller 160. The command instructs the controller 160 to vibrate, output sound, emit light, and the like. When the controller 160 receives the command, the controller 160 executes vibration, voice output or light emission according to the command.

通信インターフェイス14は、ネットワーク19に接続されて、ネットワーク19に接続されている他のコンピュータ(例えば、サーバ150)と通信する。ある局面において、通信インターフェイス14は、例えば、LAN(Local Area Network)その他の有線通信インターフェイス、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)その他の無線通信インターフェイスとして実現される。なお、通信インターフェイス14は上述のものに限られない。   The communication interface 14 is connected to the network 19 to communicate with other computers (for example, the server 150) connected to the network 19. In one aspect, the communication interface 14 is realized as, for example, a LAN (Local Area Network) or other wired communication interface, or a WiFi (Wireless Fidelity), Bluetooth (registered trademark), an NFC (Near Field Communication) or other wireless communication interface. Be done. The communication interface 14 is not limited to the one described above.

ある局面において、プロセッサ10は、ストレージ12にアクセスし、ストレージ12に格納されている1つ以上のプログラムをメモリ11にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、コントローラ160を用いて仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ10は、入出力インターフェイス13を介して、仮想空間を提供するための信号をHMD装置110に送る。HMD装置110は、その信号に基づいてモニタ112に映像を表示する。   In one aspect, the processor 10 accesses the storage 12, loads one or more programs stored in the storage 12 into the memory 11, and executes a series of instructions included in the program. The one or more programs may include an operating system of the computer 200, an application program for providing a virtual space, game software executable in the virtual space using the controller 160, and the like. The processor 10 sends a signal for providing virtual space to the HMD device 110 via the input / output interface 13. The HMD device 110 displays an image on the monitor 112 based on the signal.

なお、図2に示される例では、コンピュータ200は、HMD装置110の外部に設けられる構成が示されているが、別の局面において、コンピュータ200は、HMD装置110に内蔵されてもよい。一例として、モニタ112を含む携帯型の情報通信端末(例えば、スマートフォン)がコンピュータ200として機能してもよい。   In the example illustrated in FIG. 2, the computer 200 is illustrated as being provided outside the HMD device 110, but in another aspect, the computer 200 may be incorporated in the HMD device 110. As one example, a portable information communication terminal (for example, a smartphone) including the monitor 112 may function as the computer 200.

また、コンピュータ200は、複数のHMD装置110に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。   In addition, the computer 200 may be configured to be commonly used by a plurality of HMD devices 110. According to such a configuration, for example, since the same virtual space can be provided to a plurality of users, each user can enjoy the same application as other users in the same virtual space.

ある実施の形態において、HMDシステム100では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施の形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、グローバル座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。   In one embodiment, in the HMD system 100, a global coordinate system is preset. The global coordinate system has three reference directions (axes) parallel to the vertical direction in real space, the horizontal direction perpendicular to the vertical direction, and the front-back direction orthogonal to both the vertical direction and the horizontal direction. In the present embodiment, the global coordinate system is one of viewpoint coordinate systems. Therefore, the horizontal direction, the vertical direction (vertical direction), and the front-rear direction in the global coordinate system are defined as an x-axis, a y-axis, and a z-axis, respectively. More specifically, in the global coordinate system, the x-axis is parallel to the horizontal direction of the real space. The y-axis is parallel to the vertical direction of the real space. The z axis is parallel to the front and back direction of the real space.

ある局面において、HMDセンサ120は、赤外線センサを含む。赤外線センサが、HMD装置110の各光源から発せられた赤外線をそれぞれ検出すると、HMD装置110の存在を検出する。HMDセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD装置110を装着したユーザ190の動きに応じた、現実空間内におけるHMD装置110の位置および傾きを検出する。より詳しくは、HMDセンサ120は、経時的に検出された各値を用いて、HMD装置110の位置および傾きの時間的変化を検出できる。   In one aspect, the HMD sensor 120 includes an infrared sensor. When an infrared sensor detects infrared light emitted from each light source of the HMD device 110, the presence of the HMD device 110 is detected. The HMD sensor 120 further determines the position and inclination of the HMD device 110 in the physical space according to the movement of the user 190 wearing the HMD device 110 based on the value of each point (each coordinate value in the global coordinate system). To detect. More specifically, the HMD sensor 120 can detect temporal changes in the position and inclination of the HMD device 110 using each value detected over time.

グローバル座標系は現実空間の座標系と平行である。したがって、HMDセンサ120によって検出されたHMD装置110の各傾きは、グローバル座標系におけるHMD装置110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMD装置110の傾きに基づき、uvw視野座標系をHMD装置110に設定する。HMD装置110に設定されるuvw視野座標系は、HMD装置110を装着したユーザ190が仮想空間において物体を見る際の視点座標系に対応する。   The global coordinate system is parallel to the real space coordinate system. Therefore, each inclination of the HMD device 110 detected by the HMD sensor 120 corresponds to each inclination around the three axes of the HMD device 110 in the global coordinate system. The HMD sensor 120 sets the uvw visual field coordinate system to the HMD device 110 based on the inclination of the HMD device 110 in the global coordinate system. The uvw visual field coordinate system set in the HMD device 110 corresponds to the visual point coordinate system when the user 190 wearing the HMD device 110 views an object in the virtual space.

[uvw視野座標系]
図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ120は、HMD装置110の起動時に、グローバル座標系におけるHMD装置110の位置および傾きを検出する。プロセッサ10は、検出された値に基づいて、uvw視野座標系をHMD装置110に設定する。
[Uvw view coordinate system]
The uvw view coordinate system will be described with reference to FIG. FIG. 3 is a diagram conceptually illustrating the uvw visual field coordinate system set in the HMD device 110 according to an embodiment. The HMD sensor 120 detects the position and tilt of the HMD device 110 in the global coordinate system when the HMD device 110 is activated. The processor 10 sets the uvw visual field coordinate system in the HMD device 110 based on the detected value.

図3に示されるように、HMD装置110は、HMD装置110を装着したユーザの頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD装置110は、グローバル座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD装置110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD装置110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。   As shown in FIG. 3, the HMD device 110 sets a three-dimensional uvw visual field coordinate system centered on the head of the user wearing the HMD device 110 (origin). More specifically, the HMD device 110 defines the global coordinate system in the horizontal direction, the vertical direction, and the front-back direction (x-axis, y-axis, z-axis) around each axis of the HMD device 110 in the global coordinate system. The pitch direction (u axis), the yaw direction (v axis), and the roll direction (w axis) of the uvw visual field coordinate system in the HMD device 110 are newly obtained by inclining each direction about each axis by the inclination of Set as.

ある局面において、HMD装置110を装着したユーザ190が直立し、かつ、正面を視認している場合、プロセッサ10は、グローバル座標系に平行なuvw視野座標系をHMD装置110に設定する。この場合、グローバル座標系における水平方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)は、HMD装置110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。   In one aspect, when the user 190 wearing the HMD device 110 stands upright and views the front, the processor 10 sets the uvw visual field coordinate system parallel to the global coordinate system to the HMD device 110. In this case, the horizontal direction (x-axis), vertical direction (y-axis) and front-back direction (z-axis) in the global coordinate system are the pitch direction (u-axis) of the uvw view coordinate system in the HMD device 110 and the yaw direction (v Match the axis) and the roll direction (w axis).

uvw視野座標系がHMD装置110に設定された後、HMDセンサ120は、HMD装置110の動きに基づいて、設定されたuvw視野座標系におけるHMD装置110の傾き(傾きの変化量)を検出できる。この場合、HMDセンサ120は、HMD装置110の傾きとして、uvw視野座標系におけるHMD装置110のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD装置110の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD装置110の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD装置110の傾き角度を表す。   After the uvw visual field coordinate system is set in the HMD device 110, the HMD sensor 120 can detect the inclination (the amount of change in the inclination) of the HMD device 110 in the set uvw visual field coordinate system based on the movement of the HMD device 110. . In this case, the HMD sensor 120 detects the pitch angle (θu), the yaw angle (θv), and the roll angle (θw) of the HMD device 110 in the uvw view coordinate system as the inclination of the HMD device 110. The pitch angle (θu) represents the tilt angle of the HMD device 110 around the pitch direction in the uvw view coordinate system. The yaw angle (θv) represents the tilt angle of the HMD device 110 around the yaw direction in the uvw view coordinate system. The roll angle (θw) represents the tilt angle of the HMD device 110 around the roll direction in the uvw view coordinate system.

HMDセンサ120は、検出されたHMD装置110の傾き角度に基づいて、HMD装置110が動いた後のHMD装置110におけるuvw視野座標系を、HMD装置110に設定する。HMD装置110と、HMD装置110のuvw視野座標系との関係は、HMD装置110の位置および傾きに関わらず、常に一定である。HMD装置110の位置および傾きが変わると、当該位置および傾きの変化に連動して、グローバル座標系におけるHMD装置110のuvw視野座標系の位置および傾きが変化する。   The HMD sensor 120 sets the uvw visual field coordinate system in the HMD device 110 after the HMD device 110 has moved to the HMD device 110 based on the detected inclination angle of the HMD device 110. The relationship between the HMD device 110 and the uvw view coordinate system of the HMD device 110 is always constant regardless of the position and tilt of the HMD device 110. When the position and the inclination of the HMD device 110 change, the position and the inclination of the uvw visual field coordinate system of the HMD device 110 in the global coordinate system change in conjunction with the change of the position and the inclination.

ある局面において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(例えば、各点間の距離など)に基づいて、HMD装置110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ10は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD装置110のuvw視野座標系の原点を決定してもよい。   In one aspect, the HMD sensor 120 detects the HMD based on the light intensity of the infrared light acquired based on the output from the infrared sensor and the relative positional relationship between the plurality of points (for example, the distance between each point). The position of the device 110 in the physical space may be identified as a relative position to the HMD sensor 120. Also, the processor 10 may determine the origin of the uvw visual field coordinate system of the HMD device 110 in the real space (global coordinate system) based on the identified relative position.

[仮想空間]
図4を参照して、仮想空間についてさらに説明する。図4は、ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。仮想空間2は、中心21の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間2のうちの上半分の天球が例示されている。仮想空間2では各メッシュが規定される。各メッシュの位置は、仮想空間2に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間2に展開可能なコンテンツ(静止画、動画等)を構成する各部分画像を、仮想空間2において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像22が展開される仮想空間2をユーザに提供する。
[Virtual space]
The virtual space will be further described with reference to FIG. FIG. 4 is a diagram conceptually illustrating an aspect of representing virtual space 2 according to an embodiment. The virtual space 2 has an all-sky spherical structure that covers the entire 360-degree direction of the center 21. In FIG. 4, the celestial sphere in the upper half of the virtual space 2 is illustrated so as not to complicate the description. In the virtual space 2, each mesh is defined. The position of each mesh is previously defined as coordinate values in the XYZ coordinate system defined in the virtual space 2. The computer 200 associates each partial image constituting content (a still image, a moving image, etc.) that can be expanded in the virtual space 2 with each corresponding mesh in the virtual space 2 to make the virtual space image 22 visible by the user. Provides the user with a virtual space 2 in which is deployed.

ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、例えば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。   In one aspect, in the virtual space 2, an XYZ coordinate system having a center 21 as an origin is defined. The XYZ coordinate system is, for example, parallel to the global coordinate system. Since the XYZ coordinate system is a kind of viewpoint coordinate system, the horizontal direction, the vertical direction (vertical direction), and the front-rear direction in the XYZ coordinate system are defined as an X axis, a Y axis, and a Z axis, respectively. Therefore, the X axis (horizontal direction) of the XYZ coordinate system is parallel to the x axis of the global coordinate system, the Y axis (vertical direction) of the XYZ coordinate system is parallel to the y axis of the global coordinate system, and The Z-axis (front-back direction) is parallel to the z-axis of the global coordinate system.

HMD装置110の起動時、すなわちHMD装置110の初期状態において、仮想カメラ1が、仮想空間2の中心21に配置される。仮想カメラ1は、現実空間におけるHMD装置110の動きに連動して、仮想空間2を同様に移動する。これにより、現実空間におけるHMD装置110の位置および向きの変化が、仮想空間2において同様に再現される。   When the HMD device 110 is activated, that is, in the initial state of the HMD device 110, the virtual camera 1 is disposed at the center 21 of the virtual space 2. The virtual camera 1 similarly moves in the virtual space 2 in conjunction with the movement of the HMD device 110 in the real space. Thereby, changes in the position and orientation of the HMD device 110 in the real space are similarly reproduced in the virtual space 2.

仮想カメラ1には、HMD装置110の場合と同様に、uvw視野座標系が規定される。仮想空間2における仮想カメラのuvw視野座標系は、現実空間(グローバル座標系)におけるHMD装置110のuvw視野座標系に連動するように規定されている。したがって、HMD装置110の傾きが変化すると、それに応じて、仮想カメラ1の傾きも変化する。また、仮想カメラ1は、HMD装置110を装着したユーザの現実空間における移動に連動して、仮想空間2において移動することもできる。   As in the case of the HMD device 110, the uvw visual field coordinate system is defined in the virtual camera 1. The uvw view coordinate system of the virtual camera in the virtual space 2 is defined to interlock with the uvw view coordinate system of the HMD device 110 in the real space (global coordinate system). Therefore, when the inclination of the HMD device 110 changes, the inclination of the virtual camera 1 also changes accordingly. The virtual camera 1 can also move in the virtual space 2 in conjunction with the movement of the user wearing the HMD device 110 in the real space.

仮想カメラ1の向きは、仮想カメラ1の位置および傾きに応じて決まるので、ユーザが仮想空間画像22を視認する際に基準となる視線(基準視線5)は、仮想カメラ1の向きに応じて決まる。コンピュータ200のプロセッサ10は、基準視線5に基づいて、仮想空間2における視界領域23を規定する。視界領域23は、仮想空間2のうち、HMD装置110を装着したユーザの視界に対応する。   Since the direction of the virtual camera 1 is determined according to the position and the inclination of the virtual camera 1, the line of sight (reference line of sight 5) serving as a reference when the user views the virtual space image 22 depends on the direction of the virtual camera 1 It is decided. The processor 10 of the computer 200 defines a view area 23 in the virtual space 2 based on the reference line of sight 5. The view area 23 corresponds to the view of the user wearing the HMD device 110 in the virtual space 2.

注視センサ140によって検出されるユーザ190の視線方向は、ユーザ190が物体を視認する際の視点座標系における方向である。HMD装置110のuvw視野座標系は、ユーザ190がモニタ112を視認する際の視点座標系に等しい。また、仮想カメラ1のuvw視野座標系は、HMD装置110のuvw視野座標系に連動している。したがって、ある局面に従うHMDシステム100は、注視センサ140によって検出されたユーザ190の視線方向を、仮想カメラ1のuvw視野座標系におけるユーザの視線方向とみなすことができる。   The gaze direction of the user 190 detected by the gaze sensor 140 is a direction in the viewpoint coordinate system when the user 190 visually recognizes an object. The uvw view coordinate system of the HMD device 110 is equal to the view coordinate system when the user 190 views the monitor 112. Further, the uvw visual field coordinate system of the virtual camera 1 is interlocked with the uvw visual field coordinate system of the HMD device 110. Therefore, the HMD system 100 according to an aspect can regard the gaze direction of the user 190 detected by the gaze sensor 140 as the gaze direction of the user in the uvw view coordinate system of the virtual camera 1.

[ユーザの視線]
図5を参照して、ユーザの視線方向の決定について説明する。図5は、ある実施の形態に従うHMD装置110を装着するユーザ190の頭部を上から表した図である。
[User's gaze]
The determination of the user's gaze direction will be described with reference to FIG. FIG. 5 is a top view of the head of a user 190 wearing the HMD device 110 according to one embodiment.

ある局面において、注視センサ140は、ユーザ190の右目および左目の各視線を検出する。ある局面において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。別の局面において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。   In one aspect, the gaze sensor 140 detects the gaze of each of the right eye and the left eye of the user 190. In one aspect, when the user 190 is looking close, the gaze sensor 140 detects the sight lines R1 and L1. In another aspect, if the user 190 is looking far, the gaze sensor 140 detects the gazes R2 and L2. In this case, the angle between the lines of sight R2 and L2 with respect to the roll direction w is smaller than the angle between the lines of sight R1 and L1 with respect to the direction of roll w. The gaze sensor 140 transmits the detection result to the computer 200.

コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視センサ140から受信した場合には、その検出値に基づいて、視線R1およびL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値を注視センサ140から受信した場合には、視線R2およびL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザ190の視線方向N0を特定する。コンピュータ200は、例えば、ユーザ190の右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線方向N0として検出する。視線方向N0は、ユーザ190が両目により実際に視線を向けている方向である。また、視線方向N0は、視界領域23に対してユーザ190が実際に視線を向けている方向に相当する。   When the computer 200 receives the detection values of the lines of sight R1 and L1 from the gaze sensor 140 as the detection result of the line of sight, the gaze point N1 which is the intersection of the lines of sight R1 and L1 is specified based on the detection values. On the other hand, when the computer 200 receives the detection values of the sight lines R2 and L2 from the gaze sensor 140, the computer 200 specifies the intersection of the sight lines R2 and L2 as the gaze point. The computer 200 identifies the gaze direction N0 of the user 190 based on the identified position of the fixation point N1. The computer 200 detects, for example, the direction in which the straight line passing through the midpoint of the straight line connecting the right eye R and the left eye L of the user 190 and the gaze point N1 is the line of sight direction N0. The gaze direction N0 is the direction in which the user 190 is actually pointing the gaze with both eyes. Further, the line-of-sight direction N0 corresponds to the direction in which the user 190 actually points the line of sight with respect to the view area 23.

別の局面において、HMDシステム100は、HMDシステム100を構成するいずれかのパーツに、マイクおよびスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間2に対して、音声による指示を与えることができる。   In another aspect, the HMD system 100 may include a microphone and a speaker in any part of the HMD system 100. The user can give a voice instruction to the virtual space 2 by speaking into the microphone.

また、別の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間2においてテレビ番組を表示することができる。   Also, in another aspect, the HMD system 100 may include a television broadcast receiver tuner. According to such a configuration, the HMD system 100 can display a television program in the virtual space 2.

さらに別の局面において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。   In still another aspect, the HMD system 100 may be provided with a communication circuit for connecting to the Internet, or a call function for connecting to a telephone line.

[視界領域]
図6および図7を参照して、視界領域23について説明する。図6は、仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。図7は、仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。
[View area]
The view area 23 will be described with reference to FIGS. 6 and 7. FIG. 6 is a diagram showing a YZ cross section of the virtual space 2 when the field of view 23 is viewed from the X direction. FIG. 7 is a diagram showing an XZ cross section in which the visibility region 23 is viewed from the Y direction in the virtual space 2.

図6に示されるように、YZ断面における視界領域23は、領域24を含む。領域24は、仮想カメラ1の基準視線5と仮想空間2のYZ断面とによって定義される。プロセッサ10は、仮想空間おける基準視線5を中心として極角αを含む範囲を、領域24として規定する。   As shown in FIG. 6, the view area 23 in the YZ cross section includes the area 24. The area 24 is defined by the reference line of sight 5 of the virtual camera 1 and the YZ cross section of the virtual space 2. The processor 10 defines a range including the polar angle α centering on the reference line of sight 5 in the virtual space as a region 24.

図7に示されるように、XZ断面における視界領域23は、領域25を含む。領域25は、基準視線5と仮想空間2のXZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、領域25として規定する。   As shown in FIG. 7, the view area 23 in the XZ cross section includes the area 25. The area 25 is defined by the reference line of sight 5 and the XZ cross section of the virtual space 2. The processor 10 defines a range including the azimuth angle β centered on the reference gaze 5 in the virtual space 2 as a region 25.

ある局面において、HMDシステム100は、コンピュータ200からの信号に基づいて、視界画像26をモニタ112に表示させることにより、ユーザ190に仮想空間を提供する。視界画像26は、仮想空間画像22のうち視界領域23に重畳する部分に相当する。ユーザ190が、頭に装着したHMD装置110を動かすと、その動きに連動して仮想カメラ1も動く。その結果、仮想空間2における視界領域23の位置が変化する。これにより、モニタ112に表示される視界画像26は、仮想空間画像22のうち、仮想空間2においてユーザが向いた方向の視界領域23に重畳する画像に更新される。ユーザは、仮想空間2における所望の方向を視認することができる。   In one aspect, the HMD system 100 provides the virtual space to the user 190 by displaying the view image 26 on the monitor 112 based on the signal from the computer 200. The view image 26 corresponds to a portion of the virtual space image 22 superimposed on the view area 23. When the user 190 moves the HMD device 110 worn on the head, the virtual camera 1 also moves in conjunction with the movement. As a result, the position of the view area 23 in the virtual space 2 changes. As a result, the view image 26 displayed on the monitor 112 is updated to an image of the virtual space image 22 superimposed on the view area 23 in the direction in which the user turned in the virtual space 2. The user can view a desired direction in the virtual space 2.

ユーザ190は、HMD装置110を装着している間、現実世界を視認することなく、仮想空間2に展開される仮想空間画像22のみを視認できる。そのため、HMDシステム100は、仮想空間2への高い没入感覚をユーザに与えることができる。   While wearing the HMD device 110, the user 190 can view only the virtual space image 22 developed in the virtual space 2 without viewing the real world. Therefore, the HMD system 100 can provide the user with a high sense of immersion in the virtual space 2.

ある局面において、プロセッサ10は、HMD装置110を装着したユーザ190の現実空間における移動に連動して、仮想空間2において仮想カメラ1を移動し得る。この場合、プロセッサ10は、仮想空間2における仮想カメラ1の位置および向きに基づいて、HMD装置110のモニタ112に投影される画像領域(すなわち、仮想空間2における視界領域23)を特定する。   In one aspect, the processor 10 may move the virtual camera 1 in the virtual space 2 in conjunction with the movement of the user 190 equipped with the HMD device 110 in the real space. In this case, the processor 10 specifies an image area (that is, a view area 23 in the virtual space 2) to be projected on the monitor 112 of the HMD device 110 based on the position and the orientation of the virtual camera 1 in the virtual space 2.

ある実施の形態に従うと、仮想カメラ1は、二つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含むことが望ましい。また、ユーザ190が3次元の仮想空間2を認識できるように、適切な視差が、二つの仮想カメラに設定されていることが好ましい。本実施の形態においては、仮想カメラ1が二つの仮想カメラを含み、二つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD装置110のロール方向(w)に適合されるように構成されているものとして、本開示に係る技術思想を例示する。   According to an embodiment, the virtual camera 1 desirably includes two virtual cameras, ie, a virtual camera for providing an image for the right eye, and a virtual camera for providing an image for the left eye. Further, it is preferable that appropriate parallaxes be set to two virtual cameras so that the user 190 can recognize the three-dimensional virtual space 2. In the present embodiment, the virtual camera 1 includes two virtual cameras, and the roll direction (w) generated by combining the roll directions of the two virtual cameras is the roll direction (w) of the HMD device 110. The technical idea according to the present disclosure is illustrated as being configured to be adapted.

[コントローラ]
図8を参照して、コントローラ160の一例について説明する。図8は、ある実施の形態に従うコントローラ160の概略構成を表す図である。
[controller]
An example of the controller 160 will be described with reference to FIG. FIG. 8 is a diagram representing a schematic configuration of the controller 160 according to an embodiment.

図8の分図(A)に示されるように、ある局面において、コントローラ160は、右コントローラ800と左コントローラとを含み得る。右コントローラ800は、ユーザ190の右手で操作される。左コントローラは、ユーザ190の左手で操作される。ある局面において、右コントローラ800と左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラ800を把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ160は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ800について説明する。   As shown in FIG. 8A, in one aspect, the controller 160 may include a right controller 800 and a left controller. The right controller 800 is operated by the right hand of the user 190. The left controller is operated by the left hand of the user 190. In one aspect, the right controller 800 and the left controller are configured symmetrically as separate devices. Therefore, the user 190 can freely move the right hand holding the right controller 800 and the left hand holding the left controller. In another aspect, the controller 160 may be an integrated controller that receives the operation of both hands. The right controller 800 will be described below.

右コントローラ800は、グリップ30と、フレーム31と、天面32とを備える。グリップ30は、ユーザ190の右手によって把持されるように構成されている。例えば、グリップ30は、ユーザ190の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。   The right controller 800 includes a grip 30, a frame 31, and a top surface 32. The grip 30 is configured to be gripped by the right hand of the user 190. For example, the grip 30 may be held by the palm of the right hand of the user 190 and three fingers (middle, ring and little fingers).

グリップ30は、ボタン33,34と、モーションセンサ130とを含む。ボタン33は、グリップ30の側面に配置され、右手の中指による操作を受け付ける。ボタン34は、グリップ30の前面に配置され、右手の人差し指による操作を受け付ける。ある局面において、ボタン33,34は、トリガー式のボタンとして構成される。モーションセンサ130は、グリップ30の筐体に内蔵されている。なお、ユーザ190の動作がカメラその他の装置によってユーザ190の周りから検出可能である場合には、グリップ30は、モーションセンサ130を備えなくてもよい。   The grip 30 includes buttons 33 and 34 and a motion sensor 130. The button 33 is disposed on the side surface of the grip 30 and receives an operation by the middle finger of the right hand. The button 34 is disposed on the front of the grip 30 and accepts an operation by the index finger of the right hand. In one aspect, the buttons 33, 34 are configured as trigger buttons. The motion sensor 130 is incorporated in the housing of the grip 30. It should be noted that the grip 30 may not include the motion sensor 130 if the motion of the user 190 can be detected from around the user 190 by a camera or other device.

フレーム31は、その円周方向に沿って配置された複数の赤外線LED35を含む。赤外線LED35は、コントローラ160を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED35から発せられた赤外線は、右コントローラ800と左コントローラ(図示しない)との各位置や姿勢(傾き、向き)を検出するために使用され得る。図8に示される例では、二列に配置された赤外線LED35が示されているが、配列の数は図8に示されるものに限られない。一列あるいは3列以上の配列が使用されてもよい。   The frame 31 includes a plurality of infrared LEDs 35 disposed along the circumferential direction. The infrared LED 35 emits infrared light in accordance with the progress of the program while the program using the controller 160 is being executed. Infrared light emitted from the infrared LED 35 can be used to detect each position and posture (tilt, orientation) of the right controller 800 and the left controller (not shown). In the example shown in FIG. 8, the infrared LEDs 35 arranged in two rows are shown, but the number of arrays is not limited to that shown in FIG. One or three or more arrays may be used.

天面32は、ボタン36,37と、アナログスティック38とを備える。ボタン36,37は、プッシュ式ボタンとして構成される。ボタン36,37は、ユーザ190の右手の親指による操作を受け付ける。アナログスティック38は、ある局面において、初期位置(ニュートラルの位置)から360度任意の方向への操作を受け付ける。当該操作は、例えば、仮想空間2に配置されるオブジェクトを移動するための操作を含む。   The top surface 32 includes buttons 36 and 37 and an analog stick 38. The buttons 36, 37 are configured as push-type buttons. Buttons 36 and 37 receive an operation by the thumb of the right hand of user 190. The analog stick 38 receives an operation in any direction 360 degrees from the initial position (the position of neutral) in a certain phase. The operation includes, for example, an operation for moving an object arranged in the virtual space 2.

ある局面において、右コントローラ800および左コントローラは、赤外線LED35その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型等を含むが、これらに限定されない。別の局面において、右コントローラ800と左コントローラは、例えば、コンピュータ200のUSBインターフェイスに接続され得る。この場合、右コントローラ800および左コントローラは、電池を必要としない。   In one aspect, the right controller 800 and the left controller include batteries for driving the infrared LED 35 and other members. The battery includes, but is not limited to, a rechargeable battery, a button battery, and a dry battery battery. In another aspect, the right controller 800 and the left controller may be connected to, for example, the USB interface of the computer 200. In this case, the right controller 800 and the left controller do not require a battery.

図8の分図(A)および分図(B)に示されるように、例えば、ユーザ190の右手810に対して、ヨー、ロール、ピッチの各方向が規定される。ユーザ190が親指と人差し指とを伸ばした場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向として規定される。   As shown in FIG. 8 (A) and (B), for example, yaw, roll, and pitch directions are defined with respect to the right hand 810 of the user 190. When the user 190 stretches the thumb and forefinger, the extension direction of the thumb is the yaw direction, the extension direction of the forefinger is the roll direction, and the direction perpendicular to the plane defined by the yaw and roll axes is the pitch direction Defined as

図9および図10を参照して、視界領域23におけるオブジェクトの配置について説明する。図9は、ある実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。図10は、他の実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。   The arrangement of objects in the view area 23 will be described with reference to FIGS. 9 and 10. FIG. 9 is a diagram illustrating an aspect of the arrangement of objects in the view area 23 according to an embodiment. FIG. 10 is a diagram showing an aspect of arrangement of objects in the view area 23 according to another embodiment.

図9に示されるように、ある局面に従う視界領域23は、ハンドル形状のコントローラオブジェクト900と、左手オブジェクト910と、右手オブジェクト920とを含み得る。コントローラオブジェクト900は、例えば、回転軸を有し、その回転方向および回転速度に応じて、コントローラオブジェクト900に関連付けられた他のオブジェクトの位置や姿勢を変更する。例えば、コントローラオブジェクト900が仮想空間2における風景に関連付けられている場合、ユーザ190がハンドルを時計回りに回転させるような動作を両手で行なうと、左手オブジェクト910と右手オブジェクト920とは、コントローラオブジェクト900に関連付けられて、コントローラオブジェクト900を時計回りに回転させる。そうすると、仮想カメラ1が向く方向も時計回りに回転し、ユーザ190による回転動作に応じた角度だけ右方向に移動した風景が仮想空間2に表示される。   As shown in FIG. 9, a viewing area 23 according to an aspect may include a handle-shaped controller object 900, a left hand object 910, and a right hand object 920. The controller object 900 has, for example, a rotation axis, and changes the positions and orientations of other objects associated with the controller object 900 according to the rotation direction and the rotation speed. For example, when the controller object 900 is associated with a scene in the virtual space 2, the left hand object 910 and the right hand object 920 are the controller object 900 when the user 190 performs an operation to rotate the steering wheel clockwise. And rotate the controller object 900 clockwise. Then, the direction in which the virtual camera 1 points is also rotated clockwise, and a landscape moved to the right by an angle corresponding to the rotation operation by the user 190 is displayed in the virtual space 2.

図10に示されるように、別の局面に従う視界領域23は、舵輪形状のオブジェクト1000と、左手オブジェクト910と、右手オブジェクトとを含み得る。例えば、コンピュータ200が仮想空間2を提供するために実行しているプログラムが海の風景を示すものである場合、コンピュータ200は、当該プログラムの実行に応じて進行するストーリーに応じて、オブジェクト1000を仮想空間2に配置し得る。この場合も、図9に示されるオブジェクト900の場合と同様に、左手オブジェクト910と右手オブジェクト920とがオブジェクト1000に関連付けられているとき、ユーザ190の動作に応じてオブジェクト1000を回転させることができ、その回転に応じて、視界領域23として表示される画像が変わり得る。   As shown in FIG. 10, a field of view 23 according to another aspect may include a helm-shaped object 1000, a left hand object 910, and a right hand object. For example, if the program being executed by the computer 200 to provide the virtual space 2 is a view of a seascape, the computer 200 responds to the story progressing in response to the execution of the program. It can be arranged in virtual space 2. Also in this case, as in the case of the object 900 shown in FIG. 9, when the left hand object 910 and the right hand object 920 are associated with the object 1000, the object 1000 can be rotated according to the operation of the user 190. The image displayed as the view area 23 may change according to the rotation.

[HMD装置の制御装置]
図11を参照して、HMD装置110の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200によって実現される。図11は、ある実施の形態に従うコンピュータ200をモジュール構成として表わすブロック図である。
[Control device of HMD device]
A control device of the HMD device 110 will be described with reference to FIG. In one embodiment, the controller is implemented by a computer 200 having a known configuration. FIG. 11 is a block diagram representing a computer 200 as a modular configuration according to one embodiment.

図11に示されるように、コンピュータ200は、表示制御モジュール220と、仮想空間制御モジュール230と、メモリモジュール240と、通信制御モジュール250とを備える。表示制御モジュール220は、サブモジュールとして、仮想カメラ制御モジュール221と、視界領域決定モジュール222と、視界画像生成モジュール223と、基準視線特定モジュール224とを含む。仮想空間制御モジュール230は、サブモジュールとして、仮想空間定義モジュール231と、仮想オブジェクト生成モジュール232と、手オブジェクト管理モジュール233と、コントローラ管理モジュール234とを含む。   As shown in FIG. 11, the computer 200 includes a display control module 220, a virtual space control module 230, a memory module 240, and a communication control module 250. The display control module 220 includes, as sub-modules, a virtual camera control module 221, a view area determination module 222, a view image generation module 223, and a reference gaze specification module 224. The virtual space control module 230 includes, as submodules, a virtual space definition module 231, a virtual object generation module 232, a hand object management module 233, and a controller management module 234.

ある実施の形態において、表示制御モジュール220と仮想空間制御モジュール230とは、プロセッサ10によって実現される。別の実施の形態において、複数のプロセッサ10が表示制御モジュール220と仮想空間制御モジュール230として作動してもよい。メモリモジュール240は、メモリ11またはストレージ12によって実現される。通信制御モジュール250は、通信インターフェイス14によって実現される。   In one embodiment, display control module 220 and virtual space control module 230 are implemented by processor 10. In another embodiment, a plurality of processors 10 may operate as a display control module 220 and a virtual space control module 230. The memory module 240 is realized by the memory 11 or the storage 12. The communication control module 250 is realized by the communication interface 14.

ある局面において、表示制御モジュール220は、HMD装置110のモニタ112における画像表示を制御する。仮想カメラ制御モジュール221は、仮想空間2に仮想カメラ1を配置し、仮想カメラ1の挙動、向き等を制御する。視界領域決定モジュール222は、HMD装置110を装着したユーザの頭の向きに応じて、視界領域23を規定する。視界画像生成モジュール223は、決定された視界領域23に基づいて、モニタ112に表示される視界画像26を生成する。   In one aspect, display control module 220 controls image display on monitor 112 of HMD device 110. The virtual camera control module 221 places the virtual camera 1 in the virtual space 2 and controls the behavior, direction, and the like of the virtual camera 1. The view area determination module 222 defines the view area 23 according to the orientation of the head of the user wearing the HMD device 110. The view image generation module 223 generates the view image 26 displayed on the monitor 112 based on the determined view area 23.

基準視線特定モジュール224は、注視センサ140からの信号に基づいて、ユーザ190の視線を特定する。   The reference gaze identification module 224 identifies the gaze of the user 190 based on the signal from the gaze sensor 140.

仮想空間制御モジュール230は、ユーザ190に提供される仮想空間2を制御する。仮想空間定義モジュール231は、仮想空間2を表わす仮想空間データを生成することにより、HMDシステム100における仮想空間2を規定する。   The virtual space control module 230 controls the virtual space 2 provided to the user 190. The virtual space definition module 231 defines virtual space 2 in the HMD system 100 by generating virtual space data representing the virtual space 2.

仮想オブジェクト生成モジュール232は、仮想空間2に配置される対象物を生成する。対象物は、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、動物等を含み得る。   The virtual object generation module 232 generates an object to be placed in the virtual space 2. The objects may include, for example, landscapes, including forests, mountains etc., animals, etc., arranged according to the progression of the game's story.

手オブジェクト管理モジュール233は、手オブジェクトを仮想空間2に配置する。手オブジェクトは、例えば、コントローラ160を保持したユーザ190の右手あるいは左手に対応する。ある局面において、手オブジェクト管理モジュール233は、左手オブジェクト910または右手オブジェクト920を仮想空間2に配置するためのデータを生成する。別の局面において、手オブジェクト管理モジュール233は、ユーザ190によるコントローラ160の操作に応じて、左手オブジェクト910または右手オブジェクト920が他のオブジェクト(例えば、オブジェクト900またはオブジェクト1000)を回転させる動作を示すためのデータを生成する。当該動作は、例えば、オブジェクト900として示されるハンドルを握る手が、当該ハンドルを回転させることを含む。   The hand object management module 233 places the hand object in the virtual space 2. The hand object corresponds to, for example, the right hand or left hand of the user 190 holding the controller 160. In one aspect, the hand object management module 233 generates data for placing the left hand object 910 or the right hand object 920 in the virtual space 2. In another aspect, the hand object management module 233 indicates that the left hand object 910 or the right hand object 920 rotates another object (for example, the object 900 or the object 1000) in response to the operation of the controller 160 by the user 190. Generate data for The action includes, for example, a hand holding a handle shown as an object 900 rotating the handle.

コントローラ管理モジュール234は、仮想空間2においてユーザ190の動作を受け付けて、その動作に応じてコントローラオブジェクトを制御する。ある実施の形態に従うコントローラオブジェクトは、仮想空間2に配置される他のオブジェクトに対して命令を与えるコントローラとして機能する。ある局面において、コントローラ管理モジュール234は、仮想空間2において制御を受け付けるコントローラオブジェクト900またはコントローラオブジェクト1000を仮想空間2に配置するためのデータを生成する。HMD装置110がこのデータを受信すると、モニタ112は、コントローラオブジェクト900またはコントローラオブジェクト1000を表示する。   The controller management module 234 receives the operation of the user 190 in the virtual space 2 and controls the controller object according to the operation. The controller object according to an embodiment functions as a controller that gives instructions to other objects arranged in the virtual space 2. In one aspect, the controller management module 234 generates data for arranging the controller object 900 or the controller object 1000 that receives control in the virtual space 2 in the virtual space 2. When the HMD device 110 receives this data, the monitor 112 displays the controller object 900 or the controller object 1000.

別の局面において、四肢オブジェクトとコントローラオブジェクト900またはコントローラオブジェクト1000とが関連付けられている場合に、コントローラ管理モジュール234は、ユーザ190の動作に連動する四肢オブジェクト(例えば、左手オブジェクト910、右手オブジェクト920、足オブジェクト等)の動作に基づいて、コントローラオブジェクト900またはコントローラオブジェクト1000が動いていることを示すデータを生成し、HMD装置に送信する。   In another aspect, when the limb object and the controller object 900 or the controller object 1000 are associated, the controller management module 234 causes the limb object (eg, the left hand object 910, the right hand object 920, Based on the motion of the foot object or the like, data indicating that the controller object 900 or the controller object 1000 is moving is generated and transmitted to the HMD device.

さらに、コントローラ管理モジュール234は、コントローラオブジェクト900,1000の動きをコントローラオブジェクト900,1000に対する入力として受け付ける。例えば、ユーザ190の動作に基づいてコントローラオブジェクト900,1000が回転した場合、その回転角は、コントローラオブジェクト900,1000に関連付けられている他のオブジェクトの場所あるいは姿勢を変更するための命令としてプロセッサ10に解釈される。コントローラ管理モジュール234は、その命令に応じて仮想空間2に配置されるオブジェクトの場所あるいは姿勢を変更する。   Further, the controller management module 234 receives the motion of the controller object 900, 1000 as an input to the controller object 900, 1000. For example, when the controller object 900, 1000 is rotated based on the operation of the user 190, the rotation angle is determined by the processor 10 as an instruction to change the location or posture of another object associated with the controller object 900, 1000. It is interpreted to. The controller management module 234 changes the location or posture of the object placed in the virtual space 2 according to the instruction.

メモリモジュール240は、コンピュータ200が仮想空間2をユーザ190に提供するために使用されるデータを保持している。ある局面において、メモリモジュール240は、空間情報241と、オブジェクト情報242と、ユーザ情報243とを保持している。空間情報241は、仮想空間2を提供するために規定された1つ以上のテンプレートを保持している。   Memory module 240 holds data used by computer 200 to provide virtual space 2 to user 190. In one aspect, the memory module 240 holds space information 241, object information 242, and user information 243. Spatial information 241 holds one or more templates defined to provide virtual space 2.

オブジェクト情報242は、仮想空間2において再生されるコンテンツ、当該コンテンツで使用されるオブジェクトを配置するための情報を保持している。当該コンテンツは、例えば、ゲーム、現実社会と同様の風景を表したコンテンツ等を含み得る。さらに、オブジェクト情報242は、コントローラ160を操作するユーザ190の手に相当する左手オブジェクトあるいは右手オブジェクトを仮想空間2に配置するための手オブジェクトデータと、コントローラオブジェクト900,1000を仮想空間2に配置するためのコントローラオブジェクトデータとを含む。手オブジェクトデータは、複数の向きあるいは形状を取り得る左手あるいは右手の各向きおよび形状を表す複数の画像データを含む。コントローラオブジェクトデータは、コントローラオブジェクト900またはコントローラオブジェクト1000その他の仮想空間におけるコントローラを表す画像データを含む。   The object information 242 holds content to be reproduced in the virtual space 2 and information for arranging an object used in the content. The content may include, for example, a game, content representing a scene similar to a real society, and the like. Further, the object information 242 arranges the hand object data for arranging the left hand object or the right hand object corresponding to the hand of the user 190 operating the controller 160 in the virtual space 2 and the controller objects 900 and 1000 in the virtual space 2 And controller object data. The hand object data includes a plurality of image data representing each left hand or right hand orientation and shape that can take a plurality of orientations or shapes. The controller object data includes image data representing a controller in the virtual space of the controller object 900 or controller object 1000 or the like.

ユーザ情報243は、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム、オブジェクト情報242に保持される各コンテンツを使用するアプリケーションプログラム等を保持している。メモリモジュール240に格納されているデータおよびプログラムは、HMD装置110のユーザによって入力される。あるいは、プロセッサ10が、当該コンテンツを提供する事業者が運営するコンピュータ(例えば、サーバ150)からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール240に格納する。   The user information 243 holds a program for causing the computer 200 to function as a control device of the HMD system 100, an application program using each content held in the object information 242, and the like. Data and programs stored in the memory module 240 are input by the user of the HMD device 110. Alternatively, the processor 10 downloads a program or data from a computer (for example, the server 150) operated by a provider providing the content, and stores the downloaded program or data in the memory module 240.

通信制御モジュール250は、ネットワーク19を介して、サーバ150その他の情報通信装置と通信し得る。   Communication control module 250 may communicate with server 150 and other information communication devices via network 19.

ある局面において、表示制御モジュール220および仮想空間制御モジュール230は、例えば、ユニティテクノロジーズ社によって提供されるUnity(登録商標)を用いて実現され得る。別の局面において、表示制御モジュール220および仮想空間制御モジュール230は、各処理を実現する回路素子の組み合わせとしても実現され得る。   In one aspect, the display control module 220 and the virtual space control module 230 may be implemented using, for example, Unity (registered trademark) provided by Unity Technologies. In another aspect, the display control module 220 and the virtual space control module 230 can also be realized as a combination of circuit elements that implement each process.

コンピュータ200における処理は、ハードウェアと、プロセッサ10により実行されるソフトウェアとによって実現される。このようなソフトウェアは、ハードディスクその他のメモリモジュール240に予め格納されている場合がある。また、ソフトウェアは、CD−ROMその他のコンピュータ読み取り可能な不揮発性のデータ記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、当該ソフトウェアは、インターネットその他のネットワークに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、光ディスク駆動装置その他のデータ読取装置によってデータ記録媒体から読み取られて、あるいは、通信制御モジュール250を介してサーバ150その他のコンピュータからダウンロードされた後、記憶モジュールに一旦格納される。そのソフトウェアは、プロセッサ10によって記憶モジュールから読み出され、実行可能なプログラムの形式でRAMに格納される。プロセッサ10は、そのプログラムを実行する。   Processing in the computer 200 is realized by hardware and software executed by the processor 10. Such software may be stored in advance in a hard disk or other memory module 240. The software may be stored in a CD-ROM or other computer readable non-volatile data storage medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other network. Such software is temporarily stored in the storage module after being read from the data recording medium by an optical disk drive or other data reader, or downloaded from the server 150 or other computer via the communication control module 250. . The software is read from the storage module by the processor 10 and stored in RAM in the form of an executable program. The processor 10 executes the program.

コンピュータ200を構成するハードウェアは、一般的なものである。したがって、本実施の形態に係る最も本質的な部分は、コンピュータ200に格納されたプログラムであるともいえる。なお、コンピュータ200のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。   The hardware that makes up the computer 200 is general. Therefore, it can be said that the most essential part according to the present embodiment is a program stored in computer 200. The operation of the hardware of computer 200 is well known, and therefore detailed description will not be repeated.

なお、データ記録媒体としては、CD−ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する不揮発性のデータ記録媒体でもよい。   Incidentally, the data recording medium is not limited to CD-ROM, FD (Flexible Disk), hard disk, magnetic tape, cassette tape, optical disk (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc) ), IC (Integrated Circuit) card (including memory card), optical card, mask ROM, semiconductor memory such as EEPROM (Electronically Programmable Read-Only Memory), EEPROM (Electronically Erasable Programmable Read-Only Memory), flash ROM, etc. It may be a non-volatile data storage medium that carries a program fixedly.

ここでいうプログラムとは、プロセッサ10により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含み得る。   The program referred to here may include not only a program directly executable by the processor 10 but also a program in source program format, a compressed program, an encrypted program, and the like.

[制御構造]
図12を参照して、ある実施の形態に係るコンピュータ200の制御構造について説明する。図12は、HMDシステム100が実行する処理を表わすフローチャートである。
Control structure
A control structure of the computer 200 according to an embodiment will be described with reference to FIG. FIG. 12 is a flowchart showing the process performed by the HMD system 100.

ステップS1210にて、コンピュータ200のプロセッサ10は、仮想空間定義モジュール231として、仮想空間画像データを特定し、仮想空間を定義する。   In step S1210, the processor 10 of the computer 200 specifies virtual space image data as the virtual space definition module 231, and defines a virtual space.

ステップS1220にて、プロセッサ10は、仮想カメラ1を初期化する。例えば、プロセッサ10は、メモリのワーク領域において、仮想カメラ1を仮想空間2において予め規定された中心点に配置し、仮想カメラ1の視線をユーザ190が向いている方向に向ける。   In step S1220, the processor 10 initializes the virtual camera 1. For example, in the work area of the memory, the processor 10 arranges the virtual camera 1 at a predetermined center point in the virtual space 2 and directs the line of sight of the virtual camera 1 in the direction in which the user 190 is facing.

ステップS1230にて、プロセッサ10は、視界画像生成モジュール223として、初期の視界画像を表示するための視界画像データを生成する。生成された視界画像データは、視界画像生成モジュール223を介して通信制御モジュール250によってHMD装置110に送られる。   In step S1230, the processor 10 generates visibility image data for displaying an initial visibility image as the visibility image generation module 223. The generated view image data is sent to the HMD device 110 by the communication control module 250 via the view image generation module 223.

ステップS1232にて、HMD装置110のモニタ112は、コンピュータ200から受信した視界画像データに基づいて、視界画像を表示する。HMD装置110を装着したユーザ190は、視界画像を視認すると仮想空間2を認識し得る。   In step S1232, the monitor 112 of the HMD device 110 displays a view image based on the view image data received from the computer 200. The user 190 wearing the HMD device 110 can recognize the virtual space 2 when viewing the view image.

ステップS1234にて、HMDセンサ120は、HMD装置110から発信される複数の赤外線光に基づいて、HMD装置110の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ200に送られる。   In step S1234, the HMD sensor 120 detects the position and inclination of the HMD device 110 based on the plurality of infrared light beams emitted from the HMD device 110. The detection result is sent to the computer 200 as motion detection data.

ステップS1240にて、プロセッサ10は、HMD装置110の位置と傾きとに基づいて、HMD装置110を装着したユーザ190の視界方向を特定する。プロセッサ10は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間2にオブジェクトを配置する。   In step S1240, processor 10 specifies the direction of view of user 190 wearing HMD device 110 based on the position and tilt of HMD device 110. The processor 10 executes an application program, and places an object in the virtual space 2 based on an instruction included in the application program.

ステップS1242にて、コントローラ160は、モーションセンサ130から出力される信号に基づいて、ユーザ190の動作を検出する。なお、別の局面において、ユーザ190の動作は、ユーザ190の周囲に配置されたカメラからの画像に基づいて検出されてもよい。   In step S 1242, the controller 160 detects the operation of the user 190 based on the signal output from the motion sensor 130. Note that in another aspect, the motion of the user 190 may be detected based on an image from a camera disposed around the user 190.

ステップS1250にて、プロセッサ10は、手オブジェクトを仮想空間2に配置するための視界画像データを生成し、生成した視界画像データをHMD装置110に送信する。HMD装置110は、視界画像データを受信すると、視界画像データに基づく手オブジェクトをモニタ112に表示する。   In step S1250, the processor 10 generates view image data for arranging the hand object in the virtual space 2, and transmits the generated view image data to the HMD device 110. When receiving the view image data, the HMD device 110 displays a hand object based on the view image data on the monitor 112.

ステップS1260にて、プロセッサ10は、コントローラオブジェクト900,1000を配置するためのデータを生成し、生成した視界画像データをHMD装置110に送信する。HMD装置110は、視界画像データを受信すると、視界画像データに基づく手オブジェクトをモニタ112に表示する。   In step S1260, processor 10 generates data for arranging controller objects 900 and 1000, and transmits the generated view image data to HMD device 110. When receiving the view image data, the HMD device 110 displays a hand object based on the view image data on the monitor 112.

ステップS1270にて、プロセッサ10は、手オブジェクト(例えば、左手オブジェクト910および右手オブジェクト920)とコントローラオブジェクト900,1000とを関連付ける。   In step S1270, the processor 10 associates the hand object (for example, the left hand object 910 and the right hand object 920) with the controller objects 900 and 1000.

ステップS1272にて、コントローラ160は、モーションセンサ130から出力される信号に基づいて、ユーザ190の動作を検出する。なお、ステップS1242の場合と同様に、別の局面において、ユーザ190の動作は、ユーザ190の周囲に配置されたカメラからの画像に基づいて検出されてもよい。   In step S1272, the controller 160 detects the operation of the user 190 based on the signal output from the motion sensor 130. As in the case of step S1242, in another aspect, the operation of the user 190 may be detected based on an image from a camera arranged around the user 190.

ステップS1280にて、プロセッサ10は、手オブジェクト(例えば、左手オブジェクト910および右手オブジェクト920)とコントローラオブジェクト900,1000とを回転させることを検知する。   In step S1280, the processor 10 detects that the hand object (eg, the left hand object 910 and the right hand object 920) and the controller objects 900 and 1000 are rotated.

ステップS1290にて、プロセッサ10は、手オブジェクト(例えば、左手オブジェクト910および右手オブジェクト920)とコントローラオブジェクト900,1000とが回転していることを示す視界画像データを生成し、生成した視界画像データをHMD装置110に送信する。   In step S 1290, processor 10 generates view image data indicating that the hand object (for example, left hand object 910 and right hand object 920) and controller objects 900 and 1000 are rotating, and generates the generated view image data. Transmit to the HMD device 110.

ステップS1292にて、HMD装置110は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像をモニタ112に表示する。   In step S1292, the HMD device 110 updates the view image based on the received view image data, and displays the updated view image on the monitor 112.

図13を参照して、ある実施の形態に係るコンピュータ200の制御構造について説明する。図13は、ある実施の形態の一局面においてコンピュータ200のプロセッサ10が実行する詳細な処理を表わすフローチャートである。   A control structure of the computer 200 according to an embodiment will be described with reference to FIG. FIG. 13 is a flowchart representing detailed processing performed by the processor 10 of the computer 200 in one aspect of an embodiment.

ステップS1310にて、プロセッサ10は、ユーザ190によるコントローラ160の操作に基づいて、アプリケーションプログラムの実行を開始する。   In step S1310, processor 10 starts execution of an application program based on an operation of controller 160 by user 190.

ステップS1315にて、プロセッサ10は、仮想空間定義モジュール231として、仮想空間2を定義して、コントローラ160を把持しているユーザ190が装着しているHMD装置110に仮想空間2を提供する。   In step S1315, the processor 10 defines the virtual space 2 as the virtual space definition module 231, and provides the virtual space 2 to the HMD device 110 worn by the user 190 who is gripping the controller 160.

ステップS1320にて、プロセッサ10は、手オブジェクト管理モジュール233として、現実空間におけるユーザ190の動作に基づいて、仮想空間2に左手オブジェクト910および右手オブジェクト920を配置する。   In step S1320, the processor 10 arranges the left hand object 910 and the right hand object 920 in the virtual space 2 as the hand object management module 233 based on the operation of the user 190 in the real space.

ステップS1325にて、プロセッサ10は、コントローラ管理モジュール234として、現実空間におけるユーザ190の動作に基づいて、仮想空間2にコントローラオブジェクト(例えば、コントローラオブジェクト900またはコントローラオブジェクト1000)を配置する。   In step S1325, the processor 10, as the controller management module 234, arranges the controller object (for example, the controller object 900 or the controller object 1000) in the virtual space 2 based on the operation of the user 190 in the real space.

ステップS1330にて、プロセッサ10は、入力を待機する。
ステップS1340にて、プロセッサ10は、モーションセンサ130から出力された信号と、左手オブジェクト910および右手オブジェクト920ならびにコントローラオブジェクトを配置するためのデータの座標値とに基づいて、左手オブジェクト910および右手オブジェクト920と、コントローラオブジェクトとが接触したか否かを判断する。プロセッサ10は、これらのオブジェクトが接触したと判断すると(ステップS1340にてYES)、処理をステップS1350に切り換える。そうでない場合には(ステップS1340にてNO)、制御をステップS1330に戻す。
In step S1330, the processor 10 waits for input.
In step S1340, processor 10 generates left hand object 910 and right hand object 920 based on the signal output from motion sensor 130 and the coordinate values of the data for arranging left hand object 910 and right hand object 920 and the controller object. And whether or not the controller object has touched. If processor 10 determines that these objects are in contact (YES in step S1340), it switches the process to step S1350. If not (NO in step S1340), the control returns to step S1330.

ステップS1350にて、プロセッサ10は、左手オブジェクト910および右手オブジェクト920と、コントローラオブジェクトとを関連付ける。この関連付けにより、少なくともいずれかの手オブジェクトの動作に応じて、コントローラオブジェクトも動作し得る。   In step S1350, the processor 10 associates the left hand object 910 and the right hand object 920 with the controller object. By this association, the controller object may also operate in response to the operation of at least one hand object.

ステップS1360にて、プロセッサ10は、現実空間のユーザ190による手の回転動作に基づいて、左手オブジェクト910および右手オブジェクト920を回転させる。より詳しくは、プロセッサ10は、左手オブジェクト910および右手オブジェクト920が回転していることを示す視界画像データを生成し、その生成したデータをHMD装置110に送信する。モニタ112がそのデータに基づいて画像を表示すると、HMD装置110を装着しているユーザ190は、仮想空間2において、左手オブジェクト910および右手オブジェクト920が回転していることを認識し得る。   In step S1360, the processor 10 rotates the left hand object 910 and the right hand object 920 based on the rotation movement of the hand by the user 190 in real space. More specifically, the processor 10 generates view image data indicating that the left hand object 910 and the right hand object 920 are rotating, and transmits the generated data to the HMD device 110. When the monitor 112 displays an image based on the data, the user 190 wearing the HMD device 110 can recognize that the left hand object 910 and the right hand object 920 are rotating in the virtual space 2.

ステップS1370にて、プロセッサ10は、現実空間におけるユーザ190の動作に連動した手オブジェクトの回転に合わせて、コントローラオブジェクトを回転させる。より詳しくは、プロセッサ10は、モーションセンサ130からの信号と、オブジェクト情報242として保存されているコントローラオブジェクトの配置情報(例、仮想空間2における座標値等)とに基づいて、コントローラオブジェクト900が回転していることを表す視界画像データを生成する。コンピュータ200が視界画像データをHMD装置110に送信すると、モニタ112は、視界画像データに基づいて、コントローラオブジェクト900が回転していることを示す画像を表示する。   In step S1370, the processor 10 rotates the controller object in accordance with the rotation of the hand object interlocked with the operation of the user 190 in the real space. More specifically, the processor 10 rotates the controller object 900 based on the signal from the motion sensor 130 and the arrangement information of the controller object stored as the object information 242 (eg, coordinate values in the virtual space 2). Generate view image data representing what you are doing. When the computer 200 transmits the view image data to the HMD device 110, the monitor 112 displays an image indicating that the controller object 900 is rotating based on the view image data.

ステップS1380にて、プロセッサ10は、コントローラオブジェクトの回転を、命令の入力として受け付ける。より詳しくは、コントローラオブジェクトの回転の程度(回転角度、回転速度)に応じて予め定められていた処理が、当該回転に応じて実行される。   In step S1380, processor 10 receives rotation of the controller object as an input of an instruction. More specifically, processing predetermined according to the degree of rotation (rotation angle, rotation speed) of the controller object is executed according to the rotation.

ステップS1390にて、プロセッサ10は、入力された命令に応じた処理を実行し、視界画像を表示する。   In step S1390, the processor 10 executes a process according to the input command and displays a view image.

なお、上記の処理の一態様として、コンピュータ200が各処理ステップを実行する態様が例示されているが、HMD装置110のプロセッサが各処理ステップを実行してもよい。   In addition, although the aspect which the computer 200 performs each process step is illustrated as one aspect | mode of said process, the processor of HMD apparatus 110 may perform each process step.

次に、図14〜図17を参照して、仮想空間2に配置されたコントロールオブジェクトによる他のオブジェクトの制御について説明する。ある実施の形態において、HMD装置110を装着したユーザ190は、仮想ユーザとして、仮想空間2における視界画像1400を視認している。   Next, control of another object by the control object arranged in the virtual space 2 will be described with reference to FIGS. 14 to 17. In one embodiment, the user 190 wearing the HMD device 110 views the view image 1400 in the virtual space 2 as a virtual user.

図14は、コントローラオブジェクトが配置されていない状態を表す図である。図14の分図(A)は、仮想ユーザによって認識されている視界画像1400をあらわす。視界画像1400は、左手オブジェクト910と、右手オブジェクト920と、木オブジェクト1410と、山オブジェクト1420とを含む。分図(A)に示されるように、HMD装置110のモニタ112が視界画像データに基づいて画像を表示している場合には、HMD装置を装着したユーザ190は、仮想ユーザとして、モニタ112によって表示される画像に基づいて視界画像1400を認識する。   FIG. 14 is a diagram showing a state in which no controller object is arranged. Portion (A) of FIG. 14 represents a view image 1400 recognized by a virtual user. The view image 1400 includes a left hand object 910, a right hand object 920, a tree object 1410, and a mountain object 1420. As shown in FIG. 6A, when the monitor 112 of the HMD device 110 displays an image based on the view image data, the user 190 wearing the HMD device can use the monitor 112 as a virtual user. The view image 1400 is recognized based on the displayed image.

分図(B)は、視界画像1400をもたらす仮想空間2の視界領域23を表す図である。仮想カメラ1による撮影範囲には、左手オブジェクト910と、右手オブジェクト920と、木オブジェクト1410と、山オブジェクト1420とが含まれている。仮想ユーザの視点に対応する仮想カメラ1は、仮想ユーザの視野に応じた視界領域23をとらえている。   The diagram (B) is a diagram representing the view area 23 of the virtual space 2 that provides the view image 1400. The shooting range of the virtual camera 1 includes a left hand object 910, a right hand object 920, a tree object 1410, and a mountain object 1420. The virtual camera 1 corresponding to the view point of the virtual user captures a view area 23 according to the view of the virtual user.

図15は、コントローラオブジェクト900が配置された状態を表す図である。ユーザ190が、コントローラオブジェクト900を表示するために予め定められた操作を実行すると、コントローラオブジェクト900は仮想空間2に配置される。   FIG. 15 is a diagram showing a state in which the controller object 900 is arranged. When the user 190 executes a predetermined operation to display the controller object 900, the controller object 900 is placed in the virtual space 2.

例えば、図15の分図(A)に示されるように、コントローラオブジェクト900は、左手オブジェクト910および右手オブジェクト920から予め定められた距離だけ離れた位置に配置される。このとき、コントローラオブジェクト900と左手オブジェクト910および右手オブジェクト920とは、互いに関連付けられていない。   For example, as shown in FIG. 15A, the controller object 900 is placed at a predetermined distance from the left hand object 910 and the right hand object 920. At this time, the controller object 900, the left hand object 910, and the right hand object 920 are not associated with each other.

分図(B)に示されるように、コントローラオブジェクト900は、視界領域23において、左手オブジェクト910および右手オブジェクト920から離れて配置されている。   As shown in the diagram (B), the controller object 900 is disposed away from the left hand object 910 and the right hand object 920 in the view area 23.

図16は、左手オブジェクト910および右手オブジェクト920とコントローラオブジェクト900とが互いに関連付けられた状態を表す図である。ユーザ190が、左手オブジェクト910および右手オブジェクト920とコントローラオブジェクト900とを関連付けるために予め定められた操作を実行すると、左手オブジェクト910および右手オブジェクト920は、コントローラオブジェクト900に接触する場所に移る。別の局面において、コントローラオブジェクト900が左手オブジェクト910と右手オブジェクト920の方に向かって移動してもよい。   FIG. 16 is a diagram showing a state in which the left hand object 910 and the right hand object 920 and the controller object 900 are associated with each other. When the user 190 executes a predetermined operation to associate the left-hand object 910 and the right-hand object 920 with the controller object 900, the left-hand object 910 and the right-hand object 920 move to the place where the controller object 900 is touched. In another aspect, controller object 900 may move toward left hand object 910 and right hand object 920.

例えば、図16の分図(A)に示されるように、コントローラオブジェクト900のリング形状部分に、左手オブジェクト910および右手オブジェクト920が接している。このとき、コントローラオブジェクト900と左手オブジェクト910および右手オブジェクト920とは、互いに関連付けられている。   For example, as shown in FIG. 16A, a left-hand object 910 and a right-hand object 920 are in contact with the ring-shaped portion of the controller object 900. At this time, the controller object 900, the left hand object 910, and the right hand object 920 are associated with each other.

分図(B)に示されるように、コントローラオブジェクト900は、視界領域23において、左手オブジェクト910および右手オブジェクト920に接するように配置されている。   As shown in the diagram (B), the controller object 900 is arranged in contact with the left hand object 910 and the right hand object 920 in the view area 23.

図17は、左手オブジェクト910および右手オブジェクト920がコントローラオブジェクト900を操作して右方向に回転した状態を表す図である。ユーザ190が、左手と右手を現実空間で動かすと、その動きに応じて、左手オブジェクト910および右手オブジェクト920は、コントローラオブジェクト900を動かす。例えば、ユーザ190が自動車のハンドルを時計方向に回す操作を行なうと、左手オブジェクト910および右手オブジェクト920は、コントローラオブジェクト900を時計方向に回転させようとする。この時、コントローラオブジェクト900の回転は、仮想空間2に対する回転の命令としてプロセッサ10に解釈される。そこで、プロセッサ10は、仮想カメラ1を回転させて仮想ユーザの視線が移動した状態の視界画像を作成する。   FIG. 17 is a diagram showing a state in which the left hand object 910 and the right hand object 920 operate the controller object 900 and are rotated in the right direction. When the user 190 moves the left hand and the right hand in the real space, the left hand object 910 and the right hand object 920 move the controller object 900 according to the movement. For example, when the user 190 operates to turn the steering wheel of the car clockwise, the left hand object 910 and the right hand object 920 try to rotate the controller object 900 clockwise. At this time, the rotation of the controller object 900 is interpreted by the processor 10 as an instruction of rotation to the virtual space 2. Therefore, the processor 10 rotates the virtual camera 1 to create a view image in a state in which the line of sight of the virtual user has moved.

例えば、図17の分図(A)に示されるように、コントローラオブジェクト900は時計方向に回転している。この回転によって、仮想空間2における仮想ユーザの視線を変える命令がコンピュータ200に与えられる。   For example, as shown in FIG. 17A (A), the controller object 900 is rotating clockwise. This rotation gives the computer 200 an instruction to change the line of sight of the virtual user in the virtual space 2.

このとき、分図(B)に示されるように、木オブジェクト1410を正面にとらえた状態が視界領域23として、プロセッサ10によって定義される。   At this time, as shown in the diagram (B), the processor 10 defines a state in which the tree object 1410 is captured in front as the view area 23.

要約すると、本明細書に開示された主題は、例えば以下のような構成として示される。
[構成1]
ある実施の形態に従うと、仮想空間2に表示されるオブジェクトを制御するためにコンピュータ200で実行される方法が提供される。この方法は、HMD装置110によって提供される仮想空間2を定義するステップと、仮想空間2において制御を受け付けるコントローラオブジェクト900,1000を仮想空間2に配置するステップと、HMD装置110を装着したユーザ190の四肢(手足)のいずれかの状態を検出するステップと、四肢のいずれかに対応する四肢オブジェクト(例えば、右手オブジェクト、右足オブジェクト)を仮想空間2に配置するステップと、四肢オブジェクトとコントローラオブジェクト900,1000とが関連付けられている場合に、ユーザ190の動作に連動する四肢オブジェクトの動作に基づいて、コントローラオブジェクト900,1000を動かすステップと、コントローラオブジェクト900,1000の動きをコントローラオブジェクト900,1000に対する入力として受け付けるステップとを含む。
In summary, the subject matter disclosed in the present specification is shown, for example, as the following configuration.
[Configuration 1]
According to one embodiment, a method is provided that is executed by computer 200 to control objects displayed in virtual space 2. This method comprises the steps of defining the virtual space 2 provided by the HMD device 110, arranging the controller objects 900 1000 in the virtual space 2 to receive control in the virtual space 2, and the user 190 wearing the HMD device 110. Detecting any state of the four limbs (hands and feet), placing a limb object (for example, a right hand object, a right foot object) corresponding to one of the limbs in the virtual space 2, a limb object and a controller object 900 , 1000 are associated with each other, the controller object 900, 1000 is moved based on the motion of the limb object linked to the motion of the user 190, and the motion of the controller object 900, 1000 is controlled. And a step of receiving as an input to object 900, 1000.

[構成2] 好ましくは、上記の方法は、四肢オブジェクトとコントローラオブジェクト900,1000とが関連付けられていない場合に、ユーザ190の動作に基づいて、四肢オブジェクトを動かすステップをさらに含む。   [Configuration 2] Preferably, the above-described method further includes moving the limb object based on the operation of the user 190 when the limb object and the controller object 900 and 1000 are not associated.

[構成3] 好ましくは、上記の方法は、ユーザ190の動作に連動した四肢オブジェクトの動きに基づいて、四肢オブジェクトとコントローラオブジェクト900,1000とを関連付けるステップをさらに含む。例えば、プロセッサ10は、右手オブジェクトの座標値とコントローラオブジェクト900の座標値とを関連付けてメモリ11に格納する。   [Configuration 3] Preferably, the above-described method further includes the step of associating the limb object with the controller object 900 1000 based on the motion of the limb object interlocked with the motion of the user 190. For example, the processor 10 associates the coordinate value of the right hand object with the coordinate value of the controller object 900, and stores the associated value in the memory 11.

[構成4] 好ましくは、四肢オブジェクトとコントローラオブジェクト900,1000との関連付けは、仮想空間2において四肢オブジェクトとコントローラオブジェクト900,1000との接触に応答して行なわれる。例えば、右手オブジェクトの座標値とコントローラオブジェクト900の一部の座標値とが同じ値である場合に、右手オブジェクトとコントローラオブジェクト900とが関連付けられる。   [Configuration 4] Preferably, the association between the limb object and the controller object 900, 1000 is performed in response to the contact between the limb object and the controller object 900, 1000 in the virtual space 2. For example, when the coordinate value of the right hand object and the coordinate value of part of the controller object 900 are the same value, the right hand object and the controller object 900 are associated.

[構成5] 好ましくは、コントローラオブジェクト900,1000は、回転操作を受け付ける回転オブジェクトを含む。コントローラオブジェクト900,1000を動かすステップは、回転オブジェクトを回転させることを含む。例えば、コントローラオブジェクト900,1000は、予め定められた回転軸を中心に回転する。   [Configuration 5] Preferably, controller objects 900 and 1000 include a rotation object that receives a rotation operation. Moving the controller objects 900, 1000 includes rotating the rotating object. For example, the controller objects 900 and 1000 rotate around a predetermined rotation axis.

[構成6] 好ましくは、コントローラオブジェクト900,1000は、少なくとも一方向への操作を受け付けるスティックオブジェクトを含む。コントローラオブジェクト900,1000を動かすステップは、ユーザ190による少なくとも一方向の動作(例えば、上下左右のいずれかの方向)に連動して、少なくとも一方向にスティックオブジェクトを移動させることを含む。   [Configuration 6] Preferably, the controller objects 900 and 1000 include stick objects that receive an operation in at least one direction. The step of moving the controller object 900 1000 may include moving the stick object in at least one direction in conjunction with at least one direction movement (eg, any of upper, lower, left, and right directions) by the user 190.

例えば、上記の方法において、仮想空間2に1つのスティックオブジェクトを配置する場合、コントローラオブジェクトを動かすステップは、四肢オブジェクトとスティックオブジェクトとが関連付けられることで、スティックオブジェクトが傾くように、スティックオブジェクトを移動させることを含む。例えば、スティックオブジェクトを、飛行体などの移動物体を操縦するための操縦桿と見立てた場合、コンピュータ200は、スティックオブジェクトの傾きに応じて、移動物体を移動させるための入力として受け付けることができる。コンピュータ200は、スティックオブジェクトの傾きに応じて、仮想空間2における仮想カメラの配置(傾きなど)を制御して視界画像を生成する。例えば、スティックオブジェクトを前後方向に傾けるような操作を受け付けて、仮想カメラを、ピッチ方向の軸に基づいて回転させることとしてもよい。また、上記の方法において、仮想空間2に2つのスティックオブジェクトを配置する場合、コントローラオブジェクトを動かすステップは、四肢オブジェクトとスティックオブジェクトとが関連付けられることで、スティックオブジェクトが傾くように、スティックオブジェクトを移動させることを含む。例えば、2つのスティックオブジェクトを、戦車その他の移動物体を移動させるための2本のレバーと見立て、レバーを傾けるように倒す操作を、移動物体を操縦するための入力として受け付けることができる。この場合、例えば、2つのスティックオブジェクトのうち片方のスティックオブジェクトを右手オブジェクトと関連付け、もう片方のスティックオブジェクトを左手オブジェクトと関連づけることで、コンピュータ200は、スティックオブジェクトの傾きに応じて、移動物体を移動させるための入力として受け付けることができる。   For example, in the above method, in the case of placing one stick object in the virtual space 2, moving the controller object moves the stick object so that the stick object tilts by associating the limb object with the stick object. Including doing. For example, when the stick object is regarded as a control stick for operating a moving object such as a flying object, the computer 200 can receive an input for moving the moving object according to the tilt of the stick object. The computer 200 controls the arrangement (inclination, etc.) of the virtual camera in the virtual space 2 in accordance with the inclination of the stick object to generate a view image. For example, the virtual camera may be rotated based on the axis in the pitch direction by receiving an operation to tilt the stick object in the front-rear direction. In the above method, when placing two stick objects in the virtual space 2, the step of moving the controller object moves the stick object so that the stick object tilts by associating the limb object with the stick object. Including doing. For example, the two stick objects can be regarded as two levers for moving a tank or other moving object, and an operation of tilting the lever can be accepted as an input for steering the moving object. In this case, for example, by associating one stick object of the two stick objects with the right hand object and associating the other stick object with the left hand object, the computer 200 moves the moving object in accordance with the tilt of the stick object. It can be accepted as an input to

[構成7] 好ましくは、コントローラオブジェクト900,1000を仮想空間2に配置するステップは、ユーザ190の動作に基づいて、コントローラオブジェクト900,1000を仮想空間2に配置することを含む。   [Configuration 7] Preferably, the step of arranging the controller objects 900 and 1000 in the virtual space 2 includes arranging the controller objects 900 and 1000 in the virtual space 2 based on the operation of the user 190.

[構成8] 好ましくは、コントローラオブジェクト900,1000を仮想空間2に配置するステップは、仮想空間2を提供するプログラムにおけるシナリオの進行に合わせて、コントローラオブジェクト900,1000を仮想空間2に配置することを含む。   [Arrangement 8] Preferably, in the step of arranging the controller objects 900 and 1000 in the virtual space 2, arranging the controller objects 900 and 1000 in the virtual space 2 in accordance with the progress of a scenario in a program providing the virtual space 2. including.

[構成9] 他の実施の形態に従うと、上記のいずれかに記載の方法をコンピュータに実行させるプログラムが提供される。   [Configuration 9] According to another embodiment, there is provided a program that causes a computer to execute the method described in any of the above.

[構成10] さらに他の実施の形態に従うと、仮想空間2に表示されるオブジェクトの制御装置が提供される。この制御装置は、上記のプログラムを格納したメモリ11と、メモリ11に結合され、プログラムを実行するためのプロセッサ10とを備える。   [Configuration 10] According to still another embodiment, a control device of an object displayed in virtual space 2 is provided. The control device includes a memory 11 storing the above program, and a processor 10 coupled to the memory 11 for executing the program.

以上のようにして、ある実施の形態に従うHMDシステム100によれば、仮想空間2には手オブジェクトが配置される。さらに、手オブジェクトが配置されている状態でコントローラオブジェクトを仮想空間2に配置するために予め定められた条件が成立すると、コントローラオブジェクトも仮想空間2に配置される。手オブジェクトとコントローラオブジェクトとを関連付けるために予め定められた条件が成立すると、手オブジェクトとコントローラオブジェクトとが関連付けられる。ユーザ190が手を動かすと、その動きに応じて手オブジェクトが動き、手オブジェクトの動きに連動してコントローラオブジェクトも作動する。このようにすると、手オブジェクトに限らずコントローラオブジェクトを用いて、仮想空間2に配置されるオブジェクトを操作することができるので、多様な入力操作を実現できる。   As described above, according to the HMD system 100 according to an embodiment, a hand object is placed in the virtual space 2. Furthermore, when a predetermined condition for arranging the controller object in the virtual space 2 is satisfied in a state in which the hand object is arranged, the controller object is also arranged in the virtual space 2. When a predetermined condition is established to associate the hand object with the controller object, the hand object is associated with the controller object. When the user 190 moves the hand, the hand object moves according to the movement, and the controller object also operates in conjunction with the movement of the hand object. In this way, it is possible to manipulate objects arranged in the virtual space 2 using not only hand objects but also controller objects, so that various input operations can be realized.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   It should be understood that the embodiments disclosed herein are illustrative and non-restrictive in every respect. The scope of the present invention is indicated not by the above description but by the claims, and is intended to include all the modifications within the meaning and scope equivalent to the claims.

1 仮想カメラ、2 仮想空間、5 基準視線、10 プロセッサ、11 メモリ、12 ストレージ、13 入出力インターフェイス、14 通信インターフェイス、15 バス、19 ネットワーク、21 中心、22 仮想空間画像、23 視界領域、26,1400 視界画像、30 グリップ、31 フレーム、32 天面、33,34,36,37 ボタン、38 アナログスティック、100 システム、110 装置、112 モニタ、114,120 センサ、130 モーションセンサ、140 注視センサ、150 サーバ、160 コントローラ、190 ユーザ、200 コンピュータ、220 表示制御モジュール、221 仮想カメラ制御モジュール、222 視界領域決定モジュール、223 視界画像生成モジュール、224 基準視線特定モジュール、230 仮想空間制御モジュール、231 仮想空間定義モジュール、232 仮想オブジェクト生成モジュール、233 手オブジェクト管理モジュール、234 コントローラ管理モジュール、240 メモリモジュール、241 空間情報、242 オブジェクト情報、243 ユーザ情報、250 通信制御モジュール、800 右コントローラ、810 右手、900,1000 コントローラオブジェクト、910 左手オブジェクト、920 右手オブジェクト、1410 木オブジェクト、1420 山オブジェクト。   Reference Signs List 1 virtual camera, 2 virtual space, 5 reference line of sight, 10 processors, 11 memories, 12 storages, 13 input / output interfaces, 14 communication interfaces, 15 buses, 19 networks, 21 centers, 22 virtual space images, 23 view areas, 26, 1400 view image, 30 grips, 31 frames, 32 top surfaces, 33, 34, 36, 37 buttons, 38 analog sticks, 100 systems, 110 devices, 112 monitors, 114, 120 sensors, 130 motion sensors, 140 gaze sensors, 150 Server, 160 controller, 190 user, 200 computer, 220 display control module, 221 virtual camera control module, 222 view area determination module, 223 view image generation module, 224 Quasi-gaze identification module, 230 virtual space control module, 231 virtual space definition module, 232 virtual object generation module, 233 hand object management module, 234 controller management module, 240 memory module, 241 space information, 242 object information, 243 user information, 250 communication control module, 800 right controller, 810 right hand, 900, 1000 controller object, 910 left hand object, 920 right hand object, 1410 tree object, 1420 mountain object.

Claims (11)

仮想空間に表示されるオブジェクトを制御するための方法であって、
非透過型のヘッドマウントディスプレイ装置によって提供される仮想空間を定義するステップと、
前記非透過型のヘッドマウントディスプレイ装置を頭部に装着し、コントローラを手に把持したユーザの頭部の動きに応じて、前記仮想空間における視界領域を更新し、前記視界領域により特定される視界画像を前記非透過型のヘッドマウントディスプレイ装置に表示させるステップと、
前記ユーザの手に把持される前記コントローラから、前記コントローラにより検出された前記ユーザの手の動きを示す信号を取得するステップと、
前記ユーザの手に対応する手オブジェクトを前記仮想空間に配置するステップと、
記信号に基づき、前記ユーザの手の動作に連動して前記手オブジェクトを動かすステップと、
前記仮想空間において制御を受け付けるコントローラオブジェクトを、前記仮想空間において前記手オブジェクトから離れた位置に配置するステップと、
前記手オブジェクトと前記コントローラオブジェクトとが離れた位置にあって関連付けられていない場合、前記ユーザの手に把持される前記コントローラにより前記ユーザから予め定められた操作を受け付けることにより、前記手オブジェクトが前記コントローラオブジェクトの予め定められた位置に接触するよう前記手オブジェクトまたは前記コントローラオブジェクトの少なくともいずれかを移動させることにより、前記手オブジェクトと前記コントローラオブジェクトとを関連付けるステップと、
前記手オブジェクトと前記コントローラオブジェクトとが関連付けられている場合に、前記ユーザの手の動作に連動する前記手オブジェクトの動作に基づいて、前記コントローラオブジェクトを動かすステップと、
前記コントローラオブジェクトの動きを前記コントローラオブジェクトに対する入力として受け付けるステップと、を含む、方法。
A method for controlling an object displayed in a virtual space, comprising:
Defining a virtual space provided by the non-transmissive head mounted display device;
The non-transmissive head mounted display apparatus is mounted on the head, and the field of view in the virtual space is updated according to the movement of the head of the user holding the controller in his hand, and the field of view specified by the field of view Displaying an image on the non-transmissive head mounted display device;
Obtaining a signal from the controller held by the user's hand indicating the movement of the user's hand detected by the controller ;
Placing a hand object corresponding to the user's hand in the virtual space;
A step of pre based on No. relaxin, in conjunction with the motion of the hand of the user moves the hand object,
Placing a controller object receiving control in the virtual space at a position away from the hand object in the virtual space;
When the hand object and the controller object are apart from each other and not associated with each other, the hand object receives the predetermined operation from the user by the controller held by the hand of the user. Associating the hand object and the controller object by moving at least one of the hand object and the controller object to touch a predetermined position of the controller object;
Moving the controller object based on an action of the hand object linked to an action of the user's hand when the hand object and the controller object are associated;
Accepting the motion of the controller object as an input to the controller object.
前記手オブジェクトと前記コントローラオブジェクトとの関連付けは、前記仮想空間において前記手オブジェクトと前記コントローラオブジェクトとの接触に応答して行なわれることを含む、請求項1に記載の方法。   The method according to claim 1, wherein the association between the hand object and the controller object is performed in response to contact between the hand object and the controller object in the virtual space. 前記コントローラオブジェクトは、回転操作を受け付ける回転オブジェクトを含み、
前記コントローラオブジェクトを動かすステップは、前記回転オブジェクトを回転させることを含む、請求項1または2に記載の方法。
The controller object includes a rotation object that receives a rotation operation,
The method according to claim 1 or 2, wherein moving the controller object comprises rotating the rotating object.
前記コントローラオブジェクトは、少なくとも一方向への操作を受け付けるスティックオブジェクトを含み、
前記コントローラオブジェクトを動かすステップは、前記ユーザによる少なくとも一方向の動作に連動して、前記少なくとも一方向に前記スティックオブジェクトを移動させることを含む、請求項1〜3のいずれかに記載の方法。
The controller object includes a stick object that receives an operation in at least one direction,
The method according to any of the preceding claims, wherein moving the controller object comprises moving the stick object in the at least one direction in conjunction with at least one direction of movement by the user.
前記コントローラオブジェクトを前記仮想空間に配置するステップは、前記ユーザの手の動作に基づいて、前記コントローラオブジェクトを前記仮想空間に配置することを含む、請求項1〜4のいずれかに記載の方法。   5. A method according to any of the preceding claims, wherein placing the controller object in the virtual space comprises placing the controller object in the virtual space based on an action of the user's hand. 前記コントローラオブジェクトを前記仮想空間に配置するステップは、前記仮想空間を提供するプログラムにおけるシナリオの進行に合わせて、前記コントローラオブジェクトを前記仮想空間に配置することを含む、請求項1〜5のいずれかに記載の方法。   The step of arranging the controller object in the virtual space includes arranging the controller object in the virtual space in accordance with the progress of a scenario in a program providing the virtual space. The method described in. 前記コントローラオブジェクトの動きを前記コントローラオブジェクトに対する入力として受け付けるステップは、前記回転オブジェクトが受け付ける回転操作に応じて、前記視界領域を更新するための入力を受け付けることを含む、請求項3に記載の方法。   The method according to claim 3, wherein receiving the movement of the controller object as an input to the controller object comprises receiving an input for updating the view area in response to a rotation operation received by the rotating object. 前記コントローラオブジェクトの動きを前記コントローラオブジェクトに対する入力として受け付けるステップは、前記スティックオブジェクトが受け付ける少なくとも一方向への操作に応じて、移動物体を移動させるための入力を受け付けることを含む、請求項4に記載の方法。   The method according to claim 4, wherein the step of receiving the movement of the controller object as an input to the controller object includes receiving an input for moving the moving object in accordance with an operation in at least one direction received by the stick object. the method of. 前記コントローラオブジェクトの動きを前記コントローラオブジェクトに対する入力として受け付けるステップは、前記スティックオブジェクトが受け付ける少なくとも一方向への操作に応じて、前記視界領域を更新するための入力を受け付けることを含む、請求項4に記載の方法。   5. The method according to claim 4, wherein the step of receiving the movement of the controller object as an input to the controller object includes receiving an input for updating the view area in response to an operation in at least one direction received by the stick object. Method described. 請求項1〜9のいずれかに記載の方法をコンピュータに実行させる、プログラム。   A program that causes a computer to execute the method according to any one of claims 1 to 9. 請求項10に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、仮想空間に表示されるオブジェクトを制御するための装置。
A memory storing the program according to claim 10.
An apparatus for controlling an object displayed in a virtual space, comprising: a processor coupled to the memory and executing the program.
JP2016162576A 2016-08-23 2016-08-23 Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method Active JP6535641B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016162576A JP6535641B2 (en) 2016-08-23 2016-08-23 Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method
US15/683,446 US20180059788A1 (en) 2016-08-23 2017-08-22 Method for providing virtual reality, program for executing the method on computer, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016162576A JP6535641B2 (en) 2016-08-23 2016-08-23 Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017189204A Division JP2018032415A (en) 2017-09-28 2017-09-28 Method and apparatus for controlling objects displayed in virtual space, and program for causing computer to execute the method

Publications (2)

Publication Number Publication Date
JP2018032133A JP2018032133A (en) 2018-03-01
JP6535641B2 true JP6535641B2 (en) 2019-06-26

Family

ID=61304323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016162576A Active JP6535641B2 (en) 2016-08-23 2016-08-23 Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method

Country Status (1)

Country Link
JP (1) JP6535641B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7507833B2 (en) 2022-11-10 2024-06-28 任天堂株式会社 GAME PROGRAM, INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING METHOD
JP7663767B1 (en) * 2024-09-27 2025-04-16 株式会社コロプラ Program and information processing system
JP7658021B1 (en) * 2024-09-27 2025-04-07 株式会社コロプラ Program and information processing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258158A (en) * 2010-06-11 2011-12-22 Namco Bandai Games Inc Program, information storage medium and image generation system
CN105359063B (en) * 2013-06-09 2018-08-17 索尼电脑娱乐公司 Utilize the head-mounted display of tracking
JP2016095557A (en) * 2014-11-12 2016-05-26 セイコーエプソン株式会社 Display control device and display control method
US9746921B2 (en) * 2014-12-31 2017-08-29 Sony Interactive Entertainment Inc. Signal generation and detector systems and methods for determining positions of fingers of a user

Also Published As

Publication number Publication date
JP2018032133A (en) 2018-03-01

Similar Documents

Publication Publication Date Title
US10223064B2 (en) Method for providing virtual space, program and apparatus therefor
JP6523233B2 (en) Information processing method, apparatus, and program for causing a computer to execute the information processing method
JP6298523B1 (en) Method executed by computer to communicate through virtual space, program for causing computer to execute the method, and computer apparatus
JP2018072604A (en) Method for suppressing VR sickness, program for causing computer to execute the method, and information processing apparatus
JP6425846B1 (en) PROGRAM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD
JP6684746B2 (en) Information processing method, computer and program
JP6227732B1 (en) Method and apparatus for supporting input in virtual space, and program causing computer to execute the method
JP6495398B2 (en) Method and program for providing virtual space, and information processing apparatus for executing the program
JP7005406B2 (en) Programs, information processing devices, and information processing methods
JP6368404B1 (en) Information processing method, program, and computer
JP6278546B1 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
JP6535641B2 (en) Method and apparatus for controlling an object displayed in a virtual space, and program for causing a computer to execute the method
JP6965304B2 (en) Programs, information processing devices, and information processing methods
JP2018175849A (en) Information processing method, apparatus, and program for causing a computer to execute the information processing method
JP2019086848A (en) Program, information processing apparatus, and method
JP6779840B2 (en) Methods and devices for assisting input in virtual space and programs that allow computers to execute such methods.
JP2019087262A (en) Program, information processing apparatus, and method
JP6457446B2 (en) Method and apparatus for supporting communication in virtual space, and program for causing computer to execute the method
JP2018049629A (en) Method and apparatus for supporting input in virtual space, and program causing computer to execute the method
JP2019133309A (en) Program, information processor and information processing method
JP2019020836A (en) Information processing method, device, and program for causing computer to execute the method
JP7037467B2 (en) Programs, information processing devices, and information processing methods
JP6966336B2 (en) An information processing method, a device, and a program for causing a computer to execute the information processing method.
JP6444345B2 (en) Method and apparatus for supporting input in virtual space, and program for causing computer to execute the method
JP2019145120A (en) Method of providing virtual space, program, and information processing apparatus for executing the program

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170912

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171121

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190320

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190603

R150 Certificate of patent or registration of utility model

Ref document number: 6535641

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