JP2018067297A - Information processing method, apparatus, and program for causing computer to execute information processing method - Google Patents
Information processing method, apparatus, and program for causing computer to execute information processing method Download PDFInfo
- Publication number
- JP2018067297A JP2018067297A JP2017148769A JP2017148769A JP2018067297A JP 2018067297 A JP2018067297 A JP 2018067297A JP 2017148769 A JP2017148769 A JP 2017148769A JP 2017148769 A JP2017148769 A JP 2017148769A JP 2018067297 A JP2018067297 A JP 2018067297A
- Authority
- JP
- Japan
- Prior art keywords
- user
- target object
- virtual
- virtual space
- processor
- 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
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
本開示は、情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラムに関する。 The present disclosure relates to an information processing method, an apparatus, and a program for causing a computer to execute the information processing method.
非特許文献1は、現実空間におけるユーザの手の動きに連動する手オブジェクトを仮想空間に表示し、当該手オブジェクトによって仮想空間内の仮想オブジェクトを操作可能とする技術を開示している。 Non-Patent Document 1 discloses a technique in which a hand object that is linked to the movement of a user's hand in the real space is displayed in the virtual space, and the virtual object in the virtual space can be operated by the hand object.
しかしながら、非特許文献1に開示された技術には、手オブジェクトを利用することで得られるユーザの仮想体験をさらに改善する余地がある。例えば、仮想オブジェクトに対する手オブジェクトの操作に応じて実行される動作が、仮想オブジェクトの性質によらず画一的に決定されると、仮想空間におけるエンタテイメント性を損なうおそれがある。 However, the technique disclosed in Non-Patent Document 1 has room for further improving the virtual experience of the user obtained by using the hand object. For example, if the action executed in response to the operation of the hand object with respect to the virtual object is determined uniformly regardless of the nature of the virtual object, the entertainment property in the virtual space may be impaired.
本開示は、上述のような問題点を解決するためになされたものであり、仮想体験のエンタテイメント性を向上し得る情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラムを提供することを目的とする。 The present disclosure has been made to solve the above-described problems, and provides an information processing method and apparatus that can improve the entertainment property of a virtual experience, and a program for causing a computer to execute the information processing method. The purpose is to provide.
本開示が示す一態様によれば、仮想空間における仮想体験をユーザに提供するためにコンピュータによって実行される情報処理方法が提供される。この情報処理方法は、前記仮想空間における前記ユーザの視野を定義する仮想カメラと、前記仮想空間に配置される対象オブジェクトと、前記対象オブジェクトを操作するための操作オブジェクトとを含む前記仮想空間を規定する仮想空間データを生成するステップと、前記ユーザの身体の一部の動きを検出し、検出された前記身体の一部の動きに応じて前記操作オブジェクトを動かすステップと、前記操作オブジェクトによる前記対象オブジェクトへの予め定められた操作を検知するステップと、前記予め定められた操作が検知された場合に、前記対象オブジェクトに関連付けられた属性を示す第1属性情報を取得し、前記第1属性情報に基づいて、実行されるべき動作を決定するとともに前記仮想カメラおよび前記対象オブジェクトの少なくとも一方を前記動作の実行主体として決定するステップと、前記実行主体として決定された前記仮想カメラおよび前記対象オブジェクトの少なくとも一方に、前記動作を実行させるステップと、を含む。 According to one aspect of the present disclosure, an information processing method executed by a computer to provide a user with a virtual experience in a virtual space is provided. The information processing method defines the virtual space including a virtual camera that defines the field of view of the user in the virtual space, a target object arranged in the virtual space, and an operation object for operating the target object. Generating virtual space data to be detected, detecting a movement of a part of the user's body, moving the operation object in accordance with the detected movement of the body part, and the target by the operation object A step of detecting a predetermined operation on the object; and, when the predetermined operation is detected, acquiring first attribute information indicating an attribute associated with the target object; and On the basis of the virtual camera and the target object. Determining one of Kutomo as an execution subject of the operation, at least one of the virtual camera and the target object is determined as the execution subject including the steps of executing the operation.
本開示によれば、仮想体験のエンタテイメント性を向上し得る情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラムを提供することが可能となる。 According to the present disclosure, it is possible to provide an information processing method and apparatus that can improve the entertainment property of a virtual experience, and a program for causing a computer to execute the information processing method.
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 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.
[HMDシステムの構成] 図1を参照して、HMD(Head Mount Display)システム100の構成について説明する。図1は、ある実施の形態に従うHMDシステム100の構成の概略を表す図である。ある局面において、HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。 [Configuration of HMD System] The configuration of an HMD (Head Mount Display) system 100 will be described with reference to FIG. FIG. 1 is a diagram representing an outline of a configuration of an HMD system 100 according to an embodiment. In one aspect, the HMD system 100 is provided as a home system or a business system.
HMDシステム100は、HMD装置110と、HMDセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD装置110は、モニタ112と、注視センサ140とを含む。コントローラ160は、モーションセンサ130を含み得る。 The HMD system 100 includes an HMD device 110, an HMD sensor 120, a controller 160, and a computer 200. The HMD device 110 includes a monitor 112 and a gaze sensor 140. The controller 160 can include a motion sensor 130.
ある局面において、コンピュータ200は、インターネットその他のネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150その他のコンピュータと通信可能である。別の局面において、HMD装置110は、HMDセンサ120の代わりに、センサ114を含み得る。 In one aspect, the computer 200 can be connected to the Internet and other networks 19, and can communicate with the server 150 and other computers connected to the network 19. In another aspect, the HMD device 110 may include a sensor 114 instead of the HMD sensor 120.
HMD装置110は、ユーザの頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、HMD装置110は、右目用の画像および左目用の画像をモニタ112にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を3次元の画像として認識し得る。 The HMD device 110 may be worn on the user's head and provide a virtual space to the user during operation. More specifically, the HMD device 110 displays a right-eye image and a left-eye image on the monitor 112, respectively. When each eye of the user visually recognizes each image, the user can recognize the image as a three-dimensional image based on the parallax of both eyes.
モニタ112は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ112は、ユーザの両目の前方に位置するようにHMD装置110の本体に配置されている。したがって、ユーザは、モニタ112に表示される3次元画像を視認すると、仮想空間に没入することができる。ある実施の形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、およびユーザが選択可能なメニューの画像等を含む。ある実施の形態において、モニタ112は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。 The monitor 112 is realized as, for example, a non-transmissive display device. In one aspect, the monitor 112 is disposed on the main body of the HMD device 110 so as to be positioned in front of both eyes of the user. Therefore, when the user visually recognizes the three-dimensional image displayed on the monitor 112, the user can be immersed in the virtual space. In one embodiment, the virtual space includes, for example, a background, an object that can be operated by the user, and an image of a menu that can be selected by the user. In an embodiment, the monitor 112 may be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smartphone or other information display terminal.
ある局面において、モニタ112は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ112は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ112は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。 In one aspect, the monitor 112 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye. In another aspect, the monitor 112 may be configured to display a right-eye image and a left-eye image together. In this case, the monitor 112 includes a high-speed shutter. The high-speed shutter operates so that an image for the right eye and an image for the left eye can be displayed alternately so that the image is recognized only by one of the eyes.
HMDセンサ120は、複数の光源(図示しない)を含む。各光源は例えば、赤外線を発するLED(Light Emitting Diode)により実現される。HMDセンサ120は、HMD装置110の動きを検出するためのポジショントラッキング機能を有する。HMDセンサ120は、この機能を用いて、現実空間内におけるHMD装置110の位置および傾きを検出する。 The HMD sensor 120 includes a plurality of light sources (not shown). Each light source is realized by, for example, an LED (Light Emitting Diode) that emits infrared rays. The HMD sensor 120 has a position tracking function for detecting the movement of the HMD device 110. The HMD sensor 120 detects the position and inclination of the HMD device 110 in the real space using this function.
なお、別の局面において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD装置110の画像情報を用いて、画像解析処理を実行することにより、HMD装置110の位置および傾きを検出することができる。 In another aspect, HMD sensor 120 may be realized by a camera. In this case, the HMD sensor 120 can detect the position and inclination of the HMD device 110 by executing image analysis processing using image information of the HMD device 110 output from the camera.
別の局面において、HMD装置110は、位置検出器として、HMDセンサ120の代わりに、センサ114を備えてもよい。HMD装置110は、センサ114を用いて、HMD装置110自身の位置および傾きを検出し得る。例えば、センサ114が角速度センサ、地磁気センサ、加速度センサ、あるいはジャイロセンサ等である場合、HMD装置110は、HMDセンサ120の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ114が角速度センサである場合、角速度センサは、現実空間におけるHMD装置110の3軸周りの角速度を経時的に検出する。HMD装置110は、各角速度に基づいて、HMD装置110の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD装置110の傾きを算出する。また、HMD装置110は、透過型表示装置を備えていても良い。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。また、視界画像は仮想空間を構成する画像の一部に、現実空間を提示する構成を含んでいてもよい。例えば、HMD装置110に搭載されたカメラで撮影した画像を視界画像の一部に重畳して表示させてもよいし、当該透過型表示装置の一部の透過率を高く設定することにより、視界画像の一部から現実空間を視認可能にしてもよい。 In another aspect, the HMD device 110 may include a sensor 114 instead of the HMD sensor 120 as a position detector. The HMD device 110 can detect the position and inclination of the HMD device 110 itself using the sensor 114. For example, when the sensor 114 is an angular velocity sensor, a geomagnetic sensor, an acceleration sensor, a gyro sensor, or the like, the HMD device 110 uses any one of these sensors instead of the HMD sensor 120 to detect its position and inclination. Can be detected. As an example, when the sensor 114 is an angular velocity sensor, the angular velocity sensor detects angular velocities around the three axes of the HMD device 110 in real space over time. The HMD device 110 calculates the temporal change of the angle around the three axes of the HMD device 110 based on each angular velocity, and further calculates the inclination of the HMD device 110 based on the temporal change of the angle. The HMD device 110 may include a transmissive display device. In this case, the transmissive display device may be temporarily configured as a non-transmissive display device by adjusting the transmittance. Further, the 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 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 (vertical direction), and the front-rear direction in the global coordinate system are defined as an x-axis, a y-axis, and a z-axis, respectively. More specifically, in the global coordinate system, the x axis is parallel to the horizontal direction of the real space. The y axis is parallel to the vertical direction of the real space. The z axis is parallel to the front-rear direction of the real space.
ある局面において、HMDセンサ120は、赤外線センサを含む。赤外線センサが、HMD装置110の各光源から発せられた赤外線をそれぞれ検出すると、HMD装置110の存在を検出する。HMDセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD装置110を装着したユーザ190の動きに応じた、現実空間内におけるHMD装置110の位置および傾きを検出する。より詳しくは、HMDセンサ120は、経時的に検出された各値を用いて、HMD装置110の位置および傾きの時間的変化を検出できる。 In one aspect, HMD sensor 120 includes an infrared sensor. When the infrared sensor detects each infrared ray emitted from each light source of the HMD device 110, the presence of the HMD device 110 is detected. The HMD sensor 120 further determines the position and inclination of the HMD device 110 in the real space according to the movement of the user 190 wearing the HMD device 110 based on the value of each point (each coordinate value in the global coordinate system). To detect. More specifically, the HMD sensor 120 can detect temporal changes in the position and tilt of the HMD device 110 using each value detected over time.
グローバル座標系は現実空間の座標系と平行である。したがって、HMDセンサ120によって検出されたHMD装置110の各傾きは、グローバル座標系におけるHMD装置110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMD装置110の傾きに基づき、uvw視野座標系をHMD装置110に設定する。HMD装置110に設定されるuvw視野座標系は、HMD装置110を装着したユーザ190が仮想空間において物体を見る際の視点座標系に対応する。 The global coordinate system is parallel to the real space coordinate system. Therefore, each inclination of the HMD device 110 detected by the HMD sensor 120 corresponds to each inclination around the three axes of the HMD device 110 in the global coordinate system. The HMD sensor 120 sets the uvw visual field coordinate system to the HMD device 110 based on the inclination of the HMD device 110 in the global coordinate system. The uvw visual field coordinate system set in the HMD device 110 corresponds to a viewpoint coordinate system when the user 190 wearing the HMD device 110 views an object in the virtual space.
[uvw視野座標系] 図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ120は、HMD装置110の起動時に、グローバル座標系におけるHMD装置110の位置および傾きを検出する。プロセッサ10は、検出された値に基づいて、uvw視野座標系をHMD装置110に設定する。 [Uvw visual field coordinate system] The uvw visual field coordinate system will be described with reference to FIG. FIG. 3 is a diagram conceptually showing a uvw visual field coordinate system set in HMD device 110 according to an embodiment. The HMD sensor 120 detects the position and inclination of the HMD device 110 in the global coordinate system when the HMD device 110 is activated. The processor 10 sets the uvw visual field coordinate system in the HMD device 110 based on the detected value.
図3に示されるように、HMD装置110は、HMD装置110を装着したユーザの頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD装置110は、グローバル座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD装置110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD装置110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。 As shown in FIG. 3, the HMD device 110 sets a three-dimensional uvw visual field coordinate system with the head (origin) of the user wearing the HMD device 110 as the center (origin). More specifically, the HMD device 110 uses the horizontal direction, the vertical direction, and the front-rear direction (x axis, y axis, z axis) that define the global coordinate system around each axis of the HMD device 110 in the global coordinate system. The three new directions obtained by inclining around the respective axes by the inclination of the pitch are the pitch direction (u-axis), yaw direction (v-axis), and roll direction (w-axis) of the uvw visual field coordinate system in the HMD device 110. Set as.
ある局面において、HMD装置110を装着したユーザ190が直立し、かつ、正面を視認している場合、プロセッサ10は、グローバル座標系に平行なuvw視野座標系をHMD装置110に設定する。この場合、グローバル座標系における水平方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)は、HMD装置110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。 In one aspect, when the user 190 wearing the HMD device 110 stands upright and is viewing the front, the processor 10 sets the uvw visual field coordinate system parallel to the global coordinate system in the HMD device 110. In this case, the horizontal direction (x-axis), vertical direction (y-axis), and front-rear direction (z-axis) in the global coordinate system are the pitch direction (u-axis) and yaw direction (v Axis) and the roll direction (w-axis).
uvw視野座標系がHMD装置110に設定された
後、HMDセンサ120は、HMD装置110の動きに基づいて、設定されたuvw視野座標系におけるHMD装置110の傾き(傾きの変化量)を検出できる。この場合、HMDセンサ120は、HMD装置110の傾きとして、uvw視野座標系におけるHMD装置110のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD装置110の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD装置110の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD装置110の傾き角度を表す。
After the uvw visual field coordinate system is set in the HMD device 110, the HMD sensor 120 can detect the inclination of the HMD device 110 in the set uvw visual field coordinate system based on the movement of the HMD device 110. . In this case, the HMD sensor 120 detects the pitch angle (θu), yaw angle (θv), and roll angle (θw) of the HMD device 110 in the uvw visual field coordinate system as the inclination of the HMD device 110. The pitch angle (θu) represents the tilt angle of the HMD device 110 around the pitch direction in the uvw visual field coordinate system. The yaw angle (θv) represents the tilt angle of the HMD device 110 around the yaw direction in the uvw visual field coordinate system. The roll angle (θw) represents the tilt angle of the HMD device 110 around the roll direction in the uvw visual field coordinate system.
HMDセンサ120は、検出されたHMD装置110の傾き角度に基づいて、HMD装置110が動いた後のHMD装置110におけるuvw視野座標系を、HMD装置110に設定する。HMD装置110と、HMD装置110のuvw視野座標系との関係は、HMD装置110の位置および傾きに関わらず、常に一定である。HMD装置110の位置および傾きが変わると、当該位置および傾きの変化に連動して、グローバル座標系におけるHMD装置110のuvw視野座標系の位置および傾きが変化する。 Based on the detected tilt angle of the HMD device 110, the HMD sensor 120 sets the uvw visual field coordinate system in the HMD device 110 after the HMD device 110 has moved to the HMD device 110. The relationship between the HMD device 110 and the uvw visual field coordinate system of the HMD device 110 is always constant regardless of the position and inclination of the HMD device 110. When the position and inclination of the HMD device 110 change, the position and inclination of the uvw visual field coordinate system of the HMD device 110 in the global coordinate system change in conjunction with the change of the position and inclination.
ある局面において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(例えば、各点間の距離など)に基づいて、HMD装置110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ10は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD装置110のuvw視野座標系の原点を決定してもよい。 In one aspect, the HMD sensor 120 is based on the infrared light intensity acquired based on the output from the infrared sensor and the relative positional relationship between a plurality of points (for example, the distance between the points). The position of the device 110 in the real space may be specified as a relative position with respect to the HMD sensor 120. Further, the processor 10 may determine the origin of the uvw visual field coordinate system of the HMD device 110 in the real space (global coordinate system) based on the specified relative position.
[仮想空間] 図4を参照して、仮想空間についてさらに説明する。図4は、ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。仮想空間2は、中心21の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間2のうちの上半分の天球が例示されている。仮想空間2では各メッシュが規定される。各メッシュの位置は、仮想空間2に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間2に展開可能なコンテンツ(静止画、動画等)を構成する各部分画像を、仮想空間2において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像22が展開される仮想空間2をユーザに提供する。 [Virtual Space] The virtual space will be further described with reference to FIG. FIG. 4 is a diagram conceptually showing one aspect of expressing virtual space 2 according to an embodiment. The virtual space 2 has a spherical structure that covers the entire 360 ° direction of the center 21. In FIG. 4, the upper half of the celestial sphere in the virtual space 2 is illustrated in order not to complicate the description. In the virtual space 2, each mesh is defined. The position of each mesh is defined in advance as coordinate values in the XYZ coordinate system defined in the virtual space 2. The computer 200 associates each partial image constituting content (still image, moving image, etc.) that can be developed in the virtual space 2 with each corresponding mesh in the virtual space 2, and the virtual space image 22 that can be visually recognized by the user. Is provided to the user.
ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、例えば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。 In one aspect, the virtual space 2 defines an XYZ coordinate system with the center 21 as the origin. The XYZ coordinate system is, for example, parallel to the global coordinate system. Since the XYZ coordinate system is a kind of viewpoint coordinate system, the horizontal direction, vertical direction (vertical direction), and front-rear direction in the XYZ coordinate system are defined as an X axis, a Y axis, and a Z axis, respectively. Therefore, the X axis (horizontal direction) of the XYZ coordinate system is parallel to the x axis of the global coordinate system, the Y axis (vertical direction) of the XYZ coordinate system is parallel to the y axis of the global coordinate system, and The Z axis (front-rear direction) is parallel to the z axis of the global coordinate system.
HMD装置110の起動時、すなわちHMD装置110の初期状態において、仮想カメラ1が、仮想空間2の中心21に配置される。仮想カメラ1は、現実空間におけるHMD装置110の動きに連動して、仮想空間2を同様に移動する。これにより、現実空間におけるHMD装置110の位置および向きの変化が、仮想空間2において同様に再現される。 When the HMD device 110 is activated, that is, in the initial state of the HMD device 110, the virtual camera 1 is disposed at the center 21 of the virtual space 2. The virtual camera 1 similarly moves in the virtual space 2 in conjunction with the movement of the HMD device 110 in the real space. Thereby, changes in the position and orientation of the HMD device 110 in the real space are similarly reproduced in the virtual space 2.
仮想カメラ1には、HMD装置110の場合と同様に、uvw視野座標系が規定される。仮想空間2における仮想カメラ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] Determination of the user's line of sight will be described with reference to FIG. FIG. 5 is a diagram showing the head of user 190 wearing HMD device 110 according to an embodiment from above.
ある局面において、注視センサ140は、ユーザ190の右目および左目の各視線を検出する。ある局面において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。別の局面において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。 In one aspect, gaze sensor 140 detects each line of sight of user 190's right eye and left eye. In a certain aspect, when the user 190 is looking near, the gaze sensor 140 detects the lines of sight R1 and L1. In another aspect, when the user 190 is looking far away, the gaze sensor 140 detects the lines of sight R2 and L2. In this case, the angle formed by the lines of sight R2 and L2 with respect to the roll direction w is smaller than the angle formed by the lines of sight R1 and L1 with respect to the roll direction w. The gaze sensor 140 transmits the detection result to the computer 200.
コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視センサ140から受信した場合には、その検出値に基づいて、視線R1およびL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値を注視センサ140から受信した場合には、視線R2およびL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザ190の視線方向N0を特定する。コンピュータ200は、例えば、ユーザ190の右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線方向N0として検出する。視線方向N0は、ユーザ190が両目により実際に視線を向けている方向である。また、視線方向N0は、視界領域23に対してユーザ190が実際に視線を向けている方向に相当する。 When the computer 200 receives the detection values of the lines of sight R1 and L1 from the gaze sensor 140 as the line-of-sight detection result, the computer 200 identifies the point of sight N1 that is the intersection of the lines of sight R1 and L1 based on the detection value. On the other hand, when the detected values of the lines of sight R2 and L2 are received from the gaze sensor 140, the computer 200 specifies the intersection of the lines of sight R2 and L2 as the point of sight. The computer 200 specifies the line-of-sight direction N0 of the user 190 based on the specified position of the gazing point N1. For example, the computer 200 detects the direction in which the straight line passing through the midpoint of the straight line connecting the right eye R and the left eye L of the user 190 and the gazing point N1 extends as the line-of-sight direction N0. The line-of-sight direction N0 is a direction in which the user 190 is actually pointing the line of sight with both eyes. The line-of-sight direction N0 corresponds to the direction in which the user 190 actually directs his / her line of sight with respect to the field-of-view area 23.
別の局面において、HMDシステム100は、HMDシステム100を構成するいずれかのパーツに、マイクおよびスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間2に対して、音声による指示を与えることができる。 In another aspect, the HMD system 100 may include a microphone and a speaker in any part constituting the HMD system 100. The user can give a voice instruction to the virtual space 2 by speaking to the microphone.
また、別の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間2においてテレビ番組を表示することができる。 In another aspect, HMD system 100 may include a television broadcast receiving tuner. According to such a configuration, the HMD system 100 can display a television program in the virtual space 2.
さらに別の局面において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。 In still another aspect, the HMD system 100 may include a communication circuit for connecting to the Internet or a call function for connecting to a telephone line.
[視界領域] 図6および図7を参照して、視界領域23について説明する。図6は、仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。図7は、仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。 [Visibility Area] The visibility area 23 will be described with reference to FIGS. 6 and 7. 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と左コントローラ160L(図10参照)とを含み得る。右コントローラ160Rは、ユーザ190の右手で操作される。左コントローラ160Lは、ユーザ190の左手で操作される。ある局面において、右コントローラ160Rと左コントローラ160Lとは、別個の装置として対称に構成される。したがって、ユーザ190は、右コントローラ160Rを把持した右手と、左コントローラ160Lを把持した左手とをそれぞれ自由に動かすことができる。別の局面において、コントローラ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 160L (see FIG. 10). The right controller 160R is operated with the right hand of the user 190. The left controller 160L is operated with the left hand of the user 190. In one aspect, the right controller 160R and the left controller 160L 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 160L. 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.
Including. 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と左コントローラ160Lとの各位置および姿勢(傾き、向き)等を検出するために使用され得る。図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. Infrared rays emitted from the infrared LED 35 can be used to detect the positions and postures (tilt, orientation) and the like of the right controller 160R and the left controller 160L. 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および左コントローラ160Lは、赤外線LED35その他の部材を駆動するための電池を含む。電池は、充電式、ボタン型、乾電池型等を含むが、これらに限定されない。別の局面において、右コントローラ160Rおよび左コントローラ160Lは、例えば、コンピュータ200のUSBインターフェースに接続され得る。この場合、右コントローラ160Rおよび左コントローラ160Lは、電池を必要としない。 In one aspect, the right controller 160R and the left controller 160L 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 160L may be connected to the USB interface of the computer 200, for example. In this case, the right controller 160R and the left controller 160L 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 of HMD Device] A control device of the HMD device 110 will be described with reference to FIG. In one embodiment, the control device is realized by a computer 200 having a known configuration. FIG. 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に表示される視界画像を生成する。基準視線特定モジュール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, orientation, and the like of the virtual camera 1. The view area determination module 222 defines the view area 23 according to the orientation of the head of the user wearing the HMD device 110. The view image generation module 223 generates a view image to be displayed on the monitor 112 based on the determined view area 23. 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における対象オブジェクトおよびキャラクタオブジェクトの動作(移動および状態変化等)を制御する。対象オブジェクトは、例えば、ゲームのストーリーの進行に従って配置される森、山その他を含む風景、動物等を含み得る。 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.
操作オブジェクト制御モジュール233は、仮想空間2に配置されるオブジェクトを操作するための操作オブジェクトを仮想空間2に配置する。ある局面において、操作オブジェクトは、例えば、HMD装置110を装着したユーザの手に相当する手オブジェクト、ユーザの指に相当する指オブジェクト、ユーザが使用するスティックに相当するスティックオブジェクト等を含み得る。操作オブジェクトが指オブジェクトの場合、特に、操作オブジェクトは、当該指が指し示す方向(軸方向)の軸の部分に対応している。 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.
仮想空間制御モジュール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において再生されるコンテンツ、当該コンテンツで使用されるオブジェクトを配置するための情報等が含まれている。当該コンテンツは、例えば、ゲーム、現実社会と同様の風景を表したコンテンツ等を含み得る。また、オブジェクト情報242には、各オブジェクト(対象オブジェクトおよび操作オブジェクト等)に関連付けられた属性を示す情報(後述する第1属性情報および第3属性情報)が含まれている。属性は、上記コンテンツにおいて予め定められたものであってもよいし、上記コンテンツの進行状況に応じて変化し得るものであってもよい。ユーザ情報243には、例えば、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム、オブジェクト情報242に保持される各コンテンツを使用するアプリケーションプログラム等が含まれている。また、本実施形態では、ユーザ情報243には、HMD装置110のユーザ190に関連付けられた属性を示す情報(後述する第2属性情報)が含まれている。 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. In addition, the object information 242 includes information (first attribute information and third attribute information described later) indicating attributes associated with each object (target object, operation object, and the like). The attribute may be predetermined in the content, or may change according to the progress of the content. 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. In the present embodiment, the user information 243 includes information (second attribute information to be described later) indicating attributes associated with the user 190 of the HMD device 110.
メモリモジュール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を参照して、仮想空間制御モジュール230が操作オブジェクトと他のオブジェクトとの接触を判定する処理の詳細について説明する。図10の状態(A)は、HMD装置110とコントローラ160とを装着したユーザ190を示す図である。図10の状態(B)は、仮想カメラ1と手
オブジェクト400と対象オブジェクト500とを含む仮想空間2を示す図である。
With reference to FIG. 10, the details of the process in which the virtual space control module 230 determines contact between the operation object and another object will be described. The state (A) in FIG. 10 is a diagram showing the user 190 wearing the HMD device 110 and the controller 160. A state (B) of FIG. 10 is a diagram showing the virtual space 2 including the virtual camera 1, the hand object 400, and the target object 500.
図10に示されるように、仮想空間2は、仮想カメラ1と、プレイヤキャラクタPC(キャラクタオブジェクト)と、左手オブジェクト400Lと、右手オブジェクト400Rと、対象オブジェクト500とを含む。なお、本実施形態では、プレイヤキャラクタPCの視野は、仮想カメラ1の視野と一致している。これにより、1人称視点における視界画像がユーザに提供される。上述したように、仮想空間制御モジュール230の仮想空間定義モジュール231は、このようなオブジェクトを含む仮想空間2を規定する仮想空間データを生成する。また、上述したように、仮想カメラ1は、ユーザ190に装着されたHMD装置110の動きに連動する。すなわち、仮想カメラ1の視野は、HMD装置110の動きに応じて更新される。右手オブジェクト400Rは、ユーザ190の右手に装着される右コントローラ160Rの動きに応じて移動する操作オブジェクトである。左手オブジェクト400Lは、ユーザ190の左手に装着される左コントローラ160Lの動きに応じて移動する操作オブジェクトである。以降では、説明の便宜上、左手オブジェクト400Lおよび右手オブジェクト400Rのそれぞれを単に手オブジェクト400と総称する場合がある。 As shown in FIG. 10, the virtual space 2 includes a virtual camera 1, a player character PC (character object), a left hand object 400 </ b> L, a right hand object 400 </ b> R, and a target object 500. In the present embodiment, the visual field of the player character PC matches the visual field of the virtual camera 1. Thereby, a view field image in the first person viewpoint is provided to the user. As described above, the virtual space definition module 231 of the virtual space control module 230 generates virtual space data that defines the virtual space 2 including such an object. In addition, as described above, the virtual camera 1 is interlocked with the movement of the HMD device 110 attached to the user 190. That is, the visual field of the virtual camera 1 is updated according to the movement of the HMD device 110. The right hand object 400R is an operation object that moves according to the movement of the right controller 160R attached to the right hand of the user 190. The left hand object 400L is an operation object that moves according to the movement of the left controller 160L attached to the left hand of the user 190. Hereinafter, for convenience of explanation, each of the left hand object 400L and the right hand object 400R may be simply referred to as a hand object 400 in some cases.
左手オブジェクト400Lおよび右手オブジェクト400Rは、それぞれコリジョンエリアCAを有する。対象オブジェクト500は、コリジョンエリアCBを有する。プレイヤキャラクタPCは、コリジョンエリアCCを有する。コリジョンエリアCA,CB,CCは、各オブジェクト間におけるコリジョン判定(当たり判定)のために利用される。例えば、手オブジェクト400のコリジョンエリアCAと対象オブジェクト500のコリジョンエリアCBとが接触している場合(互いに重なる領域を有する場合を含む)に、手オブジェクト400と対象オブジェクト500とが接触していると判定される。図10に示されるように、コリジョンエリアCA,CB,CCは、各オブジェクトに設定された座標位置を中心とし、所定の半径を有する球により規定されてもよい。 The left hand object 400L and the right hand object 400R each have a collision area CA. The target object 500 has a collision area CB. The player character PC has a collision area CC. The collision areas CA, CB, and CC are used for collision determination (hit determination) between the objects. For example, when the collision area CA of the hand object 400 is in contact with the collision area CB of the target object 500 (including a case where the collision area CA has an overlapping area), the hand object 400 and the target object 500 are in contact. Determined. As shown in FIG. 10, the collision areas CA, CB, and CC may be defined by a sphere having a predetermined radius around the coordinate position set for each object.
[制御構造] 図11を参照して、本実施の形態に係るコンピュータ200の制御構造について説明する。図11は、HMDシステム100が実行する処理を表すフローチャートである。 [Control Structure] With reference to FIG. 11, a control structure of computer 200 according to the present embodiment will be described. FIG. 11 is a flowchart showing processing 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から発信される複数の赤外線光に基づいて、HMD装置110の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ200に送られる。 In step S <b> 5, the HMD sensor 120 detects the position and inclination of the HMD device 110 based on a plurality of infrared lights transmitted from the HMD device 110. The detection result is sent to the computer 200 as motion detection data.
ステップS6において、プロセッサ10は、視界領域決定モジュール222として、HMD装置110の位置と傾きとに基づいて、HMD装置110を装着したユーザ190の視界方向を特定する。プロセッサ10は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間2にオブジェクトを配置する。 In step S <b> 6, the processor 10 specifies the visual field direction of the user 190 wearing the HMD device 110 as the visual field region determination module 222 based on the position and inclination of the HMD device 110. The processor 10 executes the application program and places an object in the virtual space 2 based on instructions included in the application program.
ステップS7において、コントローラ160は、現実空間におけるユーザ190の操作を検出する。例えば、ある局面において、コントローラ160は、ユーザ190によってボタンが押下されたことを検出する。別の局面において、コントローラ160は、ユーザ190の両手の動作(たとえば、両手を振る等)を検出する。検出内容を示す信号は、コンピュータ200に送られる。 In step S7, the controller 160 detects the operation of the user 190 in the real space. For example, in one aspect, the controller 160 detects that a button has been pressed by the user 190. In another aspect, the controller 160 detects the movement of both hands of the user 190 (for example, shaking both hands). A signal indicating the detected content is sent to the computer 200.
ステップS8において、プロセッサ10は、操作オブジェクト制御モジュール233として、コントローラ160から送られた検出内容を示す信号に基づいて手オブジェクト400を動かす。プロセッサ10は、操作オブジェクト制御モジュール233として、手オブジェクト400による対象オブジェクト500に対する予め定められた操作を検知する。 In step S <b> 8, the processor 10 moves the hand object 400 as the operation object control module 233 based on the signal indicating the detection content transmitted from the controller 160. The processor 10 detects a predetermined operation on the target object 500 by the hand object 400 as the operation object control module 233.
ステップS9において、プロセッサ10は、仮想オブジェクト制御モジュール232または仮想カメラ制御モジュール221として、予め定められた操作の対象とされた対象オブジェクト500の属性等に基づいて、実行されるべき動作を決定し、仮想カメラ1および対象オブジェクト500の少なくとも一方に当該動作を実行させる。 In step S <b> 9, the processor 10 determines an operation to be executed as the virtual object control module 232 or the virtual camera control module 221 based on an attribute of the target object 500 that is a target of a predetermined operation, At least one of the virtual camera 1 and the target object 500 is caused to execute the operation.
ステップS10において、プロセッサ10は、視界領域決定モジュール222および視界画像生成モジュール223として、処理の結果に基づく視界画像を表示するための視界画像データを生成し、生成した視界画像データをHMD装置110に出力する。 In step S <b> 10, the processor 10 generates view image data for displaying a view image based on the processing result as the view area determination module 222 and the view image generation module 223, and sends the generated view image data to the HMD device 110. Output.
ステップS11において、HMD装置110のモニタ112は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像を表示する。 In step S11, 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.
[第1の例] 図12〜図17を参照して、上述したステップS8およびS9の処理の第1の例について説明する。図12および図13は、図11のステップS8およびS9の処理の第1の例を表すフローチャートである。図14および図15は、第1の動作例を説明するための図である。図16および図17は、第2の動作例を説明するための図である。図14〜図17のそれぞれにおいて、状態(A)は視界画像Mの一例を示しており、状態(B)は仮想空間2をY方向から見た図である。第1の例では、プロセッサ10は、手オブジェクト400によって対象オブジェクト500を掴む操作(以下「掴み操作」)が検知された場合に、対象オブジェクト500の属性(第1属性情報)とユーザ190の属性(第2属性情報)とに応じた動作を決定および実行する。 [First Example] A first example of the processing of steps S8 and S9 described above will be described with reference to FIGS. 12 and 13 are flowcharts showing a first example of the processes in steps S8 and S9 in FIG. 14 and 15 are diagrams for explaining the first operation example. 16 and 17 are diagrams for explaining the second operation example. In each of FIGS. 14 to 17, the state (A) shows an example of the visual field image M, and the state (B) is a view of the virtual space 2 viewed from the Y direction. In the first example, the processor 10 detects the attribute (first attribute information) of the target object 500 and the attribute of the user 190 when an operation of grasping the target object 500 by the hand object 400 (hereinafter, “grabbing operation”) is detected. The operation corresponding to (second attribute information) is determined and executed.
図12を参照して、第1の例における図11のステップS8の処理を詳しく説明する。ステップS81において、プロセッサ10は、コントローラ160によって検知されるユーザ190の手の動きに応じて、仮想空間2において手オブジェクト400を動かす。 With reference to FIG. 12, the process of step S8 of FIG. 11 in the first example will be described in detail. In step S <b> 81, the processor 10 moves the hand object 400 in the virtual space 2 in accordance with the hand movement of the user 190 detected by the controller 160.
ステップS82において、プロセッサ10は、手オブジェクト400に設定されたコリジョンエリアCAと対象オブジェクト500に設定されたコリジョンエリアCBとに基づいて、各手オブジェクト400と対象オブジェクト500とが接触しているか否かを判定する。接触していると判定された場合(ステップS82:YES)、ステップS83において、プロセッサ10は、手オブジェクト400に対象オブジェクト500を掴むための動きが入力されたか否かを判定する。例えば、プロセッサ10は、手オブジェクト400の動きが、親指とそれに対向する指のいずれか(人差し指、中指、薬指、および小指の少なくとも1つ)を、伸ばされた状態から曲げられた状態へ向けて移動させる動きを含むか否かを判定する。上記の動きを含むと判定された場合(ステップS83:YES)、ステップS84において、プロセッサ10は、手オブジェクト400による対象オブジェクト500に対する掴み操作を検知する。一方、接触していると判定されなかった場合(ステップS82:NO)または上記の動きを含むと判定されなかった場合(ステップS83:NO)、プロセッサ10は、ユーザ190の手の動き情報を待ち受け、手オブジェクト400を動かす制御を継続する。 In step S <b> 82, the processor 10 determines whether each hand object 400 and the target object 500 are in contact with each other based on the collision area CA set for the hand object 400 and the collision area CB set for the target object 500. Determine. If it is determined that they are in contact (step S82: YES), in step S83, the processor 10 determines whether or not a movement for grasping the target object 500 is input to the hand object 400. For example, the processor 10 moves the hand object 400 from one of the thumb and the opposite finger (at least one of the index finger, the middle finger, the ring finger, and the little finger) to the bent state from the extended state. It is determined whether or not the movement to be moved is included. If it is determined that the above movement is included (step S83: YES), in step S84, the processor 10 detects a gripping operation on the target object 500 by the hand object 400. On the other hand, if it is not determined to be in contact (step S82: NO) or not determined to include the above movement (step S83: NO), the processor 10 waits for movement information of the hand of the user 190. The control for moving the hand object 400 is continued.
なお、手オブジェクト400における指の状態を変化させる動作は、例えば、コントローラ160(図8参照)に対するユーザ190の所定の操作によって実現される。例えば、プロセッサ10は、ボタン34が押下された場合に、手オブジェクト400における人差し指を、伸ばされた状態から曲げられた状態に変化させてもよい。また、プロセッサ10は、ボタン33が押下された場合に、手オブジェクト400における中指、薬指、および小指を、伸ばされた状態から曲げられた状態に変化させてもよい。また、プロセッサ10は、天面32に親指が配置された場合、あるいは、ボタン36,37のいずれかが押下された場合に、手オブジェクト400における親指を、伸ばされた状態から曲げられた状態に変化させてもよい。 In addition, the operation | movement which changes the state of the finger in the hand object 400 is implement | achieved by predetermined | prescribed operation of the user 190 with respect to the controller 160 (refer FIG. 8), for example. For example, when the button 34 is pressed, the processor 10 may change the index finger of the hand object 400 from the extended state to the bent state. Further, when the button 33 is pressed, the processor 10 may change the middle finger, the ring finger, and the little finger of the hand object 400 from the stretched state to the bent state. Further, the processor 10 changes the thumb of the hand object 400 from the extended state to the bent state when the thumb is placed on the top surface 32 or when any of the buttons 36 and 37 is pressed. It may be changed.
ステップS84において掴み操作が検知された場合、上述したステップS9(図11参照)が実行される。図13を参照して、第1の例におけるステップS9の処理を詳しく説明する。 If a gripping operation is detected in step S84, step S9 (see FIG. 11) described above is executed. With reference to FIG. 13, the process of step S9 in the first example will be described in detail.
ステップS91において、プロセッサ10は、掴み操作の対象とされた対象オブジェクト500に関連付けられた属性を示す第1属性情報を取得する。プロセッサ10は、上述したオブジェクト情報242を参照することにより、第1属性情報を取得することができる。ここで、第1属性情報は、対象オブジェクト500の種別を示すオブジェクト種別情報と、対象オブジェクト500の重量を示す情報とを含む。オブジェクト種別情報は、対象オブジェクト500が仮想空間2において移動可能に設定された可動オブジェクトであるか、あるいは仮想空間2において移動不可能に設定された固定オブジェクトであるかを示す情報である。 In step S91, the processor 10 acquires first attribute information indicating an attribute associated with the target object 500 that is a target of the grasping operation. The processor 10 can acquire the first attribute information by referring to the object information 242 described above. Here, the first attribute information includes object type information indicating the type of the target object 500 and information indicating the weight of the target object 500. The object type information is information indicating whether the target object 500 is a movable object set to be movable in the virtual space 2 or a fixed object set to be unmovable in the virtual space 2.
ステップS92において、プロセッサ10は、ステップS91で取得された第1属性情報を参照することにより、対象オブジェクト500が可動オブジェクトであるか固定オブジェクトであるかを判定する。対象オブジェクト500が可動オブジェクトである場合(ステップS92:YES)、ステップS93において、プロセッサ10は、ユーザ190に関連付けられた属性を示す第2属性情報を取得する。ここで、ユーザ190に関連付けられた属性は、仮想空間2内におけるユーザ190のアバター(すなわち、プレイヤキャラクタPC)に関連付けられる属性として用いられ得る。プロセッサ10は、ユーザ情報243を参照することにより、第2属性情報を取得することができる。ここで、第2属性情報は、ユーザ190の重量(すなわち、プレイヤキャラクタPCの重量)を示す情報を含む。続いて、ステップS94において、プロセッサ10は、ユーザ190の重量と対象オブジェクト500の重量とを比較する。 In step S92, the processor 10 determines whether the target object 500 is a movable object or a fixed object by referring to the first attribute information acquired in step S91. When the target object 500 is a movable object (step S92: YES), in step S93, the processor 10 acquires second attribute information indicating an attribute associated with the user 190. Here, the attribute associated with the user 190 can be used as an attribute associated with the avatar (that is, the player character PC) of the user 190 in the virtual space 2. The processor 10 can acquire the second attribute information by referring to the user information 243. Here, the second attribute information includes information indicating the weight of the user 190 (that is, the weight of the player character PC). Subsequently, in step S94, the processor 10 compares the weight of the user 190 with the weight of the target object 500.
対象オブジェクト500が固定オブジェクトである場合(ステップS92:NO)、または、ユーザ190の重量が対象オブジェクト500の重量以下の場合(ステップS94:YES)、プロセッサ10は、ステップS95の処理を実行する。ステップS95において、プロセッサ10は、対象オブジェクト500を移動させずに、仮想カメラ1を対象オブジェクト500に向かって移動させる動作を決定する。すなわち、プロセッサ10は、対象オブジェクト500に向かって移動する動作を実行されるべき動作として決定し、仮想カメラ1を当該動作の実行主体として決定する。 When the target object 500 is a fixed object (step S92: NO), or when the weight of the user 190 is equal to or less than the weight of the target object 500 (step S94: YES), the processor 10 executes the process of step S95. In step S <b> 95, the processor 10 determines an operation for moving the virtual camera 1 toward the target object 500 without moving the target object 500. That is, the processor 10 determines an action to move toward the target object 500 as an action to be executed, and determines the virtual camera 1 as an execution subject of the action.
一方、対象オブジェクト500が可動オブジェクトであり(ステップS92:YES)、かつ、ユーザ190の重量が対象オブジェクト500の重量より大きい場合(ステップS94:NO)、プロセッサ10は、ステップS96の処理を実行する。ステップS96において、プロセッサ10は、仮想カメラ1を移動させずに、対象オブジェクト500を仮想カメラ1に向かって移動させる動作を決定する。すなわち、プロ
セッサ10は、仮想カメラ1に向かって移動する動作を実行されるべき動作として決定し、対象オブジェクト500を当該動作の実行主体として決定する。
On the other hand, when the target object 500 is a movable object (step S92: YES) and the weight of the user 190 is larger than the weight of the target object 500 (step S94: NO), the processor 10 executes the process of step S96. . In step S <b> 96, the processor 10 determines an operation for moving the target object 500 toward the virtual camera 1 without moving the virtual camera 1. That is, the processor 10 determines an operation to move toward the virtual camera 1 as an operation to be executed, and determines the target object 500 as an execution subject of the operation.
ステップS97において、プロセッサ10は、ステップS95またはステップS96において決定された動作を、当該動作の実行主体として決定された仮想カメラ1または対象オブジェクト500に実行させる。なお、プロセッサ10は、仮想オブジェクト制御モジュール232として、ステップS91〜S96を実行する。ステップS95において仮想カメラ1を移動させる動作が決定された場合、プロセッサ10は、仮想カメラ制御モジュール221として、ステップS97(仮想カメラ1の移動)を実行する。ステップS96において対象オブジェクト500を移動させる動作が決定された場合、プロセッサ10は、仮想オブジェクト制御モジュール232として、ステップS97(対象オブジェクト500の移動)を実行する。 In step S97, the processor 10 causes the virtual camera 1 or the target object 500 determined as the execution subject of the operation to execute the operation determined in step S95 or step S96. The processor 10 executes steps S91 to S96 as the virtual object control module 232. When the operation of moving the virtual camera 1 is determined in step S95, the processor 10 executes step S97 (movement of the virtual camera 1) as the virtual camera control module 221. When the operation of moving the target object 500 is determined in step S96, the processor 10 executes step S97 (movement of the target object 500) as the virtual object control module 232.
図14および図15を参照して、第1の動作例について説明する。図14は、左手オブジェクト400Lによって、固定オブジェクト(あるいはユーザ190よりも重いオブジェクト)である木を表す対象オブジェクト500Aに対する掴み操作が検知された直後の状態を表している。この場合、上述したステップS95およびS97ならびに図11のステップS10およびS11が実行されることにより、図15に示される仮想空間2がユーザ190に提供される。具体的には、仮想カメラ1を対象オブジェクト500Aに向かって移動(前進)させた後の視界画像M(図15の状態(A)参照)が、HMD装置110のモニタ112を介して、ユーザ190に提供される。 A first operation example will be described with reference to FIGS. 14 and 15. FIG. 14 illustrates a state immediately after the left hand object 400L detects a grabbing operation on the target object 500A representing a tree that is a fixed object (or an object heavier than the user 190). In this case, the virtual space 2 shown in FIG. 15 is provided to the user 190 by executing steps S95 and S97 described above and steps S10 and S11 of FIG. Specifically, a view image M (see state (A) in FIG. 15) after the virtual camera 1 is moved (advanced) toward the target object 500 </ b> A is displayed on the user 190 via the monitor 112 of the HMD device 110. Provided to.
このように対象オブジェクト500に仮想カメラ1が引き寄せられる動作によれば、仮想空間2において手を使って移動している感覚をユーザ190に与えることができる。したがって、このような動作によれば、例えばボルダリングのように手の力で移動する仮想体験等をユーザに提供することが可能となる。 As described above, according to the operation in which the virtual camera 1 is attracted to the target object 500, it is possible to give the user 190 a feeling of moving using the hand in the virtual space 2. Therefore, according to such an operation, it is possible to provide the user with a virtual experience that moves with the power of the hand, such as bouldering.
図16および図17を参照して、第2の動作例について説明する。図16は、左手オブジェクト400Lによって、可動オブジェクトであり、かつ、ユーザ190よりも軽いオブジェクトである箱を表す対象オブジェクト500Bに対する掴み操作が検知された直後の状態を表している。この場合、上述したステップS96およびS97ならびに図11のステップS10およびS11が実行されることにより、図17に示される仮想空間2がユーザ190に提供される。具体的には、対象オブジェクト500Bを仮想カメラ1に向かって移動させた後の視界画像M(図17の状態(A)参照)が、HMD装置110のモニタ112を介して、ユーザ190に提供される。 A second operation example will be described with reference to FIGS. 16 and 17. FIG. 16 shows a state immediately after the gripping operation is detected by the left hand object 400L with respect to the target object 500B that is a movable object and is a lighter object than the user 190. In this case, the virtual space 2 shown in FIG. 17 is provided to the user 190 by executing steps S96 and S97 described above and steps S10 and S11 of FIG. Specifically, the view image M (see the state (A) in FIG. 17) after the target object 500 </ b> B is moved toward the virtual camera 1 is provided to the user 190 via the monitor 112 of the HMD device 110. The
以上のように、第1の例においては、プロセッサ10は、ユーザ190(プレイヤキャラクタPC)が対象オブジェクト500を移動させることができると判定した場合には、対象オブジェクト500を仮想カメラ1側に引き寄せる動作を決定および実行する。一方、プロセッサ10は、移動させることができないと判定した場合には、プレイヤキャラクタPC(すなわち、仮想カメラ1)が対象オブジェクト500側に引き寄せられる動作を決定および実行する。すなわち、プロセッサ10は、対象オブジェクト500の属性(オブジェクト種別情報および重量)およびユーザ190(プレイヤキャラクタPC)の属性(重量)の間の関係性に応じた動作を決定することができる。これにより、実行される動作のバリエーションを増やすことができ、ユーザ190にエンタテイメント性の高い仮想体験を提供し得る。その結果、仮想空間2へのユーザ190の没入感を向上し得る。 As described above, in the first example, when it is determined that the user 190 (player character PC) can move the target object 500, the processor 10 draws the target object 500 toward the virtual camera 1 side. Determine and execute the action. On the other hand, if it is determined that the processor 10 cannot be moved, the processor 10 determines and executes an action in which the player character PC (that is, the virtual camera 1) is drawn toward the target object 500 side. That is, the processor 10 can determine an action according to the relationship between the attribute (object type information and weight) of the target object 500 and the attribute (weight) of the user 190 (player character PC). Thereby, the variation of the operation | movement performed can be increased and the virtual experience with high entertainment property can be provided to the user 190. FIG. As a result, the feeling of immersion of the user 190 in the virtual space 2 can be improved.
なお、第1の例において、様々な変形が可能である。例えば、プロセッサ10は、第1属性情報(例えばオブジェクト種別情報)のみに基づいて、実行されるべき動作および当該動作の実行主体を決定してもよい。例えば、プロセッサ10は、掴み操作の対象とされた対象オブジェクト500が可動オブジェクトである場合、上述した重量の比較(図13のステップS94)を省略し、当該対象オブジェクト500を仮想カメラ1に向かって移動させる動作を直ちに決定してもよい。この場合、プロセッサ10は、対象オブジェクト500の属性を判定する簡潔な処理により、実行されるべき動作および当該動作の実行主体を決定することができる。 In the first example, various modifications are possible. For example, the processor 10 may determine an operation to be executed and an execution subject of the operation based only on the first attribute information (for example, object type information). For example, when the target object 500 that is the target of the gripping operation is a movable object, the processor 10 omits the weight comparison (step S94 in FIG. 13) and moves the target object 500 toward the virtual camera 1. The movement operation may be determined immediately. In this case, the processor 10 can determine the operation to be executed and the execution subject of the operation by a simple process for determining the attribute of the target object 500.
また、第1の例における判定に用いられる属性は、上述したものに限られない。例えば、プロセッサ10は、ユーザ190の重量の代わりに、あるいはユーザ190の重量とともに、ユーザ190の力(例えば握力等)を第2属性情報として用いてもよい。この場合、プロセッサ10は、例えばユーザ190の力が対象オブジェクト500の重量に応じた所定の閾値以上であるときに、対象オブジェクト500を仮想カメラ1に向かって移動させる動作を決定してもよい。 Further, the attributes used for the determination in the first example are not limited to those described above. For example, the processor 10 may use the force (for example, grip strength) of the user 190 as the second attribute information instead of the weight of the user 190 or together with the weight of the user 190. In this case, the processor 10 may determine an operation of moving the target object 500 toward the virtual camera 1 when the force of the user 190 is equal to or greater than a predetermined threshold corresponding to the weight of the target object 500, for example.
また、プロセッサ10は、実行されるべき動作を規定する情報の一部として、ユーザ190の属性(重量および力等)と対象オブジェクト500の属性(オブジェクト種別および重量等)とに基づいて、対象オブジェクト500または仮想カメラ1の移動速度を決定してもよい。例えば、対象オブジェクト500が固定オブジェクトである場合、ユーザ190の重量が軽いほど(あるいはユーザ190の力が大きいほど)速くなるように、仮想カメラ1の移動速度を決定してもよい。一方、対象オブジェクト500が可動オブジェクトであり、対象オブジェクト500を仮想カメラ1に向かって移動させる動作が決定される場合、対象オブジェクト500の重量が小さいほど(あるいはユーザ190の力が大きいほど)速くなるように、対象オブジェクト500の移動速度を決定してもよい。このように、属性値の大きさ等に基づいて移動速度を異ならせることで、より現実味のある仮想体験をユーザ190に提供することが可能となる。 Further, the processor 10 determines the target object based on the attributes (weight, force, etc.) of the user 190 and the attributes (object type, weight, etc.) of the target object 500 as a part of information defining the operation to be executed. 500 or the moving speed of the virtual camera 1 may be determined. For example, when the target object 500 is a fixed object, the moving speed of the virtual camera 1 may be determined so that the weight of the user 190 is lighter (or the power of the user 190 is greater). On the other hand, when the target object 500 is a movable object and an operation for moving the target object 500 toward the virtual camera 1 is determined, the target object 500 becomes faster as the weight of the target object 500 is smaller (or the force of the user 190 is larger). As described above, the moving speed of the target object 500 may be determined. In this way, by changing the moving speed based on the size of the attribute value or the like, it becomes possible to provide the user 190 with a more realistic virtual experience.
[第2の例] 図18〜図21を参照して、上述したステップS8およびS9の処理の第2の例について説明する。図18および図19は、図11のステップS8およびS9の処理の第2の例を表すフローチャートである。図20および図21は、第3の動作例を説明するための図である。図20および図21のそれぞれにおいて、状態(A)は視界画像Mの一例を示しており、状態(B)は仮想空間2をY方向から見た図である。第2の例では、プロセッサ10は、手オブジェクト400によって対象オブジェクト500を指し示す操作(以下「指示操作」)が検知された場合に、対象オブジェクト500の属性(第1属性情報)と手オブジェクト400の属性(第3属性情報)とに応じた動作を決定および実行する。 [Second Example] A second example of the processing of steps S8 and S9 described above will be described with reference to FIGS. 18 and 19 are flowcharts showing a second example of the processes in steps S8 and S9 in FIG. 20 and 21 are diagrams for explaining the third operation example. In each of FIG. 20 and FIG. 21, the state (A) shows an example of the view image M, and the state (B) is a view of the virtual space 2 viewed from the Y direction. In the second example, when an operation pointing to the target object 500 (hereinafter, “instruction operation”) is detected by the hand object 400, the processor 10 determines the attribute (first attribute information) of the target object 500 and the hand object 400. The operation according to the attribute (third attribute information) is determined and executed.
図18を参照して、第2の例における図11のステップS8の処理を詳しく説明する。ステップS181において、プロセッサ10は、コントローラ160によって検知されるユーザ190の手の動きに応じて、仮想空間2において手オブジェクト400を動かす。 With reference to FIG. 18, the process of step S8 of FIG. 11 in the second example will be described in detail. In step S <b> 181, the processor 10 moves the hand object 400 in the virtual space 2 in accordance with the hand movement of the user 190 detected by the controller 160.
ステップS182において、プロセッサ10は、手オブジェクト400により特定される方向の先に対象オブジェクト500が位置するか否かを判定する。手オブジェクト400により特定される方向は、例えば、手オブジェクト400の手のひらが対面する方向である。このような方向の検知は、例えば、コントローラ160に設けられたモーションセンサ130からの出力に基づいて行われる。対象オブジェクト500が位置すると判定された場合(ステップS182:YES)、プロセッサ10は、手オブジェクト400による対象オブジェクト500に対する指示操作を検知する。一方、対象オブジェクト500が位置すると判定されなかった場合(ステップS182:NO)、プロセッサ10は、ユーザ190の手の動き情報を待ち受け、手オブジェクト400を動かす制御を継続する。 In step S <b> 182, the processor 10 determines whether or not the target object 500 is positioned ahead of the direction specified by the hand object 400. The direction specified by the hand object 400 is, for example, the direction in which the palm of the hand object 400 faces. Such direction detection is performed based on, for example, an output from the motion sensor 130 provided in the controller 160. If it is determined that the target object 500 is located (step S182: YES), the processor 10 detects an instruction operation on the target object 500 by the hand object 400. On the other hand, when it is not determined that the target object 500 is located (step S182: NO), the processor 10 waits for the hand movement information of the user 190 and continues the control of moving the hand object 400.
ステップS183において指示操作が検知された場合、上述したステップS9(図11参照)が実行される。図19を参照して、第2の例におけるステップS9の処理を詳しく説明する。 When an instruction operation is detected in step S183, step S9 (see FIG. 11) described above is executed. With reference to FIG. 19, the process of step S9 in the second example will be described in detail.
ステップS191において、プロセッサ10は、指示操作の対象とされた対象オブジェクト500に関連付けられた属性を示す第1属性情報を取得する。また、プロセッサ10は、指示操作の操作主体である手オブジェクト400に関連付けられた属性を示す第3属性情報を取得する。プロセッサ10は、オブジェクト情報242を参照することにより、第1属性情報および第3属性情報を取得することができる。ここでは一例として、第1属性情報および第3属性情報は、オブジェクトの極性(例えば磁石のN極またはS極)を示す情報である。 In step S191, the processor 10 acquires first attribute information indicating an attribute associated with the target object 500 that is the target of the instruction operation. Further, the processor 10 acquires third attribute information indicating an attribute associated with the hand object 400 that is an operation subject of the instruction operation. The processor 10 can obtain the first attribute information and the third attribute information by referring to the object information 242. Here, as an example, the first attribute information and the third attribute information are information indicating the polarity of the object (for example, the N pole or S pole of the magnet).
ステップS192において、プロセッサ10は、ステップS191で取得された第1属性情報および第3属性情報を参照することにより、対象オブジェクト500および手オブジェクト400の極性が異なるか否かを判定する。すなわち、プロセッサ10は、対象オブジェクト500および手オブジェクト400の一方がS極で他方がN極であるか否かを判定する。 In step S192, the processor 10 determines whether or not the polarities of the target object 500 and the hand object 400 are different by referring to the first attribute information and the third attribute information acquired in step S191. That is, the processor 10 determines whether one of the target object 500 and the hand object 400 is the S pole and the other is the N pole.
極性が異なると判定された場合(ステップS192:YES)、ステップS193において、プロセッサ10は、対象オブジェクト500を仮想カメラ1に向かって移動させる動作を決定する。すなわち、プロセッサ10は、仮想カメラ1に向かって移動することを実行されるべき動作として決定し、対象オブジェクト500を当該動作の実行主体として決定する。 When it is determined that the polarities are different (step S192: YES), in step S193, the processor 10 determines an operation for moving the target object 500 toward the virtual camera 1. That is, the processor 10 determines to move toward the virtual camera 1 as an action to be executed, and determines the target object 500 as an execution subject of the action.
一方、極性が一致すると判定された場合(ステップS192:NO)、ステップS194において、プロセッサ10は、対象オブジェクト500を仮想カメラ1から遠ざかるように移動させる動作を決定する。すなわち、プロセッサ10は、仮想カメラ1から遠ざかるように移動することを実行されるべき動作として決定し、対象オブジェクト500を当該動作の実行主体として決定する。 On the other hand, if it is determined that the polarities match (step S192: NO), in step S194, the processor 10 determines an operation for moving the target object 500 away from the virtual camera 1. That is, the processor 10 determines to move away from the virtual camera 1 as an operation to be executed, and determines the target object 500 as an execution subject of the operation.
ステップS195において、プロセッサ10は、ステップS193またはステップS194において決定された動作を、当該動作の実行主体として決定された対象オブジェクト500に実行させる。なお、プロセッサ10は、仮想オブジェクト制御モジュール232として、上述したステップS191〜S194を実行する。ステップS193において仮想カメラ1を移動させる動作が決定された場合、プロセッサ10は、仮想カメラ制御モジュール221として、ステップS195(仮想カメラ1の移動)を実行する。ステップS194において対象オブジェクト500を移動させる動作が決定された場合、プロセッサ10は、仮想オブジェクト制御モジュール232として、ステップS195(対象オブジェクト500の移動)を実行する。 In step S195, the processor 10 causes the target object 500 determined as the execution subject of the operation to execute the operation determined in step S193 or step S194. The processor 10 executes steps S191 to S194 described above as the virtual object control module 232. When the operation for moving the virtual camera 1 is determined in step S193, the processor 10 executes step S195 (movement of the virtual camera 1) as the virtual camera control module 221. When the operation of moving the target object 500 is determined in step S194, the processor 10 executes step S195 (movement of the target object 500) as the virtual object control module 232.
図20および図21を参照して、第3の動作例について説明する。図20は、右手オブジェクト400Rによって、当該右手オブジェクト400Rとは極性の異なる対象オブジェクト500Cに対する指示操作が検知された直後の状態を表している。この場合、上述したステップS193およびS195ならびに図11のステップS10およびS11が実行されることにより、図21に示される仮想空間2がユーザ190に提供される。具体的には、対象オブジェクト500Cを仮想カメラ1に向かって移動させた後の視界画像M(図21の状態(A)参照)が、HMD装置110のモニタ112を介して、ユーザ190に提供される。 A third operation example will be described with reference to FIG. 20 and FIG. FIG. 20 illustrates a state immediately after an instruction operation for the target object 500C having a polarity different from that of the right hand object 400R is detected by the right hand object 400R. In this case, the virtual space 2 shown in FIG. 21 is provided to the user 190 by executing steps S193 and S195 described above and steps S10 and S11 in FIG. Specifically, the view image M (see the state (A) in FIG. 21) after the target object 500 </ b> C is moved toward the virtual camera 1 is provided to the user 190 via the monitor 112 of the HMD device 110. The
以上のように、第2の例においては、プロセッサ10は、磁石の性質に応じた動作を決定および実行する。すなわち、プロセッサ10は、対象オブジェクト500の属性(極性)および手オブジェクト400の属性(極性)の間の関係性に応じた動作を決定することができる。これにより、実行される動作のバリエーションを増やすことができ、ユーザ190にエンタテイメント性の高い仮想体験を提供し得る。その結果、仮想空間2へのユーザ190の没入感を向上し得る。 As described above, in the second example, the processor 10 determines and executes an operation according to the property of the magnet. That is, the processor 10 can determine an action according to the relationship between the attribute (polarity) of the target object 500 and the attribute (polarity) of the hand object 400. Thereby, the variation of the operation | movement performed can be increased and the virtual experience with high entertainment property can be provided to the user 190. FIG. As a result, the feeling of immersion of the user 190 in the virtual space 2 can be improved.
なお、第2の例において、様々な変形が可能であ
る。例えば、第2の例における判定は、上述した第1の例における判定と組み合わされてもよい。例えば、第2の例では、対象オブジェクト500が移動する形態を説明したが、プロセッサ10は、上述した第1の例における判定を併せて実行することによって、仮想カメラ1および対象オブジェクト500のいずれを移動させるかを決定してもよい。この場合、プロセッサ10は、対象オブジェクト500の属性(第1属性情報)、ユーザ190の属性(第2属性情報)、および手オブジェクト400の属性(第3属性情報)の全てに基づいて、実行されるべき動作および当該動作の実行主体を決定および実行する。
Note that various modifications are possible in the second example. For example, the determination in the second example may be combined with the determination in the first example described above. For example, in the second example, the form in which the target object 500 moves has been described. However, the processor 10 executes either the virtual camera 1 or the target object 500 by executing the determination in the first example described above. You may decide whether to move. In this case, the processor 10 is executed based on all of the attribute of the target object 500 (first attribute information), the attribute of the user 190 (second attribute information), and the attribute of the hand object 400 (third attribute information). Determine and execute an action to be performed and an execution subject of the action.
また、第2の例において、左手オブジェクト400Lの極性と右手オブジェクト400Rの極性は、互いに異なるように設定されてもよい。この場合、例えば極性がランダムに割り当てられた複数の対象オブジェクト500を手オブジェクト400に引き付けることによって収集するゲーム等のように、うまく両手を動かす必要のある娯楽性の高いゲームをユーザに提供すること等が可能となる。 In the second example, the polarity of the left hand object 400L and the polarity of the right hand object 400R may be set to be different from each other. In this case, for example, providing a user with a highly entertaining game in which both hands need to be moved successfully, such as a game in which a plurality of target objects 500 with randomly assigned polarities are attracted to the hand object 400. Etc. are possible.
また、第2の例において、予め定められた操作は、上述の指示操作以外の操作であってもよい。例えば、予め定められた操作は、単に、手オブジェクト400を対象オブジェクト500から所定距離以内まで近づける操作であってもよい。 In the second example, the predetermined operation may be an operation other than the instruction operation described above. For example, the predetermined operation may simply be an operation for bringing the hand object 400 closer to the target object 500 within a predetermined distance.
以上、本開示の実施形態について説明したが、本発明の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は、特許請求の範囲に記載された発明の範囲およびその均等の範囲に基づいて定められるべきである。 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.
例えば、本実施形態では、ユーザ190の手の動きを示すコントローラ160の動きに応じて、手オブジェクトの移動が制御されているが、ユーザ190の手自体の移動量に応じて、仮想空間内における手オブジェクトの移動が制御されてもよい。例えば、コントローラ160を用いる代わりに、ユーザの手指に装着されるグローブ型デバイスおよび指輪型デバイス等が用いられてもよい。この場合、HMDセンサ120により、ユーザ190の手の位置および移動量等を検出することができるとともに、ユーザ190の手指の動きおよび状態等を検出することができる。また、HMDセンサ120の代わりに、ユーザ190の手(手指を含む)を撮像するように構成されたカメラによって、ユーザ190の手指の動きおよび状態等が検出されてもよい。カメラを用いてユーザ190の手を撮像することにより、ユーザ190の手指に直接何らのデバイスを装着させる必要がなくなる。この場合、ユーザ190の手が表示された画像データに基づいて、ユーザ190の手の位置および移動量等を検出することができるとともに、ユーザ190の手指の動きおよび状態等を検出することができる。 For example, in the present embodiment, the movement of the hand object is controlled according to the movement of the controller 160 indicating the movement of the user 190's hand, but in the virtual space according to the movement amount of the user's 190 hand itself. The movement of the hand object may be controlled. For example, instead of using the controller 160, a glove-type device, a ring-type device, or the like worn on the user's finger may be used. In this case, the HMD sensor 120 can detect the position and movement amount of the hand of the user 190, and can detect the movement and state of the finger of the user 190. Further, instead of the HMD sensor 120, the movement and state of the user 190's fingers may be detected by a camera configured to image the user's 190 hand (including fingers). By imaging the hand of the user 190 using the camera, it is not necessary to attach any device directly to the finger of the user 190. In this case, based on the image data on which the hand of the user 190 is displayed, the position and amount of movement of the hand of the user 190 can be detected, and the movement and state of the finger of the user 190 can be detected. .
また、本実施形態では、ユーザ190の手の動きに連動する手オブジェクトが操作オブジェクトとして用いられたが、本実施形態はこれに限定されない。例えば、ユーザ190の足の動きに連動する足オブジェクトが、手オブジェクトの代わりに、あるいは手オブジェクトとともに、操作オブジェクトとして用いられてもよい。 In the present embodiment, a hand object that is linked to the movement of the hand of the user 190 is used as an operation object. However, the present embodiment is not limited to this. For example, a foot object that is linked to the movement of the foot of the user 190 may be used as an operation object instead of or together with the hand object.
また、本実施形態では、実行されるべき動作の実行主体が、対象オブジェクト500および仮想カメラ1の一方に決定されたが、対象オブジェクト500および仮想カメラ1の両方が当該動作の実行主体として決定されてもよい。例えば、上述した第2の例において、対象オブジェクト500の極性と手オブジェクト400の極性とが異なる場合、プロセッサ10は、対象オブジェクト500と仮想カメラ1(プレイヤキャラクタPC)とが互いに引き寄せられる動作を、実行されるべき動作として決定してもよい。この場合、プロセッサ10は、仮想カメラ制御モジュール221として仮想カメラ1を移動させるとともに、仮想オブジェクト制御モジュール232として対象オブジェクト500を移動させる。 In the present embodiment, the execution subject of the action to be executed is determined to be one of the target object 500 and the virtual camera 1, but both the target object 500 and the virtual camera 1 are determined as the execution subject of the action. May be. For example, in the second example described above, when the polarity of the target object 500 and the polarity of the hand object 400 are different, the processor 10 performs an action in which the target object 500 and the virtual camera 1 (player character PC) are attracted to each other. It may be determined as an operation to be executed. In this case, the processor 10 moves the virtual camera 1 as the virtual camera control module 221 and moves the target object 500 as the virtual object control module 232.
また、本実施形態では、仮想カメラ1によって定義されるユーザの視野を仮想空間2におけるプレイヤキャラクタPCの視野と一致させることで、1人称視点における仮想体験がユーザ190に提供されたが、本実施形態はこれに限定されない。例えば、仮想カメラ1がプレイヤキャラクタPCの後方に配置されることで、プレイヤキャラクタPCが視界画像Mに含まれる3人称視点における仮想体験が、ユーザ190に提供されてもよい。この場合、仮想カメラ1を移動させる代わりに、あるいは仮想カメラ1を移動させるとともに、プレイヤキャラクタPCを移動させてもよい。例えば、上述した図13のステップS95において、プロセッサ10は、仮想カメラ1の代わりに、あるいは仮想カメラ1を移動させるとともに、プレイヤキャラクタPCを対象オブジェクト500に向かって移動させてもよい。また、例えば、上述した図13のステップS96において、プロセッサ10は、対象オブジェクト500を仮想カメラ1に向かって移動させる代わりに、対象オブジェクト500をプレイヤキャラクタPCに向かって移動させてもよい。このように、3人称視点における仮想体験がユーザ190に提供される場合には、本実施形態で説明した仮想カメラ1の動作(あるいは、仮想カメラ1に対する対象オブジェクト500の動作)は、プレイヤキャラクタPCの動作(あるいは、プレイヤキャラクタPCに対する対象オブジェクト500の動作)に置き換えられてもよい。なお、プレイヤキャラクタPCの動作は、仮想オブジェクト制御モジュール232としてのプロセッサ10によって実行される。 In this embodiment, the user 190 defined by the virtual camera 1 matches the visual field of the player character PC in the virtual space 2 to provide a virtual experience in the first person viewpoint to the user 190. The form is not limited to this. For example, by placing the virtual camera 1 behind the player character PC, a virtual experience at the third person viewpoint in which the player character PC is included in the view field image M may be provided to the user 190. In this case, instead of moving the virtual camera 1, or while moving the virtual camera 1, the player character PC may be moved. For example, in step S95 of FIG. 13 described above, the processor 10 may move the player character PC toward the target object 500 while moving the virtual camera 1 instead of the virtual camera 1. Further, for example, in step S96 of FIG. 13 described above, the processor 10 may move the target object 500 toward the player character PC instead of moving the target object 500 toward the virtual camera 1. As described above, when the virtual experience from the third person viewpoint is provided to the user 190, the operation of the virtual camera 1 described in the present embodiment (or the operation of the target object 500 with respect to the virtual camera 1) is the player character PC. (Or the motion of the target object 500 with respect to the player character PC). The action of the player character PC is executed by the processor 10 as the virtual object control module 232.
また、本実施形態では、決定される動作の例として、仮想カメラ1および対象オブジェクト500の一方が他方に対して移動する動作について説明したが、決定される動作はこれに限定されない。また、判定に用いられる各オブジェクトの属性についても、上述したものに限定されない。例えば、プロセッサ10は、対象オブジェクト500の属性等に基づいて、対象オブジェクト500を変形させる動作(あるいは変形させない動作)を実行されるべき動作として決定してもよい。例えば、対象オブジェクト500に関連付けられた第1属性情報が対象オブジェクト500の硬さを示す数値を含み、ユーザ190に関連付けられた第2属性情報がユーザ190の力(握力)を示す数値を含む場合を考える。この場合、プロセッサ10は、手オブジェクト400による対象オブジェクト500に対する掴み操作を検知すると、対象オブジェクト500の硬さとユーザ190の力とを比較し、ユーザ190が当該対象オブジェクト500を破壊可能であるか否かを判定してもよい。プロセッサ10は、破壊可能であると判定した場合、対象オブジェクト500が破壊される動作を、実行されるべき動作として決定してもよい。一方、プロセッサ10は、破壊可能であると判定しなかった場合、対象オブジェクト500が破壊されずに維持される動作を、実行されるべき動作として決定してもよい。 In the present embodiment, as an example of the determined operation, the operation in which one of the virtual camera 1 and the target object 500 moves with respect to the other has been described, but the determined operation is not limited to this. Further, the attributes of each object used for the determination are not limited to those described above. For example, the processor 10 may determine an operation to deform (or an operation not to deform) the target object 500 as an operation to be executed based on an attribute of the target object 500 or the like. For example, when the first attribute information associated with the target object 500 includes a numerical value indicating the hardness of the target object 500, and the second attribute information associated with the user 190 includes a numerical value indicating the strength (grip strength) of the user 190. think of. In this case, when the processor 10 detects a gripping operation on the target object 500 by the hand object 400, the processor 10 compares the hardness of the target object 500 with the force of the user 190, and whether or not the user 190 can destroy the target object 500. It may be determined. When the processor 10 determines that the target object 500 can be destroyed, the processor 10 may determine an operation to destroy the target object 500 as an operation to be executed. On the other hand, when the processor 10 does not determine that the target object 500 can be destroyed, the processor 10 may determine the operation to be performed without being destroyed as the operation to be executed.
本明細書に開示された主題は、例えば、以下のような項目として示される。(項目1) 仮想空間2における仮想体験をユーザ190に提供するためにコンピュータ200によって実行される情報処理方法であって、 前記仮想空間2における前記ユーザ190の視野を定義する仮想カメラ1と、前記仮想空間2に配置される対象オブジェクト500と、前記対象オブジェクト500を操作するための操作オブジェクト(例えば、手オブジェクト400)とを含む前記仮想空間2を規定する仮想空間データを生成するステップ(例えば、図11のS1)と、 前記ユーザ190の身体の一部の動きを検出し、検出された前記身体の一部の動きに応じて前記操作オブジェクトを動かすステップ(例えば、図12のS81または図18のS181)と、 前記操作オブジェクトによる前記対象オブジェクト500への予め定められた操作を検知するステップ(例えば、図12のS84または図18のS183)と、 前記予め定められた操作が検知された場合に、前記対象オブジェクト500に関連付けられた属性を示す第1属性情報を取得し、前記第1属性情報に基づいて、実行されるべき動作を決定するとともに前記仮想カメラ1および前記対象オブジェクト500の少なくとも一方を前記動作の実行主体として決定するステップ(例えば、図13のS91〜S96または図19のS191〜S194)と、 前記実行主体として決定された前記仮想カメラ1および前記対象オブジェクト500の少なくとも一方に、前記動作を実行させるステップ(例えば、図13のS97または図19のS195)と、を含む、方法。 本項目の方法によれば、操作オブジェクトによる対象オブジェクトへの操作がされた場合に、対象オブジェクトの属性に基づいて、実行されるべき動作および当該動作の実行主体を決定することができる。これにより、対象オブジェクトに対する操作を行った際に実行される動作のバリエーションを増やすことができる。その結果、ユーザにエンタテイメント性の高い仮想体験を提供することができる。(項目2) 前記身体の一部は、前記ユーザの手であり、 前記予め定められた操作は、前記対象オブジェクトを掴む操作である、項目1の方法。 本項目の方法によれば、対象オブジェクトを掴むという仮想空間において基本的な操作が行われた際に実行される動作のバリエーションを、対象オブジェクトの属性に基づいて増やすことができる。これにより、手を使ったユーザの仮想体験の娯楽性を向上し得る。(項目3) 前記動作は、前記仮想カメラおよび前記対象オブジェクトの少なくとも一方が前記仮想カメラおよび前記対象オブジェクトの他方に向かって移動することである、項目1または2の方法。 本項目の方法によれば、操作オブジェクトによる対象オブジェクトへの操作がされた場合に、対象オブジェクトを仮想カメラに近づけたり、仮想カメラを対象オブジェクトに近づけたりすることが可能となる。これにより、仮想空間におけるユーザの利便性を向上し得る。(項目4) 前記第1属性情報は、前記対象オブジェクトが前記仮想空間において移動可能に設定された可動オブジェクトであるか、あるいは前記仮想空間において移動不可能に設定された固定オブジェクトであるかを示す情報を含む、項目3の方法。 本項目の方法によれば、対象オブジェクトが仮想空間において移動可能であるか否かを示す属性に基づいて、対象オブジェクトおよび仮想カメラのいずれを移動させるかを適切に決定することが可能となる。(項目5) 前記動作の実行主体として決定するステップにおいて、前記ユーザに関連付けられた属性を示す第2属性情報を更に取得し、前記第2属性情報に更に基づいて、実行されるべき動作を決定するとともに前記仮想カメラおよび前記対象オブジェクトの少なくとも一方を前記動作の実行主体として決定する、項目1〜4のいずれかの方法。 本項目の方法によれば、操作オブジェクトによる対象オブジェクトへの操作がされた場合に、対象オブジェクトの属性とユーザの属性との関係性に応じた動作を決定することができる。これにより、実行される動作のバリエーションを増やすことができ、ユーザにエンタテイメント性の高い仮想体験を提供し得る。(項目6) 前記動作の実行主体として決定するステップにおいて、前記操作オブジェクトに関連付けられた属性を示す第3属性情報を更に取得し、前記第3属性情報に更に基づいて、実行されるべき動作を決定するとともに前記仮想カメラおよび前記対象オブジェクトの少なくとも一方を前記動作の実行主体として決定する、項目1〜5のいずれかの方法。 本項目の方法によれば、操作オブジェクトによる対象オブジェクトへの操作がされた場合に、対象オブジェクトの属性と操作オブジェクトの属性との関係性に基づいて、実行される動作のバリエーションを増やすことができる。これにより、ユーザにエンタテイメント性の高い仮想体験を提供し得る。(項目7) 仮想
空間における仮想体験をユーザに提供するためにコンピュータによって実行される情報処理方法であって、 前記仮想空間における前記ユーザの視野を定義する仮想カメラと、前記ユーザの視野に含まれるように前記仮想空間に配置されるキャラクタオブジェクトと、前記仮想空間に配置される対象オブジェクトと、前記対象オブジェクトを操作するための操作オブジェクトとを含む前記仮想空間を規定する仮想空間データを生成するステップと、 前記ユーザの身体の一部の動きを検出し、検出された前記身体の一部の動きに応じて前記操作オブジェクトを動かすステップと、 前記操作オブジェクトによる前記対象オブジェクトへの予め定められた操作を検知するステップと、 前記予め定められた操作が検知された場合に、前記対象オブジェクトに関連付けられた第1属性情報を取得し、前記第1属性情報に基づいて、実行されるべき動作を決定するとともに前記キャラクタオブジェクトおよび前記対象オブジェクトの少なくとも一方を前記動作の実行主体として決定するステップと、 前記実行主体として決定された前記キャラクタオブジェクトおよび前記対象オブジェクトの少なくとも一方に、前記動作を実行させるステップと、を含む、方法。 本項目の方法によれば、3人称視点で提供される仮想体験において、項目1と同様の効果を得ることができる。(項目8) 項目1〜7のいずれかの方法をコンピュータに実行させる、プログラム。(項目9) 項目8のプログラムを格納したメモリと、 前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、装置。
The subject matter disclosed in the present specification is indicated as, for example, the following items. (Item 1) An information processing method executed by the computer 200 to provide a virtual experience in the virtual space 2 to the user 190, the virtual camera 1 defining the field of view of the user 190 in the virtual space 2, Generating virtual space data defining the virtual space 2 including a target object 500 arranged in the virtual space 2 and an operation object (for example, a hand object 400) for operating the target object 500 (for example, 11 (S1 in FIG. 11) and a step of detecting the movement of the body part of the user 190 and moving the operation object in accordance with the detected movement of the body part (for example, S81 in FIG. 12 or FIG. 18). S181) of the target object 500 by the operation object. A first attribute information indicating an attribute associated with the target object 500 when the predetermined operation is detected (step S84 in FIG. 12 or S183 in FIG. 18). And determining an action to be executed based on the first attribute information and determining at least one of the virtual camera 1 and the target object 500 as an execution subject of the action (for example, FIG. 13). S91 to S96 or S191 to S194 in FIG. 19 and a step of causing at least one of the virtual camera 1 and the target object 500 determined as the execution subject to execute the operation (for example, S97 in FIG. 13 or FIG. 19). And S195). According to the method of this item, when the operation object is operated on the target object, the operation to be executed and the execution subject of the operation can be determined based on the attribute of the target object. Thereby, the variation of the operation | movement performed when operation with respect to a target object is performed can be increased. As a result, a virtual experience with high entertainment properties can be provided to the user. (Item 2) The method according to Item 1, wherein the part of the body is the user's hand, and the predetermined operation is an operation of grasping the target object. According to the method of this item, the variation of the operation | movement performed when basic operation is performed in the virtual space of grabbing a target object can be increased based on the attribute of a target object. Thereby, the entertainment property of the virtual experience of the user using the hand can be improved. (Item 3) The method according to item 1 or 2, wherein the operation is that at least one of the virtual camera and the target object moves toward the other of the virtual camera and the target object. According to the method of this item, when the operation object is operated on the target object, the target object can be brought close to the virtual camera, or the virtual camera can be brought close to the target object. Thereby, the convenience of the user in the virtual space can be improved. (Item 4) The first attribute information indicates whether the target object is a movable object set to be movable in the virtual space or a fixed object set to be non-movable in the virtual space. The method of item 3, including information. According to the method of this item, it is possible to appropriately determine which of the target object and the virtual camera is to be moved based on an attribute indicating whether or not the target object is movable in the virtual space. (Item 5) In the step of determining as an execution subject of the operation, second attribute information indicating an attribute associated with the user is further acquired, and an operation to be executed is further determined based on the second attribute information And at least one of the virtual camera and the target object is determined as an execution subject of the action. According to the method of this item, when the operation object is operated to the target object, it is possible to determine an action according to the relationship between the attribute of the target object and the user attribute. Thereby, the variation of the operation | movement performed can be increased and the virtual experience with high entertainment property can be provided to a user. (Item 6) In the step of determining as an execution subject of the operation, third attribute information indicating an attribute associated with the operation object is further acquired, and an operation to be executed is further performed based on the third attribute information. Item 6. The method according to any one of Items 1 to 5, wherein at least one of the virtual camera and the target object is determined as an execution subject of the action. According to the method of this item, when the operation object is operated to the target object, it is possible to increase the variation of the action to be executed based on the relationship between the attribute of the target object and the attribute of the operation object. . Thereby, a virtual experience with high entertainment property can be provided to the user. (Item 7) An information processing method executed by a computer to provide a virtual experience to a user in a virtual space, the virtual camera defining the user's visual field in the virtual space, and included in the user's visual field Generating virtual space data defining the virtual space including a character object arranged in the virtual space, a target object arranged in the virtual space, and an operation object for operating the target object Detecting a movement of a part of the user's body and moving the operation object in accordance with the detected movement of the body part; and a predetermined operation on the target object by the operation object And detecting the predetermined operation, First attribute information associated with the target object is acquired, and a motion to be executed is determined based on the first attribute information, and at least one of the character object and the target object is used as an execution subject of the motion A step of determining, and causing at least one of the character object and the target object determined as the execution subject to execute the action. According to the method of this item, the same effect as item 1 can be obtained in the virtual experience provided from the third person viewpoint. (Item 8) A program that causes a computer to execute any one of items 1 to 7. (Item 9) An apparatus comprising: a memory storing the program according to item 8; and a processor coupled to the memory and executing the program.
1…仮想カメラ、2…仮想空間、5…基準視線、10…プロセッサ、11…メモリ、12…ストレージ、13…入出力インターフェース、14…通信インターフェース、15…バス、19…ネットワーク、21…中心、22…仮想空間画像、23…視界領域、24,25…領域、31…フレーム、32…天面、33,34,36,37…ボタン、35…赤外線LED、38…アナログスティック、100…HMDシステム、110…HMD装置、112…モニタ、114…センサ,120…HMDセンサ、130…モーションセンサ、140…注視センサ、150…サーバ、160…コントローラ、160L…左コントローラ、160R…右コントローラ、190…ユーザ、200…コンピュータ、220…表示制御モジュール、221…仮想カメラ制御モジュール、222…視界領域決定モジュール、223…視界画像生成モジュール、224…基準視線特定モジュール、230…仮想空間制御モジュール、231…仮想空間定義モジュール、232…仮想オブジェクト制御モジュール、233…操作オブジェクト制御モジュール、240…メモリモジュール、241…空間情報、242…オブジェクト情報、243…ユーザ情報、250…通信制御モジュール、400…手オブジェクト、400L…左手オブジェクト、400R…右手オブジェクト、500,500A,500B,500C…対象オブジェクト、810…右手、M…視界画像、PC…プレイヤキャラクタ。 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, 19 ... Network, 21 ... Center, 22 ... Virtual space image, 23 ... Field of view, 24, 25 ... Area, 31 ... Frame, 32 ... Top surface, 33, 34, 36, 37 ... Button, 35 ... Infrared LED, 38 ... Analog stick, 100 ... HMD system 110 ... HMD device 112 ... monitor 114 ... sensor 120 ... HMD sensor 130 ... motion sensor 140 ... gaze sensor 150 ... server 160 ... controller 160L ... left controller 160R ... right controller 190 ... user , 200 ... Computer, 220 ... Display control module, 221 ... Temporary Camera control module, 222 ... view area determination module, 223 ... view field image generation module, 224 ... reference line of sight identification module, 230 ... virtual space control module, 231 ... virtual space definition module, 232 ... virtual object control module, 233 ... operation object Control module, 240 ... memory module, 241 ... spatial information, 242 ... object information, 243 ... user information, 250 ... communication control module, 400 ... hand object, 400L ... left hand object, 400R ... right hand object, 500, 500A, 500B, 500C ... target object, 810 ... right hand, M ... view image, PC ... player character.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017148769A JP2018067297A (en) | 2017-08-01 | 2017-08-01 | Information processing method, apparatus, and program for causing computer to execute information processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017148769A JP2018067297A (en) | 2017-08-01 | 2017-08-01 | Information processing method, apparatus, and program for causing computer to execute information processing method |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016204341A Division JP6189513B1 (en) | 2016-10-18 | 2016-10-18 | Information processing method, apparatus, and program for causing computer to execute information processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2018067297A true JP2018067297A (en) | 2018-04-26 |
Family
ID=62086232
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017148769A Pending JP2018067297A (en) | 2017-08-01 | 2017-08-01 | Information processing method, apparatus, and program for causing computer to execute information processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2018067297A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019189367A1 (en) | 2018-03-30 | 2019-10-03 | 三菱ケミカル株式会社 | Molded article, sheet, and container, and tubular body, straw, swab, and balloon stick |
| WO2021176861A1 (en) * | 2020-03-05 | 2021-09-10 | ソニーグループ株式会社 | Information processing device and information processing method, computer program, and augmented reality sensing system |
-
2017
- 2017-08-01 JP JP2017148769A patent/JP2018067297A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019189367A1 (en) | 2018-03-30 | 2019-10-03 | 三菱ケミカル株式会社 | Molded article, sheet, and container, and tubular body, straw, swab, and balloon stick |
| WO2021176861A1 (en) * | 2020-03-05 | 2021-09-10 | ソニーグループ株式会社 | Information processing device and information processing method, computer program, and augmented reality sensing system |
| JPWO2021176861A1 (en) * | 2020-03-05 | 2021-09-10 | ||
| JP7798024B2 (en) | 2020-03-05 | 2026-01-14 | ソニーグループ株式会社 | Information processing device, information processing method, and augmented reality system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6263252B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
| JP6244593B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
| JP6470796B2 (en) | Information processing method, program, and computer | |
| JP6392911B2 (en) | Information processing method, computer, and program for causing computer to execute information processing method | |
| JP6290467B1 (en) | Information processing method, apparatus, and program causing computer to execute information processing method | |
| JP6523233B2 (en) | Information processing method, apparatus, and program for causing a computer to execute the information processing method | |
| JP6368411B1 (en) | Method, program and computer executed on a computer to provide a virtual experience | |
| JP6509955B2 (en) | INFORMATION PROCESSING METHOD, PROGRAM, AND INFORMATION PROCESSING DEVICE | |
| JP6201028B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
| JP6646565B2 (en) | Information processing method and apparatus, and program for causing computer to execute the information processing method | |
| JP6227732B1 (en) | Method and apparatus for supporting input in virtual space, and program causing computer to execute the method | |
| JP6368404B1 (en) | Information processing method, program, and computer | |
| JP6495398B2 (en) | Method and program for providing virtual space, and information processing apparatus for executing the program | |
| JP6479933B1 (en) | Program, information processing apparatus, and method | |
| JP2018194889A (en) | Information processing method, computer and program | |
| JP6278546B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
| JP2019032844A (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
| JP2018125003A (en) | Information processing method, apparatus, and program for implementing that information processing method in computer | |
| JP2018092635A (en) | Information processing method, device, and program for implementing that information processing method on computer | |
| JP2018124981A (en) | Information processing method, information processing device and program causing computer to execute information processing method | |
| JP6290490B1 (en) | Information processing method, apparatus, and program for causing computer to execute information processing method | |
| JP2019083028A (en) | Information processing method, program, and computer | |
| US20180129274A1 (en) | Information processing method and apparatus, and program for executing the information processing method on computer | |
| JP6306678B1 (en) | Method executed by computer to present object in virtual space, program causing computer to execute the method, and computer apparatus | |
| JP2019020836A (en) | Information processing method, device, and program for causing computer to execute the method |