[go: up one dir, main page]

JP2018032415A - Method and apparatus for controlling objects displayed in virtual space, and program for causing computer to execute the method - Google Patents

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

Info

Publication number
JP2018032415A
JP2018032415A JP2017189204A JP2017189204A JP2018032415A JP 2018032415 A JP2018032415 A JP 2018032415A JP 2017189204 A JP2017189204 A JP 2017189204A JP 2017189204 A JP2017189204 A JP 2017189204A JP 2018032415 A JP2018032415 A JP 2018032415A
Authority
JP
Japan
Prior art keywords
controller
virtual space
user
hmd device
hmd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017189204A
Other languages
Japanese (ja)
Inventor
太 梶田
Futoshi KAJITA
太 梶田
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 JP2017189204A priority Critical patent/JP2018032415A/en
Publication of JP2018032415A publication Critical patent/JP2018032415A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】仮想空間において多様な入力が実現できるオブジェクト制御を実現する。
【解決手段】仮想空間を提供するコンピュータが実行する処理は、仮想空間を表示するステップ(S1315)と、仮想空間に左手オブジェクトおよび右手オブジェクトを配置するステップ(S1320)と、仮想空間にコントローラオブジェクトを配置するステップ(S1325)と、左手オブジェクトおよび右手オブジェクトと、コントローラオブジェクトとが接触した場合に(ステップS1340にてYES)、左手オブジェクトおよび右手オブジェクトと、コントローラオブジェクトとを関連付けるステップ(S1350)と、現実空間のユーザ動作に基づく左手オブジェクトおよび右手オブジェクトの回転に合わせて、コントローラオブジェクトを回転させるステップ(S1370)と、コントローラオブジェクトの回転を命令の入力として受け付けるステップ(S1380)とを含む。
【選択図】図13
Object control for realizing various inputs in a virtual space is realized.
The processing executed by a computer that provides a virtual space includes a step of displaying the virtual space (S1315), a step of arranging a left-hand object and a right-hand object in the virtual space (S1320), and a controller object in the virtual space. A step of arranging (S1325), a step of associating the left hand object and the right hand object with the controller object (S1350) when the left hand object, the right hand object and the controller object come into contact with each other (YES in step S1340); A step of rotating the controller object in accordance with the rotation of the left hand object and the right hand object based on the user action in space (S1370), and the rotation of the controller object And a step (S1380) to accept as a force.
[Selection] Figure 13

Description

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

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

特開2015−231445号公報JP2015-231445A

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

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

ある実施の形態に従うと、仮想空間に表示されるオブジェクトを制御するための方法が提供される。この方法は、ヘッドマウントディスプレイ装置によって提供される仮想空間を定義するステップと、仮想空間において制御を受け付けるコントローラオブジェクトを仮想空間に配置するステップと、ヘッドマウントディスプレイ装置を装着したユーザの四肢のいずれかの状態を検出するステップと、四肢のいずれかに対応する四肢オブジェクトを仮想空間に配置するステップと、四肢オブジェクトとコントローラオブジェクトとが関連付けられている場合に、ユーザの動作に連動する四肢オブジェクトの動作に基づいて、コントローラオブジェクトを動かすステップと、コントローラオブジェクトの動きをコントローラオブジェクトに対する入力として受け付けるステップとを含む。   According to an embodiment, a method for controlling an object displayed in a virtual space is provided. The method includes any one of a step of defining a virtual space provided by the head mounted display device, a step of arranging a controller object that receives control in the virtual space in the virtual space, and a user's limb wearing the head mounted display device. Detecting the state of the limb, placing the limb object corresponding to one of the limbs in the virtual space, and the movement of the limb object linked to the movement of the user when the limb object and the controller object are associated with each other And moving the controller object and receiving the movement of the controller object as an 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の構成の概略を表す図である。It is a figure showing the outline of a structure of the HMD system 100 according to a certain embodiment. 一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。It is a block diagram showing an example of the hardware constitutions of the computer 200 according to one situation. ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。It is a figure which represents notionally the uvw visual field coordinate system set to the HMD apparatus 110 according to an embodiment. ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。It is a figure which represents notionally the one aspect | mode which represents the virtual space 2 according to a certain embodiment. ある実施の形態に従うHMD装置110を装着するユーザ190の頭部を上から表した図である。It is the figure showing the head of user 190 wearing HMD device 110 according to a certain embodiment from the top. 仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。3 is a diagram illustrating a YZ cross section of a visual field region 23 viewed from the X direction in a virtual space 2. FIG. 仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。3 is a diagram illustrating an XZ cross section of a visual field region 23 viewed from a Y direction in a virtual space 2. FIG. ある実施の形態に従うコントローラ160の概略構成を表す図である。It is a figure showing schematic structure of the controller 160 according to a certain embodiment. ある実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。It is a figure showing the one aspect | mode of the arrangement | positioning of the object in the visual field area | region 23 according to a certain embodiment. 他の実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。It is a figure showing the one aspect | mode of the arrangement | positioning of the object in the visual field area | region 23 according to other embodiment. ある実施の形態に従うコンピュータ200をモジュール構成として表わすブロック図である。FIG. 3 is a block diagram representing a computer 200 according to an embodiment as a module configuration. HMDシステム100が実行する処理を表わすフローチャートである。3 is a flowchart showing processing executed by the HMD system 100. ある実施の形態の一局面においてコンピュータ200のプロセッサ10が実行する詳細な処理を表わすフローチャートである。6 is a flowchart representing detailed processing executed by processor 10 of computer 200 in one aspect of an embodiment. コントローラオブジェクトが配置されていない状態を表す図である。It is a figure showing the state by which the controller object is not arrange | positioned. コントローラオブジェクト900が配置された状態を表す図である。It is a figure showing the state by which the controller object 900 is arrange | positioned. 左手オブジェクト910および右手オブジェクト920とコントローラオブジェクト900とが互いに関連付けられた状態を表す図である。It is a figure showing the state with which the left hand object 910, the right hand object 920, and the controller object 900 were mutually linked | related. 左手オブジェクト910および右手オブジェクト920がコントローラオブジェクト900を操作して右方向に回転した状態を表す図である。FIG. 10 is a diagram illustrating a state in which a left hand object 910 and a right hand object 920 are rotated rightward by operating a controller object 900.

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

[HMDシステムの構成]
図1を参照して、HMD(Head Mount Display)システム100の構成について説明する。図1は、ある実施の形態に従うHMDシステム100の構成の概略を表す図である。ある局面において、HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
[Configuration of HMD system]
A configuration of an HMD (Head Mount Display) system 100 will be described with reference to FIG. FIG. 1 is a diagram representing an outline of a 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 can include a motion sensor 130.

ある局面において、コンピュータ200は、インターネットその他のネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150その他のコンピュータと通信可能である。別の局面において、HMD装置110は、HMDセンサ120の代わりに、センサ114を含み得る。   In one aspect, the computer 200 can be connected to the Internet and other networks 19, and can communicate with the server 150 and other computers 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 a virtual space to the user during operation. More specifically, the HMD device 110 displays a right-eye image and a left-eye image on the monitor 112, respectively. When each eye of the user visually recognizes 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 realized as, for example, 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 positioned in front of both eyes of the user. Therefore, when the user visually recognizes the three-dimensional image displayed on the monitor 112, the user can be immersed in the virtual space. In one embodiment, the virtual space includes, for example, a background, an object that can be operated by the user, and an image of a menu that can be selected by the user. In an embodiment, the monitor 112 may be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smartphone 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 display a right-eye image and a left-eye image together. In this case, the monitor 112 includes a high-speed shutter. The high-speed shutter operates so that an image for the right eye and an image for the left eye can be displayed alternately so that the image is recognized only by 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 rays. The HMD sensor 120 has a position tracking function for detecting the movement of the HMD device 110. The HMD sensor 120 detects the position and inclination of the HMD device 110 in the real space using this function.

なお、別の局面において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD装置110の画像情報を用いて、画像解析処理を実行することにより、HMD装置110の位置および傾きを検出することができる。   In another aspect, HMD sensor 120 may be realized by a camera. In this case, the HMD sensor 120 can detect the position and inclination of the HMD device 110 by executing image analysis processing using 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. The HMD device 110 can detect the position and inclination of the HMD device 110 itself using the sensor 114. 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 any one of these sensors instead of the HMD sensor 120 to detect its position and inclination. Can be detected. As an example, when the sensor 114 is an angular velocity sensor, the angular velocity sensor detects angular velocities around the three axes of the HMD device 110 in real space over time. The HMD device 110 calculates the temporal change of the angle around the three axes of the HMD device 110 based on each angular velocity, and further calculates the inclination of the HMD device 110 based on the temporal change of the angle. The HMD device 110 may 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. Further, the visual field image may include a configuration for presenting the real space in a part of the image configuring the virtual space. For example, an image captured by a camera mounted on the HMD device 110 may be displayed so as to be superimposed on a part of the field-of-view image, or by setting the transmittance of a part of the transmissive display device to be high. The real space may be visible from a part of the image.

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

サーバ150は、コンピュータ200にプログラムを送信し得る。別の局面において、
サーバ150は、他のユーザによって使用されるHMD装置に仮想現実を提供するための他のコンピュータ200と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ200は、各ユーザの動作に基づく信号を他のコンピュータ200と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
Server 150 may send a program to computer 200. In another aspect,
Server 150 may communicate with other computers 200 for providing 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, and a plurality of users are common in the same virtual space. Allows you to enjoy the game.

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

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

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

メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ12からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ10によって生成されたデータとを含む。ある局面において、メモリ11は、RAM(Random Access Memory)その他の揮発メモリとして実現される。   The memory 11 temporarily stores programs and data. The program is loaded from the storage 12, for example. The data includes data input to the computer 200 and data generated by the processor 10. In one aspect, the memory 11 is realized as a RAM (Random Access Memory) or other 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 realized as, for example, a ROM (Read-Only Memory), a hard disk device, a flash memory, and other nonvolatile storage devices. 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 and objects for defining the virtual space.

なお、別の局面において、ストレージ12は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ200に内蔵されたストレージ12の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデータの更新を一括して行なうことが可能になる。   In another aspect, the storage 12 may be realized as a removable storage device such as a memory card. In still another aspect, a configuration using a program 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 scene where a plurality of HMD systems 100 are used as in an amusement facility, it is possible to update 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 some embodiments, the input / output interface 13 communicates signals with the HMD device 110, the HMD sensor 120, or the motion sensor 130. In one aspect, the input / output interface 13 is realized using a USB (Universal Serial Bus) interface, a DVI (Digital Visual Interface), an HDMI (registered trademark) (High-Definition Multimedia Interface), or other terminals. The input / output interface 13 is not limited to that described above.

ある実施の形態において、入出力インターフェイス13は、さらに、コントローラ160と通信し得る。例えば、入出力インターフェイス13は、モーションセンサ130から出力された信号の入力を受ける。別の局面において、入出力インターフェイス13は、プロセッサ10から出力された命令を、コントローラ160に送る。当該命令は、振動、音声出力、発光等をコントローラ160に指示する。コントローラ160は、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。   In certain embodiments, the input / output interface 13 may further communicate with the controller 160. For example, the input / output interface 13 receives a signal output from the motion sensor 130. In another aspect, the input / output interface 13 sends the 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, sound 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 and communicates 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 local area network (LAN) or other wired communication interface, or a wireless communication interface such as WiFi (Wireless Fidelity), Bluetooth (registered trademark), NFC (Near Field Communication), or the like. Is done. The communication interface 14 is not limited to the 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 that can be executed in the virtual space using the controller 160, and the like. The processor 10 sends a signal for providing a 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 configured to be provided outside the HMD device 110. However, in another aspect, the computer 200 may be incorporated in the HMD device 110. As an example, a portable information communication terminal (for example, a smartphone) including the monitor 112 may function as the computer 200.

また、コンピュータ200は、複数のHMD装置110に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。   Further, the computer 200 may be configured to be used in common for the plurality of HMD devices 110. According to such a configuration, for example, the same virtual space can be provided to a plurality of users, so that 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 an embodiment, in the HMD system 100, a global coordinate system is set in advance. The global coordinate system has three reference directions (axes) parallel to the vertical direction in the real space, the horizontal direction orthogonal to the vertical direction, and the front-rear direction orthogonal to both the vertical direction and the horizontal direction. In the present embodiment, the global coordinate system is one of the 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-rear 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, HMD sensor 120 includes an infrared sensor. When the infrared sensor detects each infrared ray 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 real 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 tilt 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 a viewpoint 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 visual field coordinate system]
The uvw visual field coordinate system will be described with reference to FIG. FIG. 3 is a diagram conceptually showing a uvw visual field coordinate system set in HMD device 110 according to an embodiment. The HMD sensor 120 detects the position and inclination 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 with the head (origin) of the user wearing the HMD device 110 as the center (origin). More specifically, the HMD device 110 uses the horizontal direction, the vertical direction, and the front-rear direction (x axis, y axis, z axis) that define the global coordinate system around each axis of the HMD device 110 in the global coordinate system. The three new directions obtained by inclining around the respective axes by the inclination of the pitch are the pitch direction (u-axis), yaw direction (v-axis), and roll direction (w-axis) of the uvw visual field coordinate system in the HMD device 110. 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 is viewing the front, the processor 10 sets the uvw visual field coordinate system parallel to the global coordinate system in the HMD device 110. In this case, the horizontal direction (x-axis), vertical direction (y-axis), and front-rear direction (z-axis) in the global coordinate system are the pitch direction (u-axis) and yaw direction (v 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 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), yaw angle (θv), and roll angle (θw) of the HMD device 110 in the uvw visual field 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 visual field coordinate system. The yaw angle (θv) represents the tilt angle of the HMD device 110 around the yaw direction in the uvw visual field coordinate system. The roll angle (θw) represents the tilt angle of the HMD device 110 around the roll direction in the uvw visual field 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視野座標系の位置および傾きが変化する。   Based on the detected tilt angle of the HMD device 110, 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. The relationship between the HMD device 110 and the uvw visual field coordinate system of the HMD device 110 is always constant regardless of the position and inclination of the HMD device 110. When the position and inclination of the HMD device 110 change, the position and 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 inclination.

ある局面において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(例えば、各点間の距離など)に基づいて、HMD装置110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ10は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD装置110のuvw視野座標系の原点を決定してもよい。   In one aspect, the HMD sensor 120 is based on the infrared light intensity acquired based on the output from the infrared sensor and the relative positional relationship between a plurality of points (for example, the distance between the points). The position of the device 110 in the real space may be specified as a relative position with respect to the HMD sensor 120. Further, 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 specified 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 showing one aspect of expressing virtual space 2 according to an embodiment. The virtual space 2 has a spherical structure that covers the entire 360 ° direction of the center 21. In FIG. 4, the upper half of the celestial sphere in the virtual space 2 is illustrated in order not to complicate the description. In the virtual space 2, each mesh is defined. The position of each mesh is defined in advance as coordinate values in the XYZ coordinate system defined in the virtual space 2. The computer 200 associates each partial image constituting content (still image, moving image, etc.) that can be developed in the virtual space 2 with each corresponding mesh in the virtual space 2, and the virtual space image 22 that can be visually recognized by the user. Is provided to the user.

ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、例えば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。   In one aspect, the virtual space 2 defines an XYZ coordinate system with the center 21 as the origin. 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, vertical direction (vertical direction), and 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-rear 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 for the virtual camera 1. The uvw visual field coordinate system of the virtual camera in the virtual space 2 is defined so as to be linked to the uvw visual field 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 orientation of the virtual camera 1 is determined according to the position and inclination of the virtual camera 1, the reference line of sight (reference line of sight 5) when the user visually recognizes the virtual space image 22 depends on the orientation of the virtual camera 1. Determined. The processor 10 of the computer 200 defines the visual field region 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 the object. The uvw visual field coordinate system of the HMD device 110 is equal to the viewpoint coordinate system when the user 190 visually recognizes the monitor 112. The uvw visual field coordinate system of the virtual camera 1 is linked to the uvw visual field coordinate system of the HMD device 110. Therefore, the HMD system 100 according to a certain aspect can regard the line-of-sight direction of the user 190 detected by the gaze sensor 140 as the line-of-sight direction of the user in the uvw visual field coordinate system of the virtual camera 1.

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

ある局面において、注視センサ140は、ユーザ190の右目および左目の各視線を検出する。ある局面において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。別の局面において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。   In one aspect, gaze sensor 140 detects each line of sight of user 190's right eye and left eye. In a certain aspect, when the user 190 is looking near, the gaze sensor 140 detects the lines of sight R1 and L1. In another aspect, when the user 190 is looking far away, the gaze sensor 140 detects the lines of sight R2 and L2. In this case, the angle formed by the lines of sight R2 and L2 with respect to the roll direction w is smaller than the angle formed by the lines of sight R1 and L1 with respect to the roll direction 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 line-of-sight detection result, the computer 200 identifies the point of sight N1 that is the intersection of the lines of sight R1 and L1 based on the detection value. On the other hand, when the detected values of the lines of sight R2 and L2 are received from the gaze sensor 140, the computer 200 specifies the intersection of the lines of sight R2 and L2 as the point of sight. The computer 200 specifies the line-of-sight direction N0 of the user 190 based on the specified position of the gazing point N1. For example, the computer 200 detects 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 gazing point N1 extends as the line-of-sight direction N0. The line-of-sight direction N0 is a direction in which the user 190 is actually pointing the line of sight with both eyes. The line-of-sight direction N0 corresponds to the direction in which the user 190 actually directs his / her line of sight with respect to the field-of-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 constituting the HMD system 100. The user can give a voice instruction to the virtual space 2 by speaking to the microphone.

また、別の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間2においてテレビ番組を表示することができる。   In another aspect, HMD system 100 may include a television broadcast receiving 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 include 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断面を表す図である。
[Visibility area]
With reference to FIGS. 6 and 7, the visual field region 23 will be described. FIG. 6 is a diagram illustrating a YZ cross section of the visual field region 23 viewed from the X direction in the virtual space 2. FIG. 7 is a diagram illustrating an XZ cross section of the visual field region 23 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 visual field region 23 in the YZ cross section includes a region 24. The region 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 α around the reference line of sight 5 in the virtual space as the region 24.

図7に示されるように、XZ断面における視界領域23は、領域25を含む。領域25は、基準視線5と仮想空間2のXZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、領域25として規定する。   As shown in FIG. 7, the visual field region 23 in the XZ cross section includes a region 25. The region 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 β around the reference line of sight 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 a signal from the computer 200. The view image 26 corresponds to a portion of the virtual space image 22 that is superimposed on the view region 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 visual field 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 that is superimposed on the view region 23 in the direction in which the user faces in the virtual space 2 in the virtual space image 22. The user can visually recognize a desired direction in the virtual space 2.

ユーザ190は、HMD装置110を装着している間、現実世界を視認することなく、仮想空間2に展開される仮想空間画像22のみを視認できる。そのため、HMDシステム100は、仮想空間2への高い没入感覚をユーザに与えることができる。   The user 190 can visually recognize only the virtual space image 22 developed in the virtual space 2 without visually recognizing the real world while wearing the HMD device 110. Therefore, the HMD system 100 can give the user 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 can move the virtual camera 1 in the virtual space 2 in conjunction with movement of the user 190 wearing the HMD device 110 in real space. In this case, the processor 10 specifies an image region (that is, the visual field region 23 in the virtual space 2) projected on the monitor 112 of the HMD device 110 based on the position and 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 preferably includes two virtual cameras, that is, a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. Moreover, it is preferable that appropriate parallax is set in the 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 concerning this indication is illustrated as what is constituted so that it may 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 showing a schematic configuration of controller 160 according to an embodiment.

図8の分図(A)に示されるように、ある局面において、コントローラ160は、右コントローラ800と左コントローラとを含み得る。右コントローラ800は、ユーザ190の右手で操作される。左コントローラは、ユーザ190の左手で操作される。ある局面において、右コントローラ800と左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラ800を把持した右手と、左コント
ローラを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ160は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ800について説明する。
As shown in the partial diagram (A) of FIG. 8, in one aspect, the controller 160 may include a right controller 800 and a left controller. The right controller 800 is operated with the right hand of the user 190. The left controller is operated with 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 operations of both hands. Hereinafter, the right controller 800 will be described.

右コントローラ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 held by the right hand of the user 190. For example, the grip 30 can be held by the palm of the right hand of the user 190 and three fingers (middle finger, ring finger, little finger).

グリップ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 with the middle finger of the right hand. The button 34 is disposed in front of the grip 30 and accepts an operation with the index finger of the right hand. In one aspect, the buttons 33 and 34 are configured as trigger buttons. The motion sensor 130 is built in the housing of the grip 30. Note that when the operation of the user 190 can be detected from around the user 190 by a camera or other device, the grip 30 may not include the motion sensor 130.

フレーム31は、その円周方向に沿って配置された複数の赤外線LED35を含む。赤外線LED35は、コントローラ160を使用するプログラムの実行中に、当該プログラムの進行に合わせて赤外線を発光する。赤外線LED35から発せられた赤外線は、右コントローラ800と左コントローラ(図示しない)との各位置や姿勢(傾き、向き)を検出するために使用され得る。図8に示される例では、二列に配置された赤外線LED35が示されているが、配列の数は図8に示されるものに限られない。一列あるいは3列以上の配列が使用されてもよい。   The frame 31 includes a plurality of infrared LEDs 35 arranged along the circumferential direction. The infrared LED 35 emits infrared light in accordance with the progress of the program during the execution of the program using the controller 160. The infrared rays emitted from the infrared LED 35 can be used to detect the positions and postures (tilt and orientation) of the right controller 800 and the left controller (not shown). In the example shown in FIG. 8, infrared LEDs 35 arranged in two rows are shown, but the number of arrays is not limited to that shown in FIG. An array of one or more columns 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 and 37 are configured as push buttons. The buttons 36 and 37 receive an operation with the thumb of the right hand of the user 190. In one aspect, the analog stick 38 accepts an operation in an arbitrary direction of 360 degrees from the initial position (neutral position). 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 a battery for driving the infrared LED 35 and other members. The battery includes, but is not limited to, a rechargeable type, a button type, a dry battery type, and the like. In another aspect, the right controller 800 and the left controller may be connected to a USB interface of the computer 200, for example. In this case, the right controller 800 and the left controller do not require batteries.

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

図9および図10を参照して、視界領域23におけるオブジェクトの配置について説明する。図9は、ある実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。図10は、他の実施の形態に従う視界領域23におけるオブジェクトの配置の一態様を表す図である。   With reference to FIG. 9 and FIG. 10, the arrangement of objects in the visual field region 23 will be described. FIG. 9 is a diagram illustrating an aspect of the arrangement of objects in the visual field region 23 according to an embodiment. FIG. 10 is a diagram illustrating one aspect of the arrangement of objects in view field region 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, the visual field 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 position and orientation of other objects associated with the controller object 900 according to the rotation direction and rotation speed. For example, when the controller object 900 is associated with a landscape in the virtual space 2, when the user 190 performs an operation of rotating the handle clockwise with both hands, the left hand object 910 and the right hand object 920 are To rotate the controller object 900 clockwise. Then, the direction in which the virtual camera 1 faces 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, the field-of-view area 23 according to another aspect may include a steering wheel-shaped object 1000, a left hand object 910, and a right hand object. For example, when the program executed by the computer 200 to provide the virtual space 2 indicates a seascape, the computer 200 displays the object 1000 in accordance with a story that progresses according to the execution of the program. It can be arranged in the 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. Depending on the rotation, the image displayed as the visual field area 23 may change.

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

図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 a virtual camera control module 221, a visual field region determination module 222, a visual field image generation module 223, and a reference visual line identification module 224 as submodules. The virtual space control module 230 includes a virtual space definition module 231, a virtual object generation module 232, a hand object management module 233, and a controller management module 234 as submodules.

ある実施の形態において、表示制御モジュール220と仮想空間制御モジュール230とは、プロセッサ10によって実現される。別の実施の形態において、複数のプロセッサ10が表示制御モジュール220と仮想空間制御モジュール230として作動してもよい。メモリモジュール240は、メモリ11またはストレージ12によって実現される。通信制御モジュール250は、通信インターフェイス14によって実現される。   In an embodiment, the display control module 220 and the virtual space control module 230 are realized by the processor 10. In another embodiment, multiple processors 10 may operate as the display control module 220 and the 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, the display control module 220 controls image display on the monitor 112 of the HMD device 110. The virtual camera control module 221 arranges the virtual camera 1 in the virtual space 2 and controls the behavior, orientation, 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 a view image 26 to be displayed on the monitor 112 based on the determined view area 23.

基準視線特定モジュール224は、注視センサ140からの信号に基づいて、ユーザ190の視線を特定する。   The reference line-of-sight identifying module 224 identifies the line of sight 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 the 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 placed in the virtual space 2. The objects may include, for example, forests, mountains, landscapes, animals, and the like arranged according to the progress of the game story.

手オブジェクト管理モジュール233は、手オブジェクトを仮想空間2に配置する。手オブジェクトは、例えば、コントローラ160を保持したユーザ190の右手あるいは左手に対応する。ある局面において、手オブジェクト管理モジュール233は、左手オブジェクト910または右手オブジェクト920を仮想空間2に配置するためのデータを生成する。別の局面において、手オブジェクト管理モジュール233は、ユーザ190によるコントローラ160の操作に応じて、左手オブジェクト910または右手オブジェクト920が他のオブジェクト(例えば、オブジェクト900またはオブジェクト1000)を回転させる動作を示すためのデータを生成する。当該動作は、例えば、オブジェクト900として示されるハンドルを握る手が、当該ハンドルを回転させることを含む。   The hand object management module 233 arranges the hand object in the virtual space 2. The hand object corresponds to the right hand or the left hand of the user 190 holding the controller 160, for example. 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 an operation in which the left hand object 910 or the right hand object 920 rotates another object (eg, the object 900 or the object 1000) in response to an operation of the controller 160 by the user 190. Generate data for The operation includes, for example, that a hand holding a handle shown as the object 900 rotates 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. A 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 placing 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 with each other, the controller management module 234 displays the limb object (for example, the left hand object 910, the right hand object 920, Data indicating that the controller object 900 or the controller object 1000 is moving is generated based on the motion of the foot object or the like, 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 movement of the controller objects 900 and 1000 as an input to the controller objects 900 and 1000. For example, when the controller objects 900 and 1000 are rotated based on the operation of the user 190, the rotation angle is the processor 10 as an instruction for changing the location or posture of another object associated with the controller objects 900 and 1000. To be interpreted. The controller management module 234 changes the location or orientation of the object placed in the virtual space 2 according to the command.

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

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

ユーザ情報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 that uses 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その他の情報通信装置と通信し得る。   The communication control module 250 can communicate with the server 150 and other information communication devices via the network 19.

ある局面において、表示制御モジュール220および仮想空間制御モジュール230は、例えば、ユニティテクノロジーズ社によって提供されるUnity(登録商標)を用いて実現され得る。別の局面において、表示制御モジュール220および仮想空間制御モジュール230は、各処理を実現する回路素子の組み合わせとしても実現され得る。   In an aspect, the display control module 220 and the virtual space control module 230 may be realized 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 realize 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 memory module 240 such as a hard disk. The software may be stored in a CD-ROM or other non-volatile computer-readable data recording medium and distributed as a program product. Alternatively, the software may be provided as a program product that can be downloaded by an information provider connected to the Internet or other networks. Such software is read from a 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 and then temporarily stored in the storage module. . The software is read from the storage module by the processor 10 and stored in the RAM in the form of an executable program. The processor 10 executes the program.

コンピュータ200を構成するハードウェアは、一般的なものである。したがって、本実施の形態に係る最も本質的な部分は、コンピュータ200に格納されたプログラムであるともいえる。なお、コンピュータ200のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。   The hardware that constitutes 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 the computer 200. Since the hardware operation of computer 200 is well known, 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などの半導体メモリ等の固定的にプログラムを担持する不揮発性のデータ記録媒体でもよい。
The data recording medium is not limited to a CD-ROM, FD (Flexible Disk), and hard disk, but may be a magnetic tape, cassette tape, or optical disk (MO (Magnetic Optical).
Disc) / MD (Mini Disc) / DVD (Digital Versatile Disc)), IC (Integrated Circuit) card (including memory card), optical card, mask ROM, EPROM
It may be a non-volatile data recording medium that carries a fixed program, such as a semiconductor memory such as (Electronically Programmable Read-Only Memory), EEPROM (Electronically Erasable Programmable Read-Only Memory), or flash ROM.

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

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

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

ステップS1220にて、プロセッサ10は、仮想カメラ1を初期化する。例えば、プロセッサ10は、メモリのワーク領域において、仮想カメラ1を仮想空間2において予め規定された中心点に配置し、仮想カメラ1の視線をユーザ190が向いている方向に向ける。   In step S1220, processor 10 initializes virtual camera 1. For example, the processor 10 places the virtual camera 1 at a predetermined center point in the virtual space 2 in the work area of the memory, 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 view image data for displaying an initial view image as the view 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, monitor 112 of HMD device 110 displays a view image based on the view image data received from computer 200. The user 190 wearing the HMD device 110 can recognize the virtual space 2 when viewing the visual field image.

ステップS1234にて、HMDセンサ120は、HMD装置110から発信される複数の赤外線光に基づいて、HMD装置110の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ200に送られる。   In step S <b> 1234, HMD sensor 120 detects the position and tilt of HMD device 110 based on a plurality of infrared lights transmitted from 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 viewing direction of user 190 wearing HMD device 110 based on the position and tilt of HMD device 110. The processor 10 executes the application program and places an object in the virtual space 2 based on instructions included in the application program.

ステップS1242にて、コントローラ160は、モーションセンサ130から出力される信号に基づいて、ユーザ190の動作を検出する。なお、別の局面において、ユーザ190の動作は、ユーザ190の周囲に配置されたカメラからの画像に基づいて検出されてもよい。   In step S1242, the controller 160 detects the operation of the user 190 based on the signal output from the motion sensor 130. In another aspect, the operation 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, processor 10 generates view field image data for placing the hand object in virtual space 2, and transmits the generated view field 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.

ステップ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 field 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, processor 10 associates hand objects (for example, left hand object 910 and right hand object 920) with 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, processor 10 detects that the hand objects (for example, left hand object 910 and right hand object 920) and controller objects 900 and 1000 are rotated.

ステップS1290にて、プロセッサ10は、手オブジェクト(例えば、左手オブジェクト910および右手オブジェクト920)とコントローラオブジェクト900,1000とが回転していることを示す視界画像データを生成し、生成した視界画像データをHMD装置110に送信する。   In step S1290, processor 10 generates view field image data indicating that the hand objects (for example, left hand object 910 and right hand object 920) and controller objects 900 and 1000 are rotating, and generates the generated view field 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が実行する詳細な処理を表わすフローチャートである。   With reference to FIG. 13, a control structure of computer 200 according to an embodiment will be described. FIG. 13 is a flowchart representing detailed processing executed by processor 10 of computer 200 in one aspect of an embodiment.

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

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

ステップS1325にて、プロセッサ10は、コントローラ管理モジュール234として、現実空間におけるユーザ190の動作に基づいて、仮想空間2にコントローラオブジェクト(例えば、コントローラオブジェクト900またはコントローラオブジェクト1000)を配置する。   In step S1325, the processor 10 arranges a controller object (for example, the controller object 900 or the controller object 1000) in the virtual space 2 as the controller management module 234 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, processor 10 waits for input.
In step S1340, processor 10 determines 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 placing left-hand object 910, right-hand object 920, and controller object. Then, it is determined whether or not the controller object has come into contact. If processor 10 determines that these objects have come into contact (YES in step S1340), processor 10 switches processing to step S1350. If not (NO in step S1340), the control returns to step S1330.

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

ステップS1360にて、プロセッサ10は、現実空間のユーザ190による手の回転動作に基づいて、左手オブジェクト910および右手オブジェクト920を回転させる。より詳しくは、プロセッサ10は、左手オブジェクト910および右手オブジェクト920が回転していることを示す視界画像データを生成し、その生成したデータをHMD装置110に送信する。モニタ112がそのデータに基づいて画像を表示すると、HMD装置110を装着しているユーザ190は、仮想空間2において、左手オブジェクト910および右手オブジェクト920が回転していることを認識し得る。   In step S1360, processor 10 rotates left hand object 910 and right hand object 920 based on the rotation operation of the hand by user 190 in the real space. More specifically, the processor 10 generates view field 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, processor 10 rotates the controller object in accordance with the rotation of the hand object linked to the movement of 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 (eg, coordinate values in the virtual space 2) of the controller object stored as the object information 242. Visibility image data indicating that the image is displayed is generated. When the computer 200 transmits 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 the rotation of the controller object as an instruction input. 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, processor 10 performs processing according to the input command, and displays a view field image.

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

次に、図14〜図17を参照して、仮想空間2に配置されたコントロールオブジェクトによる他のオブジェクトの制御について説明する。ある実施の形態において、HMD装置110を装着したユーザ190は、仮想ユーザとして、仮想空間2における視界画像1400を視認している。   Next, with reference to FIGS. 14 to 17, control of other objects by the control object arranged in the virtual space 2 will be described. In an embodiment, the user 190 wearing the HMD device 110 is viewing the visual field 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 illustrating a state in which no controller object is arranged. FIG. 14A shows 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 the partial diagram (A), when the monitor 112 of the HMD device 110 displays an image based on the field-of-view image data, the user 190 wearing the HMD device uses the monitor 112 as a virtual user. The view field image 1400 is recognized based on the displayed image.

分図(B)は、視界画像1400をもたらす仮想空間2の視界領域23を表す図である。仮想カメラ1による撮影範囲には、左手オブジェクト910と、右手オブジェクト920と、木オブジェクト1410と、山オブジェクト1420とが含まれている。仮想ユーザの視点に対応する仮想カメラ1は、仮想ユーザの視野に応じた視界領域23をとらえて
いる。
The partial diagram (B) is a diagram showing the visual field region 23 of the virtual space 2 that provides the visual field 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 viewpoint of the virtual user captures the view area 23 corresponding to the visual field of the virtual user.

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

例えば、図15の分図(A)に示されるように、コントローラオブジェクト900は、左手オブジェクト910および右手オブジェクト920から予め定められた距離だけ離れた位置に配置される。このとき、コントローラオブジェクト900と左手オブジェクト910および右手オブジェクト920とは、互いに関連付けられていない。   For example, as shown in the partial diagram (A) of FIG. 15, the controller object 900 is arranged at a position away from the left hand object 910 and the right hand object 920 by a predetermined distance. 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 partial diagram (B), the controller object 900 is arranged away from the left hand object 910 and the right hand object 920 in the visual field region 23.

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

例えば、図16の分図(A)に示されるように、コントローラオブジェクト900のリング形状部分に、左手オブジェクト910および右手オブジェクト920が接している。このとき、コントローラオブジェクト900と左手オブジェクト910および右手オブジェクト920とは、互いに関連付けられている。   For example, as shown in a partial diagram (A) of FIG. 16, the left hand object 910 and the 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 partial 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 field region 23.

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

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

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

要約すると、本明細書に開示された主題は、例えば以下のような構成として示される。
[構成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 this specification is shown as, for example, the following configuration.
[Configuration 1]
According to an embodiment, a method is provided that is executed on the computer 200 to control the objects displayed in the virtual space 2. This method includes a step of defining a virtual space 2 provided by the HMD device 110, a step of placing controller objects 900 and 1000 that receive control in the virtual space 2 in the virtual space 2, and a user 190 wearing the HMD device 110. Detecting a state of one of the four limbs (limbs), 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, the step of moving the controller objects 900, 1000 based on the movement of the limb object linked to the movement of the user 190, and the movement of the controller objects 900, 1000 to the controller And a step of receiving as an input to object 900, 1000.

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

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

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

[構成5] 好ましくは、コントローラオブジェクト900,1000は、回転操作を受け付ける回転オブジェクトを含む。コントローラオブジェクト900,1000を動かすステップは、回転オブジェクトを回転させることを含む。例えば、コントローラオブジェクト900,1000は、予め定められた回転軸を中心に回転する。   [Configuration 5] Preferably, controller objects 900 and 1000 include a rotation object that receives a rotation operation. The step of 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, controller objects 900 and 1000 include a stick object that accepts an operation in at least one direction. The step of moving the controller objects 900 and 1000 includes moving the stick object in at least one direction in conjunction with movement in at least one direction by the user 190 (for example, one of up, down, left and right directions).

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

[構成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に配置することを含む。   [Configuration 8] Preferably, in the step of arranging the controller objects 900 and 1000 in the virtual space 2, the controller objects 900 and 1000 are arranged in the virtual space 2 in accordance with the progress of the scenario in the program that provides the virtual space 2. including.

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

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

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

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of 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 コンピュータ、22
0 表示制御モジュール、221 仮想カメラ制御モジュール、222 視界領域決定モジュール、223 視界画像生成モジュール、224 基準視線特定モジュール、230
仮想空間制御モジュール、231 仮想空間定義モジュール、232 仮想オブジェクト生成モジュール、233 手オブジェクト管理モジュール、234 コントローラ管理モジュール、240 メモリモジュール、241 空間情報、242 オブジェクト情報、243 ユーザ情報、250 通信制御モジュール、800 右コントローラ、810
右手、900,1000 コントローラオブジェクト、910 左手オブジェクト、920 右手オブジェクト、1410 木オブジェクト、1420 山オブジェクト。
1 virtual camera, 2 virtual space, 5 reference line of sight, 10 processor, 11 memory, 12 storage, 13 input / output interface, 14 communication interface, 15 bus, 19 network, 21 center, 22 virtual space image, 23 view area, 26, 1400 view image, 30 grip, 31 frame, 32 top, 33, 34, 36, 37 buttons, 38 analog stick, 100 system, 110 device, 112
Monitor, 114, 120 sensor, 130 motion sensor, 140 gaze sensor, 150 server, 160 controller, 190 user, 200 computer, 22
0 display control module, 221 virtual camera control module, 222 visual field area determination module, 223 visual field image generation module, 224 reference visual line 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 Spatial 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 (10)

仮想空間に表示されるオブジェクトを制御するための方法であって、
ヘッドマウントディスプレイ装置によって提供される仮想空間を定義するステップと、
前記仮想空間において制御を受け付けるコントローラオブジェクトを前記仮想空間に配置するステップと、
前記ヘッドマウントディスプレイ装置を装着したユーザの四肢のいずれかの状態を検出するステップと、
前記四肢のいずれかに対応する四肢オブジェクトを前記仮想空間に配置するステップと、
前記四肢オブジェクトと前記コントローラオブジェクトとが関連付けられている場合に、前記ユーザの動作に連動する前記四肢オブジェクトの動作に基づいて、前記コントローラオブジェクトを動かすステップと、
前記コントローラオブジェクトの動きを前記コントローラオブジェクトに対する入力として受け付けるステップとを含む、方法。
A method for controlling an object displayed in a virtual space,
Defining a virtual space provided by the head mounted display device;
Arranging in the virtual space a controller object that receives control in the virtual space;
Detecting any state of a user's limb wearing the head-mounted display device;
Placing a limb object corresponding to any of the limbs in the virtual space;
Moving the controller object based on the movement of the limb object linked to the movement of the user when the limb object and the controller object are associated with each other;
Receiving the movement of the controller object as an input to the controller object.
前記四肢オブジェクトと前記コントローラオブジェクトとが関連付けられていない場合に、前記ユーザの動作に基づいて、前記四肢オブジェクトを動かすステップをさらに含む、請求項1に記載の方法。   The method of claim 1, further comprising moving the limb object based on the user's action when the limb object and the controller object are not associated. 前記ユーザの動作に連動した前記四肢オブジェクトの動きに基づいて、前記四肢オブジェクトと前記コントローラオブジェクトとを関連付けるステップをさらに含む、請求項1に記載の方法。   The method of claim 1, further comprising associating the limb object with the controller object based on movement of the limb object in conjunction with the user's movement. 前記四肢オブジェクトと前記コントローラオブジェクトとの関連付けは、前記仮想空間において前記四肢オブジェクトと前記コントローラオブジェクトとの接触に応答して行なわれる、請求項3に記載の方法。   The method according to claim 3, wherein the association between the limb object and the controller object is performed in response to contact between the limb object and the controller object in the virtual space. 前記コントローラオブジェクトは、回転操作を受け付ける回転オブジェクトを含み、
前記コントローラオブジェクトを動かすステップは、前記回転オブジェクトを回転させることを含む、請求項1〜4のいずれかに記載の方法。
The controller object includes a rotation object that receives a rotation operation,
The method according to claim 1, wherein the step of moving the controller object includes rotating the rotating object.
前記コントローラオブジェクトは、少なくとも一方向への操作を受け付けるスティックオブジェクトを含み、
前記コントローラオブジェクトを動かすステップは、前記ユーザによる少なくとも一方向の動作に連動して、前記少なくとも一方向に前記スティックオブジェクトを移動させることを含む、請求項1〜5のいずれかに記載の方法。
The controller object includes a stick object that accepts an operation in at least one direction,
The method according to claim 1, wherein the step of moving the controller object includes moving the stick object in the at least one direction in conjunction with movement in at least one direction by the user.
前記コントローラオブジェクトを前記仮想空間に配置するステップは、前記ユーザの動作に基づいて、前記コントローラオブジェクトを前記仮想空間に配置することを含む、請求項1〜6のいずれかに記載の方法。   The method according to claim 1, wherein the step of arranging the controller object in the virtual space includes arranging the controller object in the virtual space based on an action of the user. 前記コントローラオブジェクトを前記仮想空間に配置するステップは、前記仮想空間を提供するプログラムにおけるシナリオの進行に合わせて、前記コントローラオブジェクトを前記仮想空間に配置することを含む、請求項1〜7のいずれかに記載の方法。   The step of arranging the controller object in the virtual space includes arranging the controller object in the virtual space in accordance with a progress of a scenario in a program that provides the virtual space. The method described in 1. 請求項1〜8のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。   The program which makes a computer perform the method as described in any one of Claims 1-8. 請求項9に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、仮想
空間に表示されるオブジェクトを制御するための装置。
A memory storing the program according to claim 9;
An apparatus for controlling an object displayed in a virtual space, comprising a processor coupled to the memory and executing the program.
JP2017189204A 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 Pending JP2018032415A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017189204A 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017189204A 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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016162576A Division 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

Publications (1)

Publication Number Publication Date
JP2018032415A true JP2018032415A (en) 2018-03-01

Family

ID=61303107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017189204A Pending 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

Country Status (1)

Country Link
JP (1) JP2018032415A (en)

Similar Documents

Publication Publication Date Title
JP6298523B1 (en) Method executed by computer to communicate through virtual space, program for causing computer to execute the method, and computer apparatus
JP6523233B2 (en) Information processing method, apparatus, and program for causing a computer to execute the information processing method
US10860089B2 (en) Method of suppressing VR sickness, system for executing the method, and information processing device
JP6227732B1 (en) Method and apparatus for supporting input in virtual space, and program causing computer to execute the method
JP6684746B2 (en) Information processing method, computer and program
JP6495398B2 (en) Method and program for providing virtual space, and information processing apparatus for executing the program
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
JP6623199B2 (en) Computer-executable program and information processing apparatus for providing virtual reality using a head-mounted device
JP6779840B2 (en) Methods and devices for assisting input in virtual space and programs that allow computers to execute such methods.
JP2019155115A (en) Program, information processor and information processing method
JP2018049629A (en) Method and apparatus for supporting input in virtual space, and program causing computer to execute the method
JP6457446B2 (en) Method and apparatus for supporting communication in virtual space, and program for 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
JP6966336B2 (en) An information processing method, a device, and a program for causing a computer to execute the information processing method.
JP2018101291A (en) Method executed by computer to present object in virtual space, program causing computer to execute the method, and computer apparatus
JP2019145120A (en) Method of providing virtual space, program, and information processing apparatus for executing the program
JP6444345B2 (en) Method and apparatus for supporting input in virtual space, and program for causing computer to execute the method
JP2022048172A (en) Programs, information processing devices, and information processing methods
JP6907138B2 (en) A method performed by a computer to communicate over virtual space, a program to cause the computer to perform the method, and a computer device.
JP2018101293A (en) Method executed by computer to provide virtual space to head mounted device, program causing computer to execute the method, and computer apparatus
JP2019015972A (en) Method for suppressing vr sickness, program for causing computer to execute the method, and information processing device
JP2019016358A (en) Information processing method, program and computer