JP2019192250A - Information processing method, apparatus, and program causing computer to execute the method - Google Patents

Information processing method, apparatus, and program causing computer to execute the method Download PDF

Info

Publication number
JP2019192250A
JP2019192250A JP2019084171A JP2019084171A JP2019192250A JP 2019192250 A JP2019192250 A JP 2019192250A JP 2019084171 A JP2019084171 A JP 2019084171A JP 2019084171 A JP2019084171 A JP 2019084171A JP 2019192250 A JP2019192250 A JP 2019192250A
Authority
JP
Japan
Prior art keywords
virtual camera
user
virtual
virtual space
information processing
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
JP2019084171A
Other languages
Japanese (ja)
Inventor
拓也 本村
Takuya Motomura
拓也 本村
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 JP2019084171A priority Critical patent/JP2019192250A/en
Publication of JP2019192250A publication Critical patent/JP2019192250A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

To provide an information processing method capable of supporting movement of a user in a virtual space without spoiling a sense of immersion in the virtual space, and an information processing apparatus, and a program causing a computer to execute the information processing method.SOLUTION: An information processing method by a computer providing a user 190 with a virtual space 2 comprises steps of: generating virtual space data for defining a virtual space 2 including a virtual camera 1 defining a visual field image to be provided to a user; detecting a direction (for example, a visual line direction) of a part of a body of the user and specifying a movement target position of the virtual camera 1 in the virtual space on the basis of the direction; moving the virtual camera 1 on the basis of the movement target position; and generating a visual field image accompanied with the movement of the virtual camera 1 and presenting the generated image to a HMD device 110.SELECTED DRAWING: Figure 13

Description

本開示は、仮想空間におけるユーザの移動を支援するための技術に関する。   The present disclosure relates to a technique for supporting user movement in a virtual space.

特許文献1には、仮想空間における仮想カメラを、コントローラの入力に基づいて移動させることが記載されている。   Patent Document 1 describes that a virtual camera in a virtual space is moved based on an input from a controller.

特許第5869177号公報Japanese Patent No. 5869177

しかしながら、コントローラを用いて仮想カメラを移動させると、ユーザの仮想空間における没入感を損なうという問題が生ずる。   However, when the virtual camera is moved using the controller, there arises a problem that the immersive feeling of the user in the virtual space is impaired.

本発明は、仮想空間におけるユーザの移動を、仮想空間における没入感を損なうことなく仮想空間における移動を支援するための情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラムを提供することを目的とする。   The present invention provides an information processing method and apparatus for supporting movement of a user in a virtual space without impairing the sense of immersion in the virtual space, and a program for causing a computer to execute the information processing method. For the purpose.

本開示が示す一態様によれば、ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置の情報処理方法において、ユーザに提供する視界画像を定義する仮想カメラを含む仮想空間を定義する仮想空間データを生成するステップと、前記ユーザの身体の一部の向きを検出し、当該向きに基づいて前記仮想空間における前記仮想カメラの移動目標位置を指定するステップと、前記移動目標位置に基づいて、前記仮想カメラを移動させるステップと、前記仮想カメラの移動に伴った視界画像を生成して、前記ヘッドマウントディスプレイに提示するステップと、を含む。   According to an aspect of the present disclosure, in an information processing method for an information processing apparatus that provides a virtual space to a user via a head-mounted display, a virtual space including a virtual camera that defines a view image to be provided to the user is defined. Generating virtual space data; detecting a direction of a part of the user's body; designating a movement target position of the virtual camera in the virtual space based on the direction; and based on the movement target position Moving the virtual camera, and generating a field-of-view image accompanying the movement of the virtual camera and presenting it on the head-mounted display.

本開示によれば、直感的な移動を可能にして、ユーザの仮想空間における没入感を向上させることができる。   According to the present disclosure, it is possible to make an intuitive movement and to improve the user's immersive feeling in the virtual space.

ある実施の形態に従う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. ある実施の形態に従うコンピュータ200をモジュール構成として表すブロック図である。FIG. 2 is a block diagram showing 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. HMD装置110のプロセッサ10における仮想カメラの移動処理を示すフローチャートである。4 is a flowchart showing virtual camera movement processing in the processor 10 of the HMD device 110. 仮想カメラ1の移動処理前の各状態を説明するための図である。状態(A)は、HMDシステム100を装着したユーザの模式図であり、状態(B)は、仮想カメラ1の模式図で有り、状態(C)は、視界画像Mの具体例を示す図であり、状態(D)は、仮想カメラの位置関係を示す図である。It is a figure for demonstrating each state before the movement process of the virtual camera. The state (A) is a schematic diagram of the user wearing the HMD system 100, the state (B) is a schematic diagram of the virtual camera 1, and the state (C) is a diagram showing a specific example of the field-of-view image M. Yes, state (D) is a diagram showing the positional relationship of the virtual cameras. 仮想カメラ1の移動処理をするときの各状態を説明するための図である。状態(A)は、HMDシステム100を装着したユーザの模式図であり、状態(B)は、仮想カメラ1の模式図で有り、状態(C)および(E)は、視界画像Mの具体例を示す図であり、状態(D)および(F)は、仮想カメラの位置関係を示す図である。It is a figure for demonstrating each state when performing the movement process of the virtual camera. The state (A) is a schematic diagram of a user wearing the HMD system 100, the state (B) is a schematic diagram of the virtual camera 1, and the states (C) and (E) are specific examples of the view image M. And states (D) and (F) are diagrams showing the positional relationship of the virtual camera. 変形例における動作を説明するための図である。状態(A)は、HMDシステム100を装着したユーザの模式図であり、状態(B)は、仮想カメラ1の模式図で有り、状態(C)は、視界画像Mの具体例を示す図であり、状態(D)は、仮想カメラの位置関係を示す図である。It is a figure for demonstrating the operation | movement in a modification. The state (A) is a schematic diagram of the user wearing the HMD system 100, the state (B) is a schematic diagram of the virtual camera 1, and the state (C) is a diagram showing a specific example of the field-of-view image M. Yes, state (D) is a diagram showing the positional relationship of the virtual cameras.

以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[HMDシステムの構成]
Hereinafter, embodiments of the present disclosure 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.
[Configuration of HMD system]

図1を参照して、HMD(Head Mount Display:ヘッドマウントディスプレイ)システム100の構成について説明する。図1は、ある実施の形態に従うHMDシステム100の構成の概略を表す図である。ある局面において、HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。   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, an image of a menu that can be selected by the user, and the like. 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 view 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 a part of the transmission-type display device may be set to have a high transmittance. 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, the 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 receives 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)、FPGA(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 the establishment of a predetermined condition. In one aspect, the processor 10 is realized as a CPU (Central Processing Unit), an MPU (Micro Processor Unit), an FPGA (Field-Programmable Gate Array), or other device.

メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ12からロードされる。メモリ11に保存されるデータは、コンピュータ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. Data stored in the memory 11 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, a program for realizing communication with another computer 200, and the like. 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 like an amusement facility, it is possible to update programs and data in a batch.

ある実施の形態において、入出力インターフェース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 the 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 an input of a signal output from the motion sensor 130. In another aspect, the input / output interface 13 sends an instruction output from the processor 10 to the controller 160. The command instructs the controller 160 to vibrate, output sound, emit light, and the like. When the controller 160 receives the command, the controller 160 executes vibration, 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 configuration in which the computer 200 is provided outside the HMD device 110 is illustrated. 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 (up-down 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が仮想空間において物体を見る際の視点座標系に対応する。
[uvw視野座標系]
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 visual field coordinate system]

図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ120は、HMD装置110の起動時に、グローバル座標系におけるHMD装置110の位置および傾きを検出する。プロセッサ10は、検出された値に基づいて、uvw視野座標系をHMD装置110に設定する。   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における仮想カメラ1の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 1 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 view field 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からの信号に基づいて、視界画像をモニタ112に表示させることにより、ユーザ190に仮想空間を提供する。視界画像は、仮想空間画像22のうち視界領域23に重畳する部分に相当する。ユーザ190が、頭に装着したHMD装置110を動かすと、その動きに連動して仮想カメラ1も動く。その結果、仮想空間2における視界領域23の位置が変化する。これにより、モニタ112に表示される視界画像は、仮想空間画像22のうち、仮想空間2においてユーザが向いた方向の視界領域23に重畳する画像に更新される。ユーザは、仮想空間2における所望の方向を視認することができる。   In one aspect, the HMD system 100 provides a virtual space to the user 190 by displaying a view field image on the monitor 112 based on a signal from the computer 200. The visual field image corresponds to a portion of the virtual space image 22 that is superimposed on the visual field 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 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)を特定する。すなわち、仮想カメラ1によって、仮想空間2におけるユーザ190の視野が定義される。   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. That is, the visual field of the user 190 in the virtual space 2 is defined by the virtual camera 1.

ある実施の形態に従うと、仮想カメラ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は、右コントローラ160Rと左コントローラとを含み得る。右コントローラ160Rは、ユーザ190の右手で操作される。左コントローラは、ユーザ190の左手で操作される。ある局面において、右コントローラ160Rと左コントローラとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラ160Rを把持した右手と、左コントローラを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ160は両手の操作を受け付ける一体型のコントローラであってもよい。以下、右コントローラ160Rについて説明する。   As shown in the state (A) of FIG. 8, in one aspect, the controller 160 may include a right controller 160R and a left controller. The right controller 160R 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 160R and the left controller are configured symmetrically as separate devices. Therefore, the user 190 can freely move the right hand holding the right controller 160R 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 160R will be described.

右コントローラ160Rは、グリップ30と、フレーム31と、天面32とを備える。グリップ30は、ユーザ190の右手によって把持されるように構成されている。例えば、グリップ30は、ユーザ190の右手の掌と3本の指(中指、薬指、小指)とによって保持され得る。   The right controller 160R 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から発せられた赤外線は、右コントローラ160Rと左コントローラとの各位置および姿勢(傾き、向き)等を検出するために使用され得る。図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, orientation), etc., of the right controller 160R and the left controller. 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.

ある局面において、右コントローラ160Rおよび左コントローラは、赤外線LED35その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型等を含むが、これらに限定されない。別の局面において、右コントローラ160Rおよび左コントローラは、例えば、コンピュータ200のUSBインターフェースに接続され得る。
この場合、右コントローラ160Rおよび左コントローラは、電池を必要としない。
In one aspect, the right controller 160R 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 160R and the left controller may be connected to a USB interface of the computer 200, for example.
In this case, the right controller 160R and the left controller do not require batteries.

図8の状態(A)および状態(B)に示されるように、例えば、ユーザ190の右手810に対して、ヨー、ロール、ピッチの各方向が規定される。ユーザ190が親指と人差し指とを伸ばした場合に、親指の伸びる方向がヨー方向、人差し指の伸びる方向がロール方向、ヨー方向の軸およびロール方向の軸によって規定される平面に垂直な方向がピッチ方向として規定される。   As shown in the state (A) and the state (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

[HMD装置の制御装置]
図9を参照して、HMD装置110の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200によって実現される。図9は、ある実施の形態に従うコンピュータ200をモジュール構成として表すブロック図である。
[Control device for HMD device]
The 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. 9 is a block diagram showing a computer 200 according to an embodiment as a module configuration.

図9に示されるように、コンピュータ200は、表示制御モジュール220と、仮想空間制御モジュール230と、メモリモジュール240と、通信制御モジュール250とを備える。表示制御モジュール220は、サブモジュールとして、仮想カメラ制御モジュール221と、視界領域決定モジュール222と、視界画像生成モジュール223と、基準視線特定モジュール224とを含む。仮想空間制御モジュール230は、サブモジュールとして、仮想空間定義モジュール231と、仮想オブジェクト制御モジュール232と、操作オブジェクト制御モジュール233とを含む。   As shown in FIG. 9, 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 control module 232, and an operation object control module 233 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に表示される視界画像を生成する。なお、視界画像生成モジュール223は、視界画像の中心部を明るく、その周辺部分を暗くする(または解像度を下げるようにしてもよい)ことで、視野の外側へいくに従って、視認できる情報量が低減されるようにする。基準視線特定モジュール224は、注視センサ140からの信号に基づいて、ユーザ190の視線を特定する。   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, inclination, and the like of the virtual camera 1. The view area determination module 222 defines the view area 23 according to the inclination of the head of the user wearing the HMD device 110. The view image generation module 223 generates a view image to be displayed on the monitor 112 based on the determined view area 23. Note that the view image generation module 223 reduces the amount of information that can be viewed as it goes outside the field of view by brightening the central portion of the view image and darkening the peripheral portion thereof (or lowering the resolution). To be. 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に配置される対象オブジェクトを生成する。また、仮想オブジェクト制御モジュール232は、仮想空間2における対象オブジェクトおよびキャラクタオブジェクトの動作(移動および状態変化等)を制御する。対象オブジェクトは、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、動物等を含み得る。また、キャラクタオブジェクトは、例えば、仮想カメラ1とともに移動する人物、物体などである。   The virtual object control module 232 generates a target object placed in the virtual space 2. In addition, the virtual object control module 232 controls the movement (movement, state change, etc.) of the target object and the character object in the virtual space 2. The target object may include, for example, a forest, a landscape including mountains, animals, and the like arranged according to the progress of the game story. The character object is, for example, a person or an object that moves with the virtual camera 1.

操作オブジェクト制御モジュール233は、仮想空間2に配置されるオブジェクトを操作するための操作オブジェクトを仮想空間2に配置する。ある局面において、操作オブジェクトは、例えば、HMD装置110を装着したユーザの手に相当する手オブジェクト、ユーザの指に相当する指オブジェクト、ユーザが使用するスティックに相当するスティックオブジェクト等を含み得る。操作オブジェクトが指オブジェクトの場合、特に、操作オブジェクトは、当該指が指し示す方向(軸方向)の軸の部分に対応している。また、操作オブジェクト制御モジュール233は、操作オブジェクトが懐中電灯のように点灯方向に点灯することで移動方向を指し示すオブジェクトである場合、懐中電灯のオブジェクトとともに、点灯による照射部分を形成するオブジェクトを仮想空間2に配置する。   The operation object control module 233 arranges an operation object for manipulating an object arranged in the virtual space 2 in the virtual space 2. In one aspect, the operation objects may include, for example, a hand object corresponding to the user's hand wearing the HMD device 110, a finger object corresponding to the user's finger, a stick object corresponding to the stick used by the user, and the like. When the operation object is a finger object, in particular, the operation object corresponds to the axis portion in the direction (axial direction) indicated by the finger. In addition, when the operation object is an object that indicates the movement direction by lighting in the lighting direction like a flashlight, the operation object control module 233 displays an object that forms an irradiation portion by lighting together with the flashlight object in the virtual space. Place in 2.

仮想空間制御モジュール230は、仮想空間2に配置されるオブジェクトのそれぞれが、他のオブジェクトと衝突した場合に、当該衝突を検出する。仮想空間制御モジュール230は、例えば、あるオブジェクトと、別のオブジェクトとが触れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行う。仮想空間制御モジュール230は、オブジェクトとオブジェクトとが触れている状態から離れたタイミングを検出することができ、当該検出がされたときに、予め定められた処理を行う。仮想空間制御モジュール230は、オブジェクトとオブジェクトとが触れている状態であることを検出することができる。具体的には、操作オブジェクト制御モジュール233は、操作オブジェクトと、他のオブジェクト(例えば、仮想オブジェクト制御モジュール232によって配置される対象オブジェクト)とが触れた時に、これら操作オブジェクトと他のオブジェクトとが触れたことを検出して、予め定められた処理を行う。   The virtual space control module 230 detects the collision when each of the objects arranged in the virtual space 2 collides with another object. For example, the virtual space control module 230 can detect a timing at which a certain object and another object touch each other, and performs a predetermined process when the detection is performed. The virtual space control module 230 can detect the timing at which the object is away from the touched state, and performs a predetermined process when the detection is made. The virtual space control module 230 can detect that the object is in a touched state. Specifically, the operation object control module 233 touches the operation object and another object when the operation object touches another object (for example, a target object arranged by the virtual object control module 232). Is detected, and a predetermined process is performed.

メモリモジュール240は、コンピュータ200が仮想空間2をユーザ190に提供するために使用されるデータを保持している。ある局面において、メモリモジュール240は、空間情報241と、オブジェクト情報242と、ユーザ情報243とを保持している。空間情報241には、例えば、仮想空間2を提供するために規定された1つ以上のテンプレートが含まれている。オブジェクト情報242には、例えば、仮想空間2において再生されるコンテンツ、当該コンテンツで使用されるオブジェクトを配置するための情報等が含まれている。当該コンテンツは、例えば、ゲーム、現実社会と同様の風景を表したコンテンツ等を含み得る。ユーザ情報243には、例えば、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム、オブジェクト情報242に保持される各コンテンツを使用するアプリケーションプログラム等が含まれている。   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 includes, for example, one or more templates defined for providing the virtual space 2. The object information 242 includes, for example, content reproduced in the virtual space 2, information for arranging objects used in the content, and the like. The content can include, for example, content representing a scene similar to a game or a real society. The user information 243 includes, for example, 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.

メモリモジュール240に格納されているデータおよびプログラムは、HMD装置110のユーザによって入力される。あるいは、プロセッサ10が、当該コンテンツを提供する事業者が運営するコンピュータ(例えば、サーバ150)からプログラムあるいはデータをダウンロードして、ダウンロードされたプログラムあるいはデータをメモリモジュール240に格納する。   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その他のコンピュータからダウンロードされた後、メモリモジュール240に一旦格納される。そのソフトウェアは、プロセッサ10によってメモリモジュール240から読み出され、実行可能なプログラムの形式で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 memory module 240. The The software is read from the memory module 240 by the processor 10 and stored in the RAM in the form of an executable program. The processor 10 executes the program.

図9に示されるコンピュータ200を構成するハードウェアは、一般的なものである。したがって、本実施の形態に係る最も本質的な部分は、コンピュータ200に格納されたプログラムであるともいえる。なお、コンピュータ200のハードウェアの動作は周知であるので、詳細な説明は繰り返さない。   The hardware configuring the computer 200 shown in FIG. 9 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(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する不揮発性のデータ記録媒体でもよい。   The data recording medium is not limited to a CD-ROM, FD (Flexible Disk), and hard disk, but is a magnetic tape, cassette tape, 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 (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash ROM, etc. It may be a non-volatile data recording medium that carries a fixed program.

ここでいうプログラムとは、プロセッサ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.

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

ステップS1において、コンピュータ200のプロセッサ10は、仮想空間定義モジュール231として、仮想空間画像データを特定し、仮想空間を定義する。   In step S <b> 1, 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.

ステップS2において、プロセッサ10は、仮想カメラ制御モジュール221として、仮想カメラ1を初期化する。例えば、プロセッサ10は、メモリのワーク領域において、仮想カメラ1を仮想空間2において予め規定された中心点に配置し、仮想カメラ1の視線をユーザ190が向いている方向に向ける。   In step S <b> 2, the processor 10 initializes the virtual camera 1 as the virtual camera control module 221. 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.

ステップS3において、プロセッサ10は、視界画像生成モジュール223として、初期の視界画像を表示するための視界画像データを生成する。生成された視界画像データは、視界画像生成モジュール223を介して通信制御モジュール250によってHMD装置110に送られる。   In step S <b> 3, 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.

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

ステップS5において、HMDセンサ120は、HMD装置110の傾きを検出する。検出結果は、検出データとして、コンピュータ200に送られる。   In step S <b> 5, the HMD sensor 120 detects the inclination of the HMD device 110. The detection result is sent to the computer 200 as detection data.

ステップS6において、プロセッサ10は、HMDセンサ120から傾きを含んだ検出データを受信すると、その傾きが所定角度より下であるか否かを判断する。プロセッサ10は、仮想カメラ制御モジュール221として、その判断に基づいて、仮想カメラ1を移動モードに移行するか否かを決定する。   In step S <b> 6, when the processor 10 receives detection data including an inclination from the HMD sensor 120, the processor 10 determines whether the inclination is below a predetermined angle. The processor 10 determines, as the virtual camera control module 221, whether or not to shift the virtual camera 1 to the movement mode based on the determination.

ステップS7において、プロセッサ10は、視界領域決定モジュール222および視界画像生成モジュール223として、移動モードに移行すると決定した場合、仮想カメラ1の移動処理を行い、その移動処理に応じた視界画像を生成・出力する。   In step S7, when the processor 10 determines to move to the movement mode as the view area determination module 222 and the view image generation module 223, the processor 10 performs a movement process of the virtual camera 1 and generates a view image corresponding to the movement process. Output.

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

つぎに、図10におけるステップS6およびS7の詳細なプログラムの処理について説明する。図11は、プロセッサ10における仮想カメラ1の移動処理を示すフローチャートである。   Next, detailed program processing in steps S6 and S7 in FIG. 10 will be described. FIG. 11 is a flowchart showing the movement process of the virtual camera 1 in the processor 10.

ステップS101において、プロセッサ10は、HMDセンサ120から送信された検出データに基づいて、HMD装置110が所定角度より下に傾いたか否かを判断する。   In step S101, the processor 10 determines whether or not the HMD device 110 is tilted below a predetermined angle based on the detection data transmitted from the HMD sensor 120.

HMD装置110が所定角度より下に傾いたと判断されない場合、ステップ102において、プロセッサ10は、HMD装置110の向きに応じた視界画像を生成して出力する。HMD装置110が所定角度より下に傾いたと判断された場合(ステップS101:YES)、ステップS103において、プロセッサ10は、仮想カメラ1の移動モードに移行する。なお、初期状態の前提として仮想カメラ1は静止モードであり、後述する移動処理を行なわない状態である。   If it is not determined that the HMD device 110 is tilted below a predetermined angle, the processor 10 generates and outputs a field-of-view image corresponding to the orientation of the HMD device 110 in step 102. When it is determined that the HMD device 110 is tilted below a predetermined angle (step S101: YES), the processor 10 shifts to the movement mode of the virtual camera 1 in step S103. Note that, as a premise of the initial state, the virtual camera 1 is in a still mode and is in a state in which a movement process described later is not performed.

ステップS104において、プロセッサ10は、注視センサ140が検出した視線が向けられる方向と仮想空間2を構成する基準面(例えば、Y軸座標が0であるXZ断面)との交点を、キャラクタオブジェクトの移動目標位置として算出する。なお、仮想カメラ1が移動モードに移行後、ユーザ190が、所定時間、注視した場合に、その交点を移動目標位置とする。   In step S104, the processor 10 moves the character object at the intersection of the direction in which the line of sight detected by the gaze sensor 140 is directed and the reference plane (for example, the XZ cross section where the Y-axis coordinate is 0) constituting the virtual space 2. Calculate as the target position. Note that when the user 190 gazes for a predetermined time after the virtual camera 1 shifts to the movement mode, the intersection point is set as the movement target position.

ステップS105において、プロセッサ10は、視界画像内にキャラクタオブジェクトが表示されているか否かを判断する。この表示における判断処理は、仮想カメラ1の位置に基づいて定められた視界領域にキャラクタオブジェクトの位置が含んでいるか否かにより行なわれる。キャラクタオブジェクトが表示されていると判断されると(ステップS105:YES)、ステップS106において、プロセッサ10は、キャラクタオブジェクトを交点に向けて移動させる。   In step S105, the processor 10 determines whether or not a character object is displayed in the view field image. The determination process in this display is performed based on whether or not the position of the character object is included in the view field area determined based on the position of the virtual camera 1. If it is determined that the character object is displayed (step S105: YES), in step S106, the processor 10 moves the character object toward the intersection.

ステップS107において、プロセッサ10は、キャラクタオブジェクトと、仮想カメラとが所定の位置関係になったか否かを判断する。この位置関係における判断処理は、仮想カメラ1の位置(座標)とキャラクタオブジェクトの位置(座標)とに基づいて、仮想カメラ1とキャラクタオブジェクトとが所定距離内であるか否かにより行なわれる。なお、仮想カメラ1の向きを基準として所定の位置にキャラクタオブジェクトがいることを判断してもよい。そして、ステップS107において、所定の位置関係になるまで、ステップS106によるキャラクタオブジェクトの移動処理が行なわれる。   In step S107, the processor 10 determines whether or not the character object and the virtual camera have a predetermined positional relationship. The determination processing in this positional relationship is performed based on whether the virtual camera 1 and the character object are within a predetermined distance based on the position (coordinates) of the virtual camera 1 and the position (coordinates) of the character object. Note that it may be determined that the character object is at a predetermined position with reference to the orientation of the virtual camera 1. In step S107, the character object moving process in step S106 is performed until a predetermined positional relationship is reached.

所定の位置関係になったと判断されると(ステップS107:YES)、ステップS108において、プロセッサ10は、キャラクタオブジェクトの移動処理を行ないつつ、キャラクタオブジェクトと仮想カメラ1とが所定の位置関係を維持するように仮想カメラ1を移動させる。仮想カメラ1は、基準面から所定の高さに設定されており、その所定の高さを変えることなく、移動させるのが望ましい。   If it is determined that the predetermined positional relationship has been reached (step S107: YES), in step S108, the processor 10 performs the moving process of the character object while maintaining the predetermined positional relationship between the character object and the virtual camera 1. Thus, the virtual camera 1 is moved. The virtual camera 1 is set to a predetermined height from the reference plane, and it is desirable to move the virtual camera 1 without changing the predetermined height.

ステップS109において、プロセッサ10は、キャラクタオブジェクトが交点に到着したか否かを判断する。この判断処理は、キャラクタオブジェクトの位置(座標)と交点(座標)とが一致している否か、または交点を基準に所定の範囲内にキャラクタオブジェクトが位置したか否かにより行なわれる。プロセッサ10は、キャラクタオブジェクトが交点に到着するまで、仮想カメラ1の移動処理を行う。   In step S109, the processor 10 determines whether or not the character object has arrived at the intersection. This determination process is performed based on whether the position (coordinates) of the character object is coincident with the intersection (coordinate), or whether the character object is located within a predetermined range with reference to the intersection. The processor 10 performs the movement process of the virtual camera 1 until the character object arrives at the intersection.

キャラクタオブジェクトが交点に到着した場合、ステップS110において、プロセッサ10は、キャラクタオブジェクトと仮想カメラ1との位置関係が待機状態の位置関係となるまで仮想カメラ1を移動させる。そして、プロセッサ10は、仮想カメラ1が待機状態の位置関係となった時点で仮想カメラ1の移動処理を停止する。   When the character object arrives at the intersection, in step S110, the processor 10 moves the virtual camera 1 until the positional relationship between the character object and the virtual camera 1 becomes the standby positional relationship. Then, the processor 10 stops the movement process of the virtual camera 1 when the virtual camera 1 is in the standby positional relationship.

一方、ステップS105において、プロセッサ10は、視界画像内にキャラクタオブジェクトが表示されていないと判断すると、ステップS111において、プロセッサ10は、キャラクタオブジェクトを移動させる。そして、ステップS112において、プロセッサ10は、視界画像内にキャラクタオブジェクトが表示されるまで、キャラクタオブジェクトを移動させる。   On the other hand, if the processor 10 determines in step S105 that no character object is displayed in the view field image, the processor 10 moves the character object in step S111. In step S112, the processor 10 moves the character object until the character object is displayed in the view field image.

キャラクタオブジェクトが視界画像内に表示されると、ステップS113において、プロセッサ10は、キャラクタオブジェクトと仮想カメラ1が所定の位置関係になったか否かを判断する。そして、所定の位置関係になると(ステップS113)、プロセッサ10は、キャラクタオブジェクトに追随するように、仮想カメラ1を移動させる。   When the character object is displayed in the view field image, in step S113, the processor 10 determines whether or not the character object and the virtual camera 1 have a predetermined positional relationship. When the predetermined positional relationship is reached (step S113), the processor 10 moves the virtual camera 1 so as to follow the character object.

つぎに、上述プロセッサ10の処理の具体的な動作例を図12から図14を用いて説明する。図12〜図14は、仮想カメラ1が移動している状態を示す図である。図12〜図14のそれぞれにおいて、状態(A)は、ユーザ190を模式的に表し、状態(B)は、仮想カメラ1を模式的に表す。また、状態(C)および状態(E)は、仮想カメラ1による視界画像Mを表す。状態(D)および状態(F)は、仮想空間画像22における仮想カメラ1、キャラクタオブジェクト400、および仮想オブジェクト500の位置関係を表す。   Next, a specific operation example of the processing of the processor 10 will be described with reference to FIGS. 12-14 is a figure which shows the state which the virtual camera 1 is moving. In each of FIGS. 12 to 14, the state (A) schematically represents the user 190, and the state (B) schematically represents the virtual camera 1. Further, the state (C) and the state (E) represent the field-of-view image M obtained by the virtual camera 1. The state (D) and the state (F) represent the positional relationship among the virtual camera 1, the character object 400, and the virtual object 500 in the virtual space image 22.

まず、図12について説明する。図12は、移動モードに移行する前のユーザの状態、仮想カメラの状態、視界画像Mの状態、および仮想空間画像22の状態を示し、図10におけるステップS3〜S4により処理されたときの状態を示す。状態(A)に示されるように、静止モードにおいては、ユーザ190は、水平方向に向いており、プロセッサ10は、HMDセンサ120により検出された傾きに従って、HMD装置110の傾きを判断する。これにより、プロセッサ10は、状態(B)に示されるように仮想カメラ1の傾きを制御する。状態(B)で示されるように、仮想カメラ1が、ほぼ水平方向に向いており、少なくとも下方に傾いていない場合には、仮想カメラ1は静止モードとして動作する。プロセッサ10は、仮想カメラ1の向いている方向に応じた視界画像Mを生成する。ここでは、状態(D)で示されるように、その視界領域23には、キャラクタオブジェクト400、仮想オブジェクト500を含んでいる。したがって、状態(C)で示されるとおり、プロセッサ10は、キャラクタオブジェクト400および仮想オブジェクト500を含んだ視界画像Mを生成して、HMD装置110に表示する。なお、視界画像Mは、視野の外側に行くに従って、視認できる情報量が低減されるように暗くされている。これにより、視覚情報が限定的になり、脳の過敏な反応を抑制し、VR酔いを防止することができる。   First, FIG. 12 will be described. FIG. 12 shows the state of the user, the state of the virtual camera, the state of the view image M, and the state of the virtual space image 22 before the transition to the movement mode, and the state when processed by steps S3 to S4 in FIG. Indicates. As shown in the state (A), in the still mode, the user 190 is oriented in the horizontal direction, and the processor 10 determines the inclination of the HMD device 110 according to the inclination detected by the HMD sensor 120. Thereby, the processor 10 controls the inclination of the virtual camera 1 as shown in the state (B). As shown in the state (B), when the virtual camera 1 is oriented substantially in the horizontal direction and at least not tilted downward, the virtual camera 1 operates in the still mode. The processor 10 generates a visual field image M corresponding to the direction in which the virtual camera 1 is facing. Here, as shown in the state (D), the visual field area 23 includes a character object 400 and a virtual object 500. Therefore, as indicated by the state (C), the processor 10 generates a view image M including the character object 400 and the virtual object 500 and displays it on the HMD device 110. The field-of-view image M is darkened so that the amount of information that can be viewed is reduced as it goes outside the field of view. Thereby, visual information becomes limited, it is possible to suppress hypersensitive reactions of the brain and prevent VR sickness.

つぎに、図13について説明する。図13は、静止モードから移動モードに移行するときのユーザの状態、仮想カメラ1の状態、視界画像Mの状態、および仮想空間画像22の状態を示し、図11におけるステップS101〜S113により処理されたときの状態を示す。状態(A)に示されるように、ユーザ190が所定角度より下に傾くと、HMDセンサ120は、傾いたことを検出する。状態(B)に示されるように、プロセッサ10は、その傾きに応じて、仮想カメラ1を制御する。プロセッサ10は、HMDセンサ120が検出した傾きに基づいて、ユーザ190が所定角度より下に傾いたと判断すると、仮想カメラ1を移動モードに移行する。   Next, FIG. 13 will be described. FIG. 13 shows the state of the user, the state of the virtual camera 1, the state of the view image M, and the state of the virtual space image 22 when shifting from the still mode to the moving mode, and is processed by steps S101 to S113 in FIG. The state when As shown in the state (A), when the user 190 tilts below a predetermined angle, the HMD sensor 120 detects that it has tilted. As shown in the state (B), the processor 10 controls the virtual camera 1 according to the inclination. When the processor 10 determines that the user 190 is tilted below a predetermined angle based on the tilt detected by the HMD sensor 120, the processor 10 shifts the virtual camera 1 to the movement mode.

仮想カメラ1が移動モードに移行すると、プロセッサ10は、注視センサ140が検出したユーザ190が注視した視線方向と、仮想空間を定義している基準面(例えばY軸が0となるXZ断面)との交点Iを移動目標位置として算出する。ここでは、所定時間注視した地点を交点Iとする。   When the virtual camera 1 shifts to the movement mode, the processor 10 detects the gaze direction that the user 190 gazes detected by the gaze sensor 140 and the reference plane that defines the virtual space (for example, the XZ cross section in which the Y axis is 0). Is calculated as a movement target position. Here, the intersection I is a point watched for a predetermined time.

プロセッサ10が、交点Iを算出すると、これを移動目標位置とし、キャラクタオブジェクト400をその交点Iに向けて移動させる。状態(E)は、キャラクタオブジェクト400が交点Iに向けて移動している視界画像Mを示す。状態(F)は、キャラクタオブジェクト400の移動に追随して、仮想カメラ1も移動方向Yで示されるとおり、平行移動することを示す。仮想オブジェクト制御モジュール232により、仮想カメラ1とキャラクタオブジェクト400とは所定の位置関係(例えば、仮想カメラ1の視界画像の左側にキャラクタオブジェクトは位置する)を有するように定められており、プロセッサ10は、キャラクタオブジェクト400の移動に追随して仮想カメラ1を移動させる。なお、状態(F)においては、キャラクタオブジェクト400の移動に対して、移動方向Yで示されるとおり、平行移動しているが、これに限るものではない。仮想カメラ1は、キャラクタオブジェクト400と所定の位置関係を有するように、直接交点Iに向けて移動してもよい。   When the processor 10 calculates the intersection point I, this is set as the movement target position, and the character object 400 is moved toward the intersection point I. The state (E) shows the view image M in which the character object 400 is moving toward the intersection point I. The state (F) indicates that the virtual camera 1 also moves in parallel as indicated by the movement direction Y following the movement of the character object 400. The virtual object control module 232 determines that the virtual camera 1 and the character object 400 have a predetermined positional relationship (for example, the character object is positioned on the left side of the visual field image of the virtual camera 1). The virtual camera 1 is moved following the movement of the character object 400. In the state (F), the character object 400 moves in parallel as indicated by the movement direction Y with respect to the movement of the character object 400, but the present invention is not limited to this. The virtual camera 1 may move directly toward the intersection point I so as to have a predetermined positional relationship with the character object 400.

つぎに、本実施形態のHMDシステム100の変形例について説明する。上記実施形態では、ユーザ190の視線方向に基づいて移動目標位置を決定した。しかしながら、これに限定するものではなく、例えば、操作オブジェクトを用いてもよい。操作オブジェクトの例としては、懐中電灯が挙げられる。図14は、操作オブジェクトとして懐中電灯を用いて移動目標位置を決定するときの処理を模式的に示す図である。図14において、状態(A)は、ユーザ190を模式的に表し、状態(B)は、仮想カメラ1および操作オブジェクト450を模式的に表す。また、状態(C)は、仮想カメラ1による視界画像Mを表す。状態(D)は、仮想空間画像22における仮想カメラ1、キャラクタオブジェクト400および仮想オブジェクト500の位置関係を表す。   Next, a modification of the HMD system 100 of the present embodiment will be described. In the above embodiment, the movement target position is determined based on the viewing direction of the user 190. However, the present invention is not limited to this. For example, an operation object may be used. An example of the operation object is a flashlight. FIG. 14 is a diagram schematically illustrating processing when a movement target position is determined using a flashlight as an operation object. In FIG. 14, the state (A) schematically represents the user 190, and the state (B) schematically represents the virtual camera 1 and the operation object 450. The state (C) represents the field-of-view image M from the virtual camera 1. The state (D) represents the positional relationship among the virtual camera 1, the character object 400, and the virtual object 500 in the virtual space image 22.

状態(A)で示されるとおり、ユーザ190は、コントローラ160を保持している。ユーザ190はこのコントローラ160を操作することにより、操作オブジェクト450である懐中電灯を操作することができる。本実施形態においては、操作オブジェクト450を下に所定角度傾けた場合に、仮想カメラ1は移動モードに移行する。状態(B)は下に所定角度傾けた操作オブジェクト450を示す。状態(B)で示されるとおり、仮想カメラ1は下に傾いていないが、操作オブジェクト450は下に傾いており、移動モードに移行することを示している。状態(D)に示されるように、プロセッサ10は、操作オブジェクト450の指向方向(懐中電灯の点灯方向)と基準面との交点Iを移動目標位置として算出する。そして、プロセッサ10は、キャラクタオブジェクト400および操作オブジェクト450を、その交点Iに向けて移動させるとともに、仮想カメラ1を、そのキャラクタオブジェクト400に追随して移動させる。なお、仮想カメラ1は、キャラクタオブジェクト400に追随することなく、直接交点Iに向けて移動させるように、プロセッサ10は制御してもよい。状態(C)に示されるとおり、プロセッサ10は、キャラクタオブジェクト400および操作オブジェクト450を交点Iに向けて移動させるとともに、操作オブジェクト450を移動させた視界画像Mを生成する。状態(C)で示されるとおり、操作オブジェクト450である懐中電灯が点灯することで、暗いところを探索しているようなホラー的な演出を可能にしている。   As shown in the state (A), the user 190 holds the controller 160. The user 190 can operate the flashlight that is the operation object 450 by operating the controller 160. In this embodiment, when the operation object 450 is tilted downward by a predetermined angle, the virtual camera 1 shifts to the movement mode. The state (B) shows the operation object 450 tilted downward by a predetermined angle. As shown in the state (B), the virtual camera 1 is not tilted downward, but the operation object 450 is tilted downward, indicating that the movement mode is entered. As shown in the state (D), the processor 10 calculates the intersection I between the direction of the operation object 450 (lighting direction of the flashlight) and the reference plane as a movement target position. Then, the processor 10 moves the character object 400 and the operation object 450 toward the intersection I, and moves the virtual camera 1 following the character object 400. Note that the processor 10 may control the virtual camera 1 so as to move directly toward the intersection I without following the character object 400. As shown in the state (C), the processor 10 moves the character object 400 and the operation object 450 toward the intersection point I, and generates a visual field image M in which the operation object 450 is moved. As shown in the state (C), the flashlight that is the operation object 450 is turned on, thereby enabling a horror-like effect such as searching for a dark place.

上述の本実施形態においては、Y軸が0としたXZ断面を仮想空間の基準面とし、キャラクタオブジェクト400および仮想カメラ1の移動処理について説明したが、仮想空間2は、立体的なものであることから、仮想カメラ1は上へ移動または下へ移動することを可能にすることが望ましい。仮想カメラ1が下へ移動する場合、例えば下りの階段(例えば階段オブジェクト)が視界画像Mに表現されており、その階段を下りたい場合には、まずは、ユーザ190は下に所定角度に傾けて仮想カメラ1を移動モードにさせる。なお、下りの移動をする場合には、平面の移動と比較して、その所定の角度の閾値をより大きくすることが好ましい。そして、プロセッサは、注視センサ140が検出した視線と、仮想空間画像22上に表現された階段(対象オブジェクト)との交点を求めることにより、移動目標位置を算出するようにしてもよい。なお、階段との交点に限らず、例えばその階下の床を基準面とし、その交点を移動目標位置としてもよい。   In the above-described embodiment, the movement process of the character object 400 and the virtual camera 1 has been described with the XZ cross section with the Y axis set to 0 as the reference plane of the virtual space, but the virtual space 2 is three-dimensional. Therefore, it is desirable that the virtual camera 1 can be moved up or down. When the virtual camera 1 moves downward, for example, a downward staircase (for example, a staircase object) is represented in the view image M, and when the user wants to go down the staircase, first, the user 190 tilts down to a predetermined angle. The virtual camera 1 is set to the movement mode. In the case of a downward movement, it is preferable that the threshold of the predetermined angle is made larger than that of a plane movement. Then, the processor may calculate the movement target position by obtaining the intersection of the line of sight detected by the gaze sensor 140 and the staircase (target object) represented on the virtual space image 22. Not only the intersection with the stairs but also, for example, the floor below the floor may be used as a reference plane, and the intersection may be set as the movement target position.

一方、上に移動したい場合、例えば、上りの階段が視界画像Mに表現されており、その階段を上りたい場合には、まずは、ユーザ190は上に所定角度傾けて仮想カメラ1を移動モードにさせる。一般に、階段を上がろうとして、ユーザ190は階段の先を見上げると、その階上の天井が、ユーザ190の視線との交点と算出される可能性がある。よって、その場合には、階上の床と同一の高さに設定された仮想床を基準面として定義しておき、その基準面との交点を移動目標位置として求めるようにしてもよい。   On the other hand, when the user wants to move up, for example, when the ascending stairs are represented in the field-of-view image M, and the user wants to go up the stairs, first, the user 190 tilts upward by a predetermined angle to put the virtual camera 1 in the movement mode. Let In general, when the user 190 looks up at the top of the stairs while going up the stairs, the ceiling on the floor may be calculated as an intersection with the user's 190 line of sight. Therefore, in that case, a virtual floor set at the same height as the floor above the floor may be defined as the reference plane, and the intersection with the reference plane may be obtained as the movement target position.

上記実施形態では、基準面として、Y軸座標が任意の値のXZ断面を例に挙げたが、これに限るものではない。基準面として、X軸座標が任意の値のYZ断面や、Z軸座標が任意の値のXY断面としてもよい。この場合の例としては、壁などのオブジェクトが基準面として考えられる。   In the above-described embodiment, the XZ cross section having an arbitrary Y-axis coordinate is exemplified as the reference plane. However, the reference plane is not limited thereto. The reference plane may be a YZ cross section having an arbitrary X-axis coordinate value or an XY cross section having an arbitrary Z-axis coordinate value. As an example in this case, an object such as a wall can be considered as the reference plane.

以上、本開示の実施形態について説明したが、本発明の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は、特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。   As mentioned above, although embodiment of this indication was described, the technical scope of this invention should not be limitedly interpreted by description of this embodiment. This embodiment is an example, and it is understood by those skilled in the art that various modifications can be made within the scope of the invention described in the claims. The technical scope of the present invention should be determined based on the scope of the invention described in the claims and the equivalents thereof.

本発明に開示された主題は、例えば以下のような項目として示される。
(項目1)
HMD装置110を介して、ユーザ190に仮想空間2を提供するコンピュータ200の情報処理方法において、
ユーザ190に提供する視界画像Mを定義する仮想カメラ1を含む仮想空間2を定義する仮想空間データを生成するステップと(例えば、図10のステップS4)、
ユーザ190の身体の一部の向きを検出し、当該向きに基づいて仮想空間2における仮想カメラ1の移動目標位置を指定するステップと(図10のステップS5〜ステップS7、図11のステップS104)、
移動目標位置に基づいて、仮想カメラ1を移動させるステップと(図10のステップS7、図11のステップS108)、
仮想カメラ1の移動に伴った視界画像Mを生成して、HMD装置110に提示するステップと(図10のステップS7)、
を備える情報処理方法。
この開示によれば、ユーザ190の身体の一部の向きに基づいて仮想カメラ1の移動目標位置を指定して、移動させることができる。したがって、直感的な移動を可能にして、ユーザの仮想空間における没入感を向上させることができる。例えば、注視センサ140は、ユーザ190の身体の一部として、視線方向を検出することができる。また、コントローラ160は、ユーザ190が操作オブジェクトを介しての操作として、ユーザの指・手の方向などを検出することができる。
(項目2)
HMD装置110の傾きを検出するステップと(図11のステップS101)、
HMD装置110の傾きが所定条件を満たす場合には、仮想カメラ1を移動させることを可能にする移動モードにするステップと、
を備える項目1の情報処理方法。
この開示によれば、HMD装置110の傾きが所定条件を満たす場合には、仮想カメラ1を移動モードに移行させることができ、直感的な移動操作を可能にする。
(項目3)
仮想カメラ1の移動に際して、視界画像Mの予め定められた位置に、予め定められたキャラクタオブジェクト400を表示させるステップをさらに備える、項目1の情報処理方法。
この開示によれば、キャラクタオブジェクト400を視界画像Mに表示させることで、仮想カメラ1の移動とともに、そのキャラクタオブジェクト400を移動させることができる。一般的に仮想空間2内で仮想カメラ1の移動はユーザにとって酔いやすいといわれているが、視界画像M内の予め定められた位置にキャラクタオブジェクト400を表示させることで、VR酔いを低減することができる。また、キャラクタオブジェクトと一緒に歩いているような視覚的効果を得ることができる。
(項目4)
仮想カメラ1を移動させるステップにおいて、移動目標位置に向けて、キャラクタオブジェクト400を移動させる際、仮想カメラ1とキャラクタオブジェクト400とが所定の位置関係を維持するように、仮想カメラ1を移動させる、項目2の情報処理方法。
この開示によれば、キャラクタオブジェクト400を視界画像Mに表示させ、仮想カメラ1はそのキャラクタオブジェクト400とともに移動することができる。一般的に仮想空間2内で仮想カメラ1の移動はユーザにとって酔いやすいといわれているが、所定の位置関係となるようにキャラクタオブジェクト400を表示させ、仮想カメラ1とともに移動させることで、VR酔いを低減することができる。また、キャラクタオブジェクト400にユーザ190は連れて行かれる、または手を引かれているなどの演出も可能にし、ユーザ190に対して仮想空間における没入感を向上させることができる。また、キャラクタオブジェクトに手を引かれているような視覚的効果を得ることもできる。
(項目5)
仮想カメラ1を移動させるステップにおいて、仮想カメラ1を移動させる際、視界画像M内にキャラクタオブジェクト400が表示されていない場合には、視界画像M内にキャラクタオブジェクト400が移動されるまで仮想カメラ1を待機させ、視界画像M内にキャラクタオブジェクト400を移動させ、視界画像M内にキャラクタオブジェクト400が表示されると、当該キャラクタオブジェクト400とともに、仮想カメラ1を移動させる、項目3の情報処理方法。
この開示によれば、キャラクタオブジェクト400が視界画像M内にいない場合には、キャラクタオブジェクトが400表示されるまで、仮想カメラ1の移動を待つことができる。そして、キャラクタオブジェクト400が表示されると、そのキャラクタオブジェクト400の移動とともに仮想カメラ1を移動させることで、VR酔いを低減することができる。
(項目6)
ユーザの身体の一部の向きを検出するステップをさらに備え(図1のステップ104)、移動目標位置は、ユーザ190の身体の一部の向き(視線方向または指等の向き)と、仮想空間2を構成する予め定められた基準面(例えば、所定の高さのXZ断面)との交点とする、項目1から5のいずれかの情報処理方法。
この開示によれば、ユーザ190の身体の一部の向きと、仮想空間2を構成する予め定められた平面との交点を移動目標位置とし、当該移動目標位置に対して、仮想カメラ1を移動させることで、直感的な移動を可能にすることができ、ユーザの仮想空間における没入感を向上させることができる。
(項目7)
仮想カメラ1は、仮想空間2を構成する平面から所定の高さに位置しており、仮想カメラ1を移動させるステップは、仮想カメラ1の高さを変えずに移動させる、項目1から5のいずれかの情報処理方法。
この開示によれば、仮想カメラ1を仮想空間2を構成する平面から所定の高さに位置させておき、その高さを変えずに移動させることで、よりリアルな移動を可能にする。したがって、ユーザ190の仮想空間2における没入感を向上させることができる。
The subject matter disclosed in the present invention is shown as the following items, for example.
(Item 1)
In the information processing method of the computer 200 that provides the virtual space 2 to the user 190 via the HMD device 110,
Generating virtual space data defining the virtual space 2 including the virtual camera 1 defining the view image M provided to the user 190 (for example, step S4 in FIG. 10);
A step of detecting the orientation of a part of the body of the user 190 and designating a movement target position of the virtual camera 1 in the virtual space 2 based on the orientation (step S5 to step S7 in FIG. 10, step S104 in FIG. 11). ,
A step of moving the virtual camera 1 based on the movement target position (step S7 in FIG. 10, step S108 in FIG. 11);
Generating a visual field image M accompanying the movement of the virtual camera 1 and presenting it to the HMD device 110 (step S7 in FIG. 10);
An information processing method comprising:
According to this disclosure, the movement target position of the virtual camera 1 can be designated and moved based on the orientation of a part of the body of the user 190. Therefore, it is possible to move intuitively and improve the immersive feeling of the user in the virtual space. For example, the gaze sensor 140 can detect the gaze direction as a part of the body of the user 190. Further, the controller 160 can detect the direction of the user's finger / hand as the operation of the user 190 via the operation object.
(Item 2)
Detecting the inclination of the HMD device 110 (step S101 in FIG. 11);
When the inclination of the HMD device 110 satisfies a predetermined condition, a step of setting the movement mode in which the virtual camera 1 can be moved;
An information processing method according to item 1.
According to this disclosure, when the inclination of the HMD device 110 satisfies a predetermined condition, the virtual camera 1 can be shifted to the movement mode, thereby enabling an intuitive movement operation.
(Item 3)
The information processing method according to item 1, further comprising a step of displaying a predetermined character object 400 at a predetermined position of the view field image M when the virtual camera 1 is moved.
According to this disclosure, the character object 400 can be moved together with the movement of the virtual camera 1 by displaying the character object 400 in the view field image M. In general, it is said that the movement of the virtual camera 1 in the virtual space 2 is easy for the user to get drunk, but the VR sickness can be reduced by displaying the character object 400 at a predetermined position in the view field image M. Can do. In addition, a visual effect such as walking with a character object can be obtained.
(Item 4)
In the step of moving the virtual camera 1, when moving the character object 400 toward the movement target position, the virtual camera 1 is moved so that the virtual camera 1 and the character object 400 maintain a predetermined positional relationship. Item 2. Information processing method.
According to this disclosure, the character object 400 is displayed on the view image M, and the virtual camera 1 can move with the character object 400. In general, it is said that the movement of the virtual camera 1 in the virtual space 2 is likely to cause drunkness for the user. However, by displaying the character object 400 so as to have a predetermined positional relationship and moving it together with the virtual camera 1, VR sickness can be achieved. Can be reduced. In addition, it is possible to produce an effect such that the user 190 is taken or pulled by the character object 400, and the user 190 can be more immersed in the virtual space. In addition, it is possible to obtain a visual effect such that the character object is drawn.
(Item 5)
When moving the virtual camera 1 in the step of moving the virtual camera 1, if the character object 400 is not displayed in the view image M, the virtual camera 1 is moved until the character object 400 is moved in the view image M. , The character object 400 is moved in the view image M, and when the character object 400 is displayed in the view image M, the virtual camera 1 is moved together with the character object 400.
According to this disclosure, when the character object 400 is not in the view field image M, it is possible to wait for the movement of the virtual camera 1 until the character object 400 is displayed. When the character object 400 is displayed, the VR sickness can be reduced by moving the virtual camera 1 together with the movement of the character object 400.
(Item 6)
The method further includes a step of detecting the orientation of a part of the user's body (step 104 in FIG. 1), and the movement target position includes the orientation of the part of the user's 190 body (the direction of the line of sight or the finger) and the virtual space. 6. The information processing method according to any one of items 1 to 5, wherein the information processing method is an intersection with a predetermined reference plane (for example, an XZ cross section having a predetermined height) that constitutes 2.
According to this disclosure, the virtual camera 1 is moved with respect to the movement target position, with the intersection of the orientation of a part of the body of the user 190 and a predetermined plane constituting the virtual space 2 as the movement target position. By doing so, it is possible to enable intuitive movement, and to improve the user's immersive feeling in the virtual space.
(Item 7)
The virtual camera 1 is positioned at a predetermined height from the plane constituting the virtual space 2, and the step of moving the virtual camera 1 moves the virtual camera 1 without changing the height. Either information processing method.
According to this disclosure, the virtual camera 1 is positioned at a predetermined height from the plane constituting the virtual space 2 and moved without changing the height, thereby enabling more realistic movement. Therefore, it is possible to improve the immersive feeling of the user 190 in the virtual space 2.

1…仮想カメラ、2…仮想空間、5…基準視線、10…プロセッサ、11…メモリ、12…ストレージ、13…入出力インターフェース、14…通信インターフェース、15…バス、22…仮想空間画像、23…視界領域、24…領域、25…領域、100…HMDシステム、110…HMD装置、112…モニタ、120…HMDセンサ、130…モーションセンサ、140…注視センサ、150…サーバ、160…コントローラ、200…コンピュータ、220…表示制御モジュール、230…仮想空間制御モジュール、240…メモリモジュール、250…通信制御モジュール、221…仮想カメラ制御モジュール、222…視界領域決定モジュール、223…視界画像生成モジュール、224…基準視線特定モジュール、231…仮想空間定義モジュール、232…仮想オブジェクト制御モジュール、233…操作オブジェクト制御モジュール、241…空間情報、242…オブジェクト情報、243…ユーザ情報。

DESCRIPTION OF SYMBOLS 1 ... Virtual camera, 2 ... Virtual space, 5 ... Base line of sight, 10 ... Processor, 11 ... Memory, 12 ... Storage, 13 ... Input / output interface, 14 ... Communication interface, 15 ... Bus, 22 ... Virtual space image, 23 ... Field of view 24 ... area 25 ... area 100 ... HMD system 110 ... HMD device 112 ... monitor 120 ... HMD sensor 130 ... motion sensor 140 ... gaze sensor 150 ... server 160 ... controller 200 ... Computer, 220 ... Display control module, 230 ... Virtual space control module, 240 ... Memory module, 250 ... Communication control module, 221 ... Virtual camera control module, 222 ... View field determination module, 223 ... View field image generation module, 224 ... Reference Line-of-sight identification module, 231 ... provisional Space definition module, 232 ... virtual object control module, 233 ... operation object control module, 241 ... spatial information, 242 ... object information, 243 ... user information.

Claims (9)

ヘッドマウントディスプレイを介してユーザに仮想空間を提供する情報処理装置の情報処理方法において、
ユーザに提供する視界画像を定義する仮想カメラを含む仮想空間を定義する仮想空間データを生成するステップと、
前記ユーザの身体の一部の向きを検出し、当該向きに基づいて前記仮想空間における前記仮想カメラの移動目標位置を指定するステップと、
前記移動目標位置に基づいて、前記仮想カメラを移動させるステップと、
前記仮想カメラの移動に伴った視界画像を生成して、前記ヘッドマウントディスプレイに提示するステップと、
を備える情報処理方法。
In an information processing method of an information processing apparatus that provides a virtual space to a user via a head mounted display,
Generating virtual space data defining a virtual space including a virtual camera defining a view image provided to a user;
Detecting a direction of a part of the user's body and designating a movement target position of the virtual camera in the virtual space based on the direction;
Moving the virtual camera based on the movement target position;
Generating a visual field image accompanying the movement of the virtual camera and presenting it on the head mounted display;
An information processing method comprising:
前記ヘッドマウントディスプレイの傾きを検出するステップと、
前記ヘッドマウントディスプレイの傾きが所定条件を満たす場合には、前記仮想カメラを移動させることを可能にする移動モードにするステップと、
を備える請求項1に記載の情報処理方法。
Detecting the tilt of the head mounted display;
When the tilt of the head-mounted display satisfies a predetermined condition, the step of entering a movement mode that allows the virtual camera to move; and
An information processing method according to claim 1.
前記仮想カメラの移動に際して、前記視界画像の予め定められた位置に、予め定められたキャラクタオブジェクトを表示させるステップをさらに備える、請求項1または2に記載の情報処理方法。   The information processing method according to claim 1, further comprising a step of displaying a predetermined character object at a predetermined position of the view field image when the virtual camera is moved. 前記仮想カメラを移動させるステップにおいて、
前記移動目標位置に向けて、前記キャラクタオブジェクトを移動させる際、前記仮想カメラと前記キャラクタオブジェクトとが所定の位置関係を維持するように、前記仮想カメラを移動させる、請求項3に記載の情報処理方法。
In the step of moving the virtual camera,
The information processing according to claim 3, wherein when moving the character object toward the movement target position, the virtual camera is moved so that the virtual camera and the character object maintain a predetermined positional relationship. Method.
前記仮想カメラを移動させるステップにおいて、
前記仮想カメラを移動させる際、視界画像内にキャラクタオブジェクトが表示されていない場合には、前記視界画像内に前記キャラクタオブジェクトが移動されるまで仮想カメラを待機させ、
前記視界画像内に前記キャラクタオブジェクトが表示されると、当該キャラクタオブジェクトとともに、前記仮想カメラを移動させる、請求項4に記載の情報処理方法。
In the step of moving the virtual camera,
When moving the virtual camera, if a character object is not displayed in the view image, the virtual camera is waited until the character object is moved in the view image,
The information processing method according to claim 4, wherein when the character object is displayed in the view image, the virtual camera is moved together with the character object.
ユーザの身体の一部の向きを検出するステップをさらに備え、
前記移動目標位置は、前記ユーザの身体の一部の向きと、前記仮想空間を構成する予め定められた基準面との交点とする、請求項1から5のいずれか一項に記載の情報処理方法。
Detecting the orientation of a part of the user's body,
The information processing according to any one of claims 1 to 5, wherein the movement target position is an intersection of a direction of a part of the user's body and a predetermined reference plane constituting the virtual space. Method.
前記仮想カメラは、前記仮想空間を構成する基準面から所定の高さに位置しており、
前記仮想カメラを移動させるステップは、
前記仮想カメラの高さを変えずに移動させる、
請求項1から6のいずれか一項に記載の情報処理方法。
The virtual camera is located at a predetermined height from a reference plane constituting the virtual space;
The step of moving the virtual camera comprises:
Move without changing the height of the virtual camera,
The information processing method according to any one of claims 1 to 6.
請求項1〜7のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。   The program which makes a computer perform the method as described in any one of Claims 1-7. 請求項8に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、装置。
A memory storing the program according to claim 8;
And a processor coupled to the memory for executing the program.
JP2019084171A 2019-04-25 2019-04-25 Information processing method, apparatus, and program causing computer to execute the method Pending JP2019192250A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019084171A JP2019192250A (en) 2019-04-25 2019-04-25 Information processing method, apparatus, and program causing computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019084171A JP2019192250A (en) 2019-04-25 2019-04-25 Information processing method, apparatus, and program causing computer to execute the method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016209783A Division JP6523233B2 (en) 2016-10-26 2016-10-26 Information processing method, apparatus, and program for causing a computer to execute the information processing method

Publications (1)

Publication Number Publication Date
JP2019192250A true JP2019192250A (en) 2019-10-31

Family

ID=68390530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019084171A Pending JP2019192250A (en) 2019-04-25 2019-04-25 Information processing method, apparatus, and program causing computer to execute the method

Country Status (1)

Country Link
JP (1) JP2019192250A (en)

Similar Documents

Publication Publication Date Title
JP6523233B2 (en) Information processing method, apparatus, and program for causing a computer to execute the information processing method
JP6246310B1 (en) Method, program, and apparatus for providing virtual space
JP2018072604A (en) Method for suppressing vr sickness, program for causing computer to execute 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
JP2018194889A (en) Information processing method, computer and program
JP6495398B2 (en) Method and program for providing virtual space, and information processing apparatus for executing the program
JP6306678B1 (en) Method executed by computer to present object in virtual space, program causing computer to execute the method, and computer apparatus
JP6457446B2 (en) Method and apparatus for supporting communication in virtual space, and program for causing computer to execute the method
JP2018049629A (en) Method and device for supporting input in virtual space and program for causing computer to execute the method
JP6278546B1 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
JP7005406B2 (en) Programs, information processing devices, and information processing methods
JP6779840B2 (en) Methods and devices for assisting input in virtual space and programs that allow computers to execute such methods.
JP6368404B1 (en) Information processing method, program, and computer
JP6382928B2 (en) Method executed by computer to control display of image in virtual space, program for causing computer to realize the method, and computer apparatus
JP2018170013A (en) Method executed by computer to control display of image in virtual space, program for causing computer to achieve the method, and computer device
JP6966336B2 (en) An information processing method, a device, and a program for causing a computer to execute the information processing method.
JP2018032384A (en) Method and device for assisting communication in virtual space and program enabling computer to execute method
JP2018101293A (en) Method executed by computer to provide head-mounted device with virtual space, program causing computer to execute the same and computer device
JP2019020836A (en) Information processing method, device, and program for causing computer to execute the method
JP6444345B2 (en) Method and apparatus for supporting input in virtual space, and program for causing computer to execute the method
JP6776155B2 (en) A method for providing virtual reality, a program for causing a computer to execute the method, and an information processing device for executing the program.
JP2019145120A (en) Method of providing virtual space, program, and information processing apparatus for executing the program
JP2019192250A (en) Information processing method, apparatus, and program causing computer to execute the method
JP2019155115A (en) Program, information processor and information processing method
JP2019016358A (en) Information processing method, program and computer