JP2019083022A - Information processing method and program for causing computer to execute the method - Google Patents

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

Info

Publication number
JP2019083022A
JP2019083022A JP2018229111A JP2018229111A JP2019083022A JP 2019083022 A JP2019083022 A JP 2019083022A JP 2018229111 A JP2018229111 A JP 2018229111A JP 2018229111 A JP2018229111 A JP 2018229111A JP 2019083022 A JP2019083022 A JP 2019083022A
Authority
JP
Japan
Prior art keywords
condition
hmd
information processing
processing method
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018229111A
Other languages
Japanese (ja)
Inventor
野口 裕弘
Yasuhiro Noguchi
裕弘 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to JP2018229111A priority Critical patent/JP2019083022A/en
Publication of JP2019083022A publication Critical patent/JP2019083022A/en
Pending legal-status Critical Current

Links

Images

Abstract

To further improve virtual experience of a user.SOLUTION: An information processing method includes the steps of: generating virtual space data for defining a virtual space 200 containing a virtual camera 300, a right hand object 400R, and a button object 600; identifying a visual field of the virtual camera 300 on the basis of a position and an inclination of a HMD 110; displaying a visual field image in the HMD 110 on the basis of the visual field of the virtual camera 300 and the virtual space data; and identifying a position of the right hand object 400R on the basis of a position of a controller 320R. When it is determined that prescribed conditions for determining whether a collision area CA of the right hand object 400R intentionally come into contact with a collision area of the button object 600 are not satisfied, the right hand object 400R does not exert prescribed influences on the button object 600.SELECTED DRAWING: Figure 9

Description

本開示は、情報処理方法および当該情報処理方法をコンピュータに実行させるためのプログラムに関する。   The present disclosure relates to an information processing method and a program for causing a computer to execute the information processing method.

非特許文献1では、手オブジェクトでブロックオブジェクトを掴むことで、キャラクタオブジェクト(クマのキャラクタ)が走るための仮想道を作成するVRゲームが開示されている。このVRゲームでは、手オブジェクトの操作により、キャラクタオブジェクトが走る仮想道を作成した後に、手オブジェクトがボタンオブジェクト(対象オブジェクトの一例)を押すことで、キャラクタオブジェクトが仮想道を走り出す。   Non-Patent Document 1 discloses a VR game in which a virtual object for running a character object (bear character) is created by grasping a block object with a hand object. In this VR game, after the virtual object on which the character object runs is created by the operation of the hand object, the character object starts running on the virtual road when the hand object presses a button object (an example of a target object).

”VR 「Fly to KUMA MARKER」Trailer”, [online]、平成28年8月10日、COLOPL CHANNEL、[平成28年12月19日検索]、インターネット< 1484704159050_0>"VR" Fly to KUMA MARKER "Trailer", [online], August 10, 2016, COLOPL CHANNEL, [search December 19, 2016], Internet <1484704159050_0>

ところで、非特許文献1に開示されたVRゲームでは、手オブジェクトの操作中において、手オブジェクトがボタンオブジェクトに意図せずに接触することで(より詳細には、手オブジェクトのコリジョンエリアがボタンオブジェクトのコリジョンエリアに意図せずに接触することで)、ボタンオブジェクトが意図せずに手オブジェクトによって押されてしまう状況が考えられる。この場合、仮想道が完成する前にキャラクタオブジェクトが走り出してしまう。このように、仮想空間内において手オブジェクトを操作する場合、手オブジェクトが対象オブジェクトに意図せずに接触することで、手オブジェクトと対象オブジェクトとの間のコリジョン効果が意図せずに発生する状況が考えられる。ここで、仮想空間とは、VR(Virtual Reality)空間、AR(Augmented Reality)空間およびMR(Mixed Reality)空間を含む。また、手オブジェクトと対象オブジェクトとの間のコリジョン効果とは、手オブジェクトと対象オブジェクトとの間のコリジョン(衝突)に起因して手オブジェクトが対象オブジェクトに与える影響を規定する効果である。   By the way, in the VR game disclosed in Non-Patent Document 1, the hand object unintentionally touches the button object during the operation of the hand object (more specifically, the collision area of the hand object is the button object A situation where the button object is unintentionally pressed by the hand object by unintentionally touching the collision area) is conceivable. In this case, the character object starts running before the virtual path is completed. As described above, when operating the hand object in the virtual space, a situation in which the collision effect between the hand object and the target object is generated unintentionally due to the hand object touching the target object unintentionally Conceivable. Here, the virtual space includes a VR (Virtual Reality) space, an AR (Augmented Reality) space, and an MR (Mixed Reality) space. The collision effect between the hand object and the target object is an effect that defines the influence of the hand object on the target object due to the collision (collision) between the hand object and the target object.

本開示は、仮想オブジェクトに対するユーザの体験(以下、「ユーザの仮想体験」という。)をさらに改善させることが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することを目的とする。   The present disclosure provides an information processing method capable of further improving a user's experience with a virtual object (hereinafter referred to as “user's virtual experience”) and a program for causing a computer to realize the information processing method. With the goal.

本開示が示す一態様によれば、ヘッドマウントデバイスと、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサとを備えたシステムにおけるコンピュータにより実行される情報処理方法が提供される。
前記情報処理方法は、
(a)仮想カメラと、操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
(b)前記ヘッドマウントデバイスの位置及び傾きに基づいて、前記仮想カメラの視野を特定するステップと、
(c)前記仮想カメラの視野と前記仮想空間データに基づいて、前記ヘッドマウントデバイスに視野画像を表示させるステップと、
(d)前記ユーザの身体の一部の位置に基づいて、前記操作オブジェクトの位置を特定するステップと、を含み、
前記操作オブジェクトのコリジョンエリアが前記対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに所定の影響を与えない。
According to one aspect the present disclosure shows, a system comprising a head mount device and a position sensor configured to detect the position of the head mount device and a portion of a body other than the head of the user. An information processing method performed by a computer is provided.
The information processing method is
(A) generating virtual space data defining a virtual space including a virtual camera, an operation object, and a target object;
(B) identifying the field of view of the virtual camera based on the position and tilt of the head mount device;
(C) displaying a view image on the head mounted device based on the view of the virtual camera and the virtual space data;
(D) specifying the position of the operation object based on the position of the body part of the user;
If it is determined that the predetermined condition for determining whether the collision area of the operation object intentionally contacts the collision area of the target object is not satisfied, the operation object exerts a predetermined influence on the target object. I will not give.

本開示によれば、ユーザの仮想体験をさらに改善させることが可能な情報処理方法を提供することができる。また、当該情報処理方法をコンピュータに実現させるためのプログラムを提供することができる。   According to the present disclosure, it is possible to provide an information processing method capable of further improving the virtual experience of the user. Further, a program for causing a computer to realize the information processing method can be provided.

ヘッドマウントデバイス(Head Mounted Device:HMD)システムを示す概略図である。1 is a schematic view showing a head mounted device (HMD) system. HMDを装着したユーザの頭部を示す図である。It is a figure showing a user's head equipped with HMD. 制御装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a control apparatus. 外部コントローラの具体的な構成の一例を示す図である。It is a figure which shows an example of a concrete structure of an external controller. 視野画像をHMDに表示する処理を示すフローチャートである。It is a flowchart which shows the process which displays a visual field image on HMD. 仮想空間の一例を示すxyz空間図である。It is a xyz space figure which shows an example of virtual space. 状態(a)は、図6に示す仮想空間のyx平面図である。状態(b)は、図6に示す仮想空間のzx平面図である。The state (a) is a yx plan view of the virtual space shown in FIG. The state (b) is a zx plan view of the virtual space shown in FIG. HMDに表示された視野画像の一例を示す図である。It is a figure which shows an example of the visual field image displayed on HMD. 状態(a)は、HMDと外部コントローラを装着したユーザが存在する現実空間を示す図である。状態(b)は、仮想カメラと、右手オブジェクトと、左手オブジェクトと、ブロックオブジェクトと、ボタンオブジェクトを含む仮想空間を示す図である。State (a) is a diagram showing a real space in which a user wearing the HMD and the external controller exists. State (b) is a diagram showing a virtual space including a virtual camera, a right hand object, a left hand object, a block object, and a button object. 右手オブジェクトのコリジョンエリアがボタンオブジェクトの操作部に接触している様子を示す仮想空間の平面図である。It is a top view of virtual space which shows a mode that the collision area of the right-hand object is contacting the operation part of a button object. 本発明の第1実施形態(以下、単に第1実施形態という。)に係る情報処理方法を説明するためのフローチャートである。It is a flowchart for demonstrating the information processing method which concerns on 1st Embodiment (Hereafter, it is only called 1st Embodiment.) Of this invention. 第1実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。It is a flowchart for demonstrating the information processing method which concerns on the modification of 1st Embodiment. 本発明の第2実施形態(以下、単に第2実施形態という。)に係る情報処理方法を説明するためのフローチャートである。It is a flowchart for demonstrating the information processing method which concerns on 2nd Embodiment of this invention (it is only hereafter called 2nd Embodiment). 右手オブジェクトとボタンオブジェクトが仮想カメラの視野外に存在する様子を示す仮想空間の平面図である。FIG. 10 is a plan view of a virtual space showing how a right hand object and a button object exist outside the field of view of the virtual camera. 第2実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。It is a flowchart for demonstrating the information processing method which concerns on the modification of 2nd Embodiment. 本発明の第3実施形態(以下、単に第3実施形態という。)に係る情報処理方法を説明するためのフローチャートである。It is a flowchart for demonstrating the information processing method which concerns on 3rd Embodiment (only henceforth 3rd Embodiment) of this invention.

[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)ヘッドマウントデバイスと、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサとを備えたシステムにおけるコンピュータにより実行される情報処理方法であって、
(a)仮想カメラと、操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
(b)前記ヘッドマウントデバイスの位置及び傾きに基づいて、前記仮想カメラの視野を特定するステップと、
(c)前記仮想カメラの視野と前記仮想空間データに基づいて、前記ヘッドマウントデバイスに視野画像を表示させるステップと、
(d)前記ユーザの身体の一部の位置に基づいて、前記操作オブジェクトの位置を特定するステップと、を含み、
前記操作オブジェクトのコリジョンエリアが前記対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに所定の影響を与えない、情報処理方法。
[Description of Embodiments Presented by Present Disclosure]
An outline of an embodiment indicated by the present disclosure will be described.
(1) Information processing performed by a computer in a system comprising a head mount device, and a position sensor configured to detect the position of the head mount device and the position of a part of the body other than the head of the user Method,
(A) generating virtual space data defining a virtual space including a virtual camera, an operation object, and a target object;
(B) identifying the field of view of the virtual camera based on the position and tilt of the head mount device;
(C) displaying a view image on the head mounted device based on the view of the virtual camera and the virtual space data;
(D) specifying the position of the operation object based on the position of the body part of the user;
If it is determined that the predetermined condition for determining whether the collision area of the operation object intentionally contacts the collision area of the target object is not satisfied, the operation object exerts a predetermined influence on the target object. Do not give, information processing method.

上記方法によれば、操作オブジェクトのコリジョンエリアが対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、操作オブジェクトが意図せずに対象オブジェクトに接触したと判定される場合には、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。例えば、手オブジェクト(操作オブジェクトの一例)がボタンオブジェクト(対象オブジェクトの一例)に意図せずに接触した場合、ボタンオブジェクトが手オブジェクトによって意図せずに押されてしまうといった状況が回避される。従って、ユーザの仮想体験をさらに改善することが可能な情報処理方法を提供することができる。   According to the above method, when it is determined that the predetermined condition for determining whether the collision area of the operation object intentionally contacts the collision area of the target object is not satisfied, the operation object is a predetermined target object. Not affect. Thus, when it is determined that the operation object has unintentionally touched the target object, no collision effect occurs between the operation object and the target object. For example, when a hand object (an example of an operation object) touches a button object (an example of a target object) without intention, a situation where the button object is unintentionally pressed by the hand object is avoided. Therefore, it is possible to provide an information processing method capable of further improving the virtual experience of the user.

(2)(e)前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記所定の条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることである、項目(1)に記載の情報処理方法。
(2) (e) further comprising the step of identifying an absolute velocity of the head mounted device;
The information processing method according to Item (1), wherein the predetermined condition is that an absolute velocity of the head mount device is equal to or less than a predetermined value.

上記方法によれば、ヘッドマウントデバイス(HMD)の絶対速度が所定の値以下ではない(つまり、HMDの絶対速度が所定の値より大きい)と判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、HMDの絶対速度が所定の値よりも大きい状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。   According to the above method, when it is determined that the absolute velocity of the head mount device (HMD) is not less than or equal to the predetermined value (that is, the absolute velocity of the HMD is greater than the predetermined value), the operation object is designated as the target object. Not affect. As described above, when the operation object contacts the target object in a state where the absolute velocity of the HMD is larger than a predetermined value, it is determined that the operation object unintentionally contacts the target object, and the operation object and the target object There is no collision effect between

(3)前記所定の条件は、第1条件と第2条件とを含み、
前記第1条件は、前記ヘッドマウントデバイスに関連した条件であり、
前記第2条件は、前記第1条件とは異なる条件であり、
前記第1条件及び前記第2条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに前記所定の影響を与えない、項目(1)又は(2)に記載の情報処理方法。
(3) The predetermined condition includes a first condition and a second condition,
The first condition is a condition associated with the head mount device,
The second condition is a condition different from the first condition,
The information processing method according to Item (1) or (2), wherein the operation object does not exert the predetermined influence on the target object when it is determined that the first condition and the second condition are not satisfied.

上記方法によれば、操作オブジェクトのコリジョンエリアが対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための第1条件及び第2条件が満たされないと判定された場合、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、互いに異なる2つの判定条件を用いることで操作オブジェクトが意図せずに対象オブジェクトに接触したかどうかをより確実に判定することができる。   According to the above method, when it is determined that the first condition and the second condition for determining whether the collision area of the operation object intentionally contacts the collision area of the target object are not satisfied, the operation object is an object. It does not have a predetermined effect on the object. As described above, it is possible to more reliably determine whether the operation object has unintentionally touched the target object by using two different determination conditions.

(4)(e)前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第1条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第2条件は、前記操作オブジェクトが前記仮想カメラの視野内に存在することである、項目(3)に記載の情報処理方法。
(4) (e) further comprising the step of identifying an absolute velocity of the head mounted device;
The first condition is that the absolute velocity of the head mount device is equal to or less than a predetermined value, and
The information processing method according to Item (3), wherein the second condition is that the operation object is present in the field of view of the virtual camera.

上記方法によれば、ヘッドマウントデバイス(HMD)の絶対速度が所定の値以下ではない(つまり、HMDの絶対速度が所定の値より大きい)と判定されると共に、操作オブジェクトが仮想カメラの視野内に存在しないと判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、HMDの絶対速度が所定の値よりも大きく、且つ操作オブジェクトが仮想カメラの視野内に存在しない状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。   According to the above method, it is determined that the absolute velocity of the head mounted device (HMD) is not less than or equal to the predetermined value (that is, the absolute velocity of the HMD is greater than the predetermined value), and the operation object is within the field of view of the virtual camera. If it is determined that the object does not exist, the operation object does not have a predetermined influence on the target object. As described above, when the operation object contacts the target object in a state where the absolute velocity of the HMD is larger than a predetermined value and the operation object is not in the field of view of the virtual camera, the operation object is unintentionally targeted It is determined that an object has been touched, and no collision effect occurs between the operation object and the target object.

(5)(e)前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第1条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第2条件は、前記操作オブジェクトと前記対象オブジェクトのうちの少なくとも一つが前記仮想カメラの視野内に存在することである、項目(3)に記載の情報処理方法。
(5) (e) further comprising the step of identifying an absolute velocity of the head mounted device;
The first condition is that the absolute velocity of the head mount device is equal to or less than a predetermined value, and
The information processing method according to Item (3), wherein the second condition is that at least one of the operation object and the target object is present in the field of view of the virtual camera.

上記方法によれば、ヘッドマウントデバイス(HMD)の絶対速度が所定の値以下ではない(つまり、HMDの絶対速度が所定の値より大きい)と判定されると共に、操作オブジェクトと対象オブジェクトの両方が仮想カメラの視野内に存在しないと判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、HMDの絶対速度が所定の値よりも大きく、且つ操作オブジェクトと対象オブジェクトの両方が仮想カメラの視野内に存在しない状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。   According to the above method, it is determined that the absolute velocity of the head mounted device (HMD) is not less than the predetermined value (that is, the absolute velocity of the HMD is larger than the predetermined value), and both the operation object and the target object are If it is determined that the object does not exist in the field of view of the virtual camera, the operation object does not have a predetermined influence on the target object. As described above, when the operation object contacts the target object in a state where the absolute velocity of the HMD is larger than a predetermined value and both the operation object and the target object do not exist in the field of view of the virtual camera, the operation object is It is determined that the target object is touched unintentionally, and no collision effect occurs between the operation object and the target object.

(6)(e)前記ヘッドマウントデバイスの絶対速度を特定するステップと、
(f)前記ヘッドマウントデバイスに対する前記ユーザの前記身体の一部の相対速度を特定するステップと、をさらに含み、
前記第1条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第2条件は、前記相対速度が所定の値よりも大きいことである、項目(3)に記載の情報処理方法。
(6) (e) specifying an absolute velocity of the head mount device;
(F) determining the relative velocity of the portion of the body of the user relative to the head mounted device.
The first condition is that the absolute velocity of the head mount device is equal to or less than a predetermined value, and
The information processing method according to Item (3), wherein the second condition is that the relative velocity is larger than a predetermined value.

上記方法によれば、ヘッドマウントデバイス(HMD)の絶対速度が所定の値以下ではない(つまり、HMDの絶対速度が所定の値より大きい)と判定されると共に、HMDに対するユーザの身体の一部の相対速度が所定の値よりも大きくない(つまり、HMDに対するユーザの身体の一部の相対速度が所定の値以下である)と判定された場合に、操作オブジェクトは対象オブジェクトに所定の影響を与えない。このように、HMDの絶対速度が所定の値よりも大きく、且つユーザの身体の一部の相対速度が所定の値以下である状態で操作オブジェクトが対象オブジェクトに接触した場合には、操作オブジェクトは意図せずに対象オブジェクトに接触したと判定され、操作オブジェクトと対象オブジェクトとの間のコリジョン効果は生じない。   According to the above method, it is determined that the absolute velocity of the head mounted device (HMD) is not less than the predetermined value (that is, the absolute velocity of the HMD is larger than the predetermined value), and a part of the user's body for the HMD If it is determined that the relative velocity of the object is not greater than the predetermined value (that is, the relative velocity of the part of the user's body relative to the HMD is less than or equal to the predetermined value), the operation object has a predetermined effect on the target object. I will not give. As described above, when the operation object contacts the target object in a state where the absolute velocity of the HMD is larger than a predetermined value and the relative velocity of a part of the user's body is equal to or less than the predetermined value, the operation object is It is determined that the target object is touched unintentionally, and no collision effect occurs between the operation object and the target object.

(7)項目(1)から(6)のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。   (7) A program for causing a computer to execute the information processing method according to any one of items (1) to (6).

上記プログラムによれば、ユーザの仮想体験をさらに改善させることができる。   According to the above program, the virtual experience of the user can be further improved.

[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
[Details of Embodiment Presented by Present Disclosure]
Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In addition, about the member which has the same reference number as the member already demonstrated in description of this embodiment, the description is not repeated for convenience of explanation.

最初に、図1を参照してヘッドマウントデバイス(HMD)システム1の構成について説明する。図1は、HMDシステム1を示す概略図である。図1に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、位置センサ130と、外部コントローラ320と、制御装置120とを備える。   First, the configuration of a head mounted device (HMD) system 1 will be described with reference to FIG. FIG. 1 is a schematic view showing an HMD system 1. As shown in FIG. 1, the HMD system 1 includes an HMD 110 mounted on the head of the user U, a position sensor 130, an external controller 320, and a control device 120.

HMD110は、表示部112と、HMDセンサ114と、注視センサ140とを備えている。表示部112は、HMD110を装着したユーザUの視界(視野)を完全に覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。尚、表示部112は、ユーザUの左目に画像を提供するように構成された左目用表示部とユーザUの右目に画像を提供するように構成された右目用表示部から構成されてもよい。また、HMD110は、透過型の表示装置を備えてもよい。この場合、透過型の表示装置は、その透過率を調整することで、一時的に非透過型の表示装置として構成されてもよい。   The HMD 110 includes a display unit 112, an HMD sensor 114, and a gaze sensor 140. The display unit 112 includes a non-transmissive display device configured to completely cover the field of view (field of view) of the user U wearing the HMD 110. Accordingly, the user U can immerse in the virtual space by viewing only the view image displayed on the display unit 112. The display unit 112 may be configured of a display unit for the left eye configured to provide an image to the left eye of the user U, and a display unit for the right eye configured to provide an image to the right eye of the user U . The HMD 110 may also include a transmissive display device. In this case, the transmissive display device may be temporarily configured as a non-transmissive display device by adjusting the transmittance thereof.

HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。   The HMD sensor 114 is mounted near the display unit 112 of the HMD 110. The HMD sensor 114 includes at least one of a geomagnetic sensor, an acceleration sensor, and a tilt sensor (such as an angular velocity sensor or a gyro sensor), and can detect various movements of the HMD 110 mounted on the head of the user U.

注視センサ140は、ユーザUの視線を検出するアイトラッキング機能を有する。注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。   The gaze sensor 140 has an eye tracking function of detecting the line of sight of the user U. The gaze sensor 140 may include, for example, a right eye gaze sensor and a left eye gaze sensor. The right eye gaze sensor emits infrared light, for example, to the right eye of the user U, and detects reflected light reflected from the right eye (in particular, the cornea and the iris) to obtain information on the rotation angle of the right eye You may On the other hand, the gaze sensor for the left eye irradiates, for example, infrared light to the left eye of the user U, and detects the reflected light reflected from the left eye (in particular, the cornea and the iris). You may get

位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた図示しない複数の検知点304(図4参照)の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。   The position sensor 130 is configured by, for example, a position tracking camera, and is configured to detect the position of the HMD 110 and the external controller 320. The position sensor 130 is communicably connected to the control device 120 wirelessly or by wire, and is configured to detect information on the position, inclination or light emission intensity of a plurality of detection points (not shown) provided on the HMD 110. . Furthermore, the position sensor 130 is configured to detect information on the position, the inclination, and / or the light emission intensity of a plurality of detection points 304 (see FIG. 4) (not shown) provided in the external controller 320. The detection point is, for example, a light emitting unit that emits infrared light or visible light. The position sensor 130 may also include an infrared sensor and a plurality of optical cameras.

外部コントローラ320は、ユーザUの身体の一部(頭部以外の部位であり、本実施形態においてはユーザUの手)の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ320は、ユーザUの右手によって操作される右手用外部コントローラ320R(以下、単にコントローラ320Rという。)と、ユーザUの左手によって操作される左手用外部コントローラ320L(以下、単にコントローラ320Lという。)と、を有する。コントローラ320Rは、ユーザUの右手の位置や右手の手指の動きを示す装置である。また、コントローラ320Rの動きに応じて仮想空間内に存在する右手オブジェクト400R(図9参照)が移動する。コントローラ320Lは、ユーザUの左手の位置や左手の手指の動きを示す装置である。また、コントローラ320Lの動きに応じて仮想空間内に存在する左手オブジェクト400L(図9参照)が移動する。   The external controller 320 detects the movement of a part of the user U's body (a part other than the head, and in this embodiment, the user U's hand) to detect the movement of the hand object displayed in the virtual space. Used to control the The external controller 320 is an external controller 320R for the right operated by the user U's right hand (hereinafter simply referred to as the controller 320R) and an external controller 320L for the left hand operated by the left hand of the user U (hereinafter referred to simply as the controller 320L). And. The controller 320R is a device that indicates the position of the user U's right hand and the movement of the right hand's finger. Further, the right hand object 400R (see FIG. 9) existing in the virtual space moves in accordance with the movement of the controller 320R. The controller 320L is a device that indicates the position of the user U's left hand and the movement of fingers of the left hand. Further, in accordance with the movement of the controller 320L, the left hand object 400L (see FIG. 9) existing in the virtual space is moved.

制御装置120は、HMD110を制御するように構成されたコンピュータである。制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を特定し、当該特定された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。さらに、制御装置120は、位置センサ130から取得された情報に基づいて、外部コントローラ320の動作を特定し、当該特定された外部コントローラ320の動作に基づいて、仮想空間内に表示される手オブジェクトの動作と現実空間における外部コントローラ320の動作を正確に対応付けることができる。特に、制御装置120は、位置センサ130から取得された情報に基づいて、コントローラ320L(コントローラ320R)の動作を特定し、当該特定されたコントローラ320L(コントローラ320R)の動作に基づいて、仮想空間内に表示される左手オブジェクト400L(右手オブジェクト400R)の動作と現実空間におけるコントローラ320L(コントローラ320R)の動作を正確に対応付けることができる。   Control device 120 is a computer configured to control HMD 110. The control device 120 specifies the position information of the HMD 110 based on the information acquired from the position sensor 130, and mounts the position of the virtual camera in the virtual space and the HMD 110 in the real space based on the specified position information. It is possible to accurately associate the position of the user U who has made the Furthermore, the control device 120 specifies the operation of the external controller 320 based on the information acquired from the position sensor 130, and the hand object displayed in the virtual space based on the operation of the specified external controller 320. And the operation of the external controller 320 in the real space can be accurately correlated. In particular, the controller 120 specifies the operation of the controller 320L (controller 320R) based on the information acquired from the position sensor 130, and based on the operation of the specified controller 320L (controller 320R), in the virtual space. The operation of the left-hand object 400L (right-hand object 400R) displayed on the and the operation of the controller 320L (controller 320R) in the real space can be accurately correlated.

また、制御装置120は、注視センサ140(左目用注視センサと右目用注視センサ)から送信された情報に基づいて、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの両目の視線(ユーザUの視線)を特定することができる。ここで、ユーザUの視線は、ユーザUの両目の視線であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。   Further, the control device 120 identifies the line of sight of the right eye and the line of sight of the right eye of the user U based on the information transmitted from the gaze sensor 140 (the gaze sensor for left eye and the gaze sensor for right eye). A fixation point that is an intersection of the left eye's line of sight can be identified. Furthermore, the control device 120 can specify the line of sight of the user U (the line of sight of the user U) based on the specified fixation point. Here, the line of sight of the user U is the line of sight of the user U, and coincides with the direction of a straight line passing through the midpoint of the line connecting the right eye and the left eye of the user U and the gaze point.

次に、図2を参照して、HMD110の位置や傾きに関する情報を取得する方法について説明する。図2は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や傾きに関する情報は、位置センサ130及び/又はHMD110に搭載されたHMDセンサ114により検出可能である。図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交しHMD110の中心を通る方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130及び/又はHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。   Next, with reference to FIG. 2, a method of acquiring information on the position and tilt of the HMD 110 will be described. FIG. 2 is a view showing the head of the user U wearing the HMD 110. As shown in FIG. Information on the position and tilt of the HMD 110 interlocked with the movement of the head of the user U wearing the HMD 110 can be detected by the position sensor 130 and / or the HMD sensor 114 mounted on the HMD 110. As shown in FIG. 2, three-dimensional coordinates (uvw coordinates) are defined around the head of the user U wearing the HMD 110. A vertical direction in which the user U stands is defined as a v-axis, a direction perpendicular to the v-axis and passing through the center of the HMD 110 as a w-axis, and a direction orthogonal to the v-axis and the w-axis as a u-axis. The position sensor 130 and / or the HMD sensor 114 is an angle about each uvw axis (ie, a yaw angle indicating rotation about the v axis, a pitch angle indicating rotation about the u axis, or w axis). The tilt determined by the roll angle indicating rotation is detected. The control device 120 determines angle information for controlling the visual axis of the virtual camera based on the detected angle change around each uvw axis.

次に、図3を参照することで、制御装置120のハードウェア構成について説明する。図3は、制御装置120のハードウェア構成を示す図である。図3に示すように、制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125は、バス126を介して互いに通信可能に接続されている。   Next, the hardware configuration of the control device 120 will be described with reference to FIG. FIG. 3 is a diagram showing a hardware configuration of the control device 120. As shown in FIG. As shown in FIG. 3, the control device 120 includes a control unit 121, a storage unit 123, an I / O (input / output) interface 124, a communication interface 125, and a bus 126. The control unit 121, the storage unit 123, the I / O interface 124, and the communication interface 125 are communicably connected to one another via a bus 126.

制御装置120は、HMD110とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、HMD110に内蔵されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。   The control device 120 may be configured as a personal computer, a tablet or a wearable device separately from the HMD 110, or may be built in the HMD 110. Moreover, while the one part function of the control apparatus 120 is mounted in HMD110, the remaining function of the control apparatus 120 may be mounted in another apparatus separate from HMD110.

制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)及び/又はGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。   The control unit 121 includes a memory and a processor. The memory is configured of, for example, a ROM (Read Only Memory) storing various programs and the like, and a RAM (Random Access Memory) having a plurality of work areas storing various programs and the like executed by the processor. The processor is, for example, a central processing unit (CPU), a micro processing unit (MPU) and / or a graphics processing unit (GPU), and develops a program specified from various programs incorporated in the ROM on the RAM. The system is configured to execute various processes in cooperation with the

特に、プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるためのプログラム(後述する)をRAM上に展開し、RAMとの協働で当該プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、メモリや記憶部123に格納された所定のアプリケーションプログラム(ゲームプログラム)を実行することで、HMD110の表示部112に仮想空間(視野画像)を表示する。これにより、ユーザUは、表示部112に表示された仮想空間に没入することができる。   In particular, the control unit 121 develops a program (described later) for causing the computer to execute the information processing method according to the present embodiment on the RAM and executes the program in cooperation with the RAM. Various operations of the control device 120 may be controlled. The control unit 121 displays a virtual space (view image) on the display unit 112 of the HMD 110 by executing a predetermined application program (game program) stored in the memory or the storage unit 123. Thus, the user U can immerse in the virtual space displayed on the display unit 112.

記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザUの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。   The storage unit (storage) 123 is, for example, a storage device such as a hard disk drive (HDD), a solid state drive (SSD), or a USB flash memory, and is configured to store programs and various data. The storage unit 123 may store a program that causes a computer to execute the information processing method according to the present embodiment. In addition, an authentication program of the user U, a game program including data regarding various images and objects, and the like may be stored. Furthermore, in the storage unit 123, a database including a table for managing various data may be constructed.

I/Oインターフェース124は、位置センサ130と、HMD110と、外部コントローラ320とをそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。尚、制御装置120は、位置センサ130と、HMD110と、外部コントローラ320とのそれぞれと無線接続されていてもよい。   The I / O interface 124 is configured to communicably connect the position sensor 130, the HMD 110, and the external controller 320 to the control device 120. For example, a USB (Universal Serial Bus) terminal, DVI (Digital) It comprises a Visual Interface) terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) terminal and the like. The control device 120 may be wirelessly connected to each of the position sensor 130, the HMD 110, and the external controller 320.

通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介してネットワーク上の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。   The communication interface 125 is configured to connect the control device 120 to a communication network 3 such as a Local Area Network (LAN), a Wide Area Network (WAN), or the Internet. The communication interface 125 includes various wired connection terminals for communicating with an external device on the network via the communication network 3 and various processing circuits for wireless connection, and for communicating via the communication network 3. It is configured to conform to the communication standard.

次に、図4を参照して外部コントローラ320の具体的構成の一例について説明する。コントローラ320Rとコントローラ320Lは略同一の構成を有するので、以下では、図4を参照してコントローラ320Rの具体的構成についてのみ説明する。尚、以降の説明では、便宜上、コントローラ320L,320Rを単に外部コントローラ320と総称する場合がある。   Next, an example of a specific configuration of the external controller 320 will be described with reference to FIG. The controller 320R and the controller 320L have substantially the same configuration, so only the specific configuration of the controller 320R will be described below with reference to FIG. In the following description, the controllers 320L and 320R may be simply referred to as the external controller 320 for convenience.

図4に示すように、コントローラ320Rは、操作ボタン302と、複数の検知点304と、図示しないセンサと、図示しないトランシーバとを備える。検知点304とセンサは、どちらか一方のみが設けられていてもよい。操作ボタン302は、ユーザUからの操作入力を受付けるように構成された複数のボタン群により構成されている。操作ボタン302は、プッシュ式ボタン、トリガー式ボタン及びアナログスティックを含む。プッシュ式ボタンは、親指による押下する動作によって操作されるボタンである。例えば、天面322上に2つのプッシュ式ボタン302a,302bが設けられている。トリガー式ボタンは、人差し指や中指で引き金を引くような動作によって操作されるボタンである。例えば、グリップ324の前面部分にトリガー式ボタン302eが設けられると共に、グリップ324の側面部分にトリガー式ボタン302fが設けられる。トリガー式ボタン302e,302fは、人差し指と中指によってそれぞれ操作される。アナログスティックは、所定のニュートラル位置から360度任意の方向へ傾けて操作されうるスティック型のボタンである。例えば、天面322上にアナログスティック320iが設けられており、親指を用いて操作される。   As shown in FIG. 4, the controller 320R includes an operation button 302, a plurality of sensing points 304, a sensor (not shown), and a transceiver (not shown). Only one of the detection point 304 and the sensor may be provided. The operation button 302 is configured of a plurality of button groups configured to receive an operation input from the user U. The operation button 302 includes a push button, a trigger button, and an analog stick. The push-type button is a button operated by an operation of pressing with the thumb. For example, on the top surface 322, two push-type buttons 302a and 302b are provided. The trigger button is a button operated by an operation such as pulling a trigger with the index finger or the middle finger. For example, the front portion of the grip 324 is provided with a trigger button 302e, and the side portion of the grip 324 is provided with a trigger button 302f. The trigger buttons 302e and 302f are operated by the index finger and the middle finger, respectively. The analog stick is a stick-type button that can be operated by tilting it in any direction 360 degrees from a predetermined neutral position. For example, an analog stick 320i is provided on the top surface 322, and is operated using a thumb.

コントローラ320Rは、グリップ324の両側面から天面322とは反対側の方向へ延びて半円状のリングを形成するフレーム326を備える。フレーム326の外側面には、複数の検知点304が埋め込まれている。複数の検知点304は、例えば、フレーム326の円周方向に沿って一列に並んだ複数の赤外線LEDである。位置センサ130は、複数の検知点304の位置、傾き又は発光強度に関する情報を検出した後に、制御装置120は、位置センサ130によって検出された情報に基づいて、コントローラ320Rの位置や姿勢(傾き・向き)に関する情報を取得する。   The controller 320R includes a frame 326 extending from both sides of the grip 324 in the direction opposite to the top surface 322 to form a semicircular ring. A plurality of sensing points 304 are embedded in the outer surface of the frame 326. The plurality of detection points 304 are, for example, a plurality of infrared LEDs aligned in a row along the circumferential direction of the frame 326. After the position sensor 130 detects information on the positions, inclinations, or light emission intensities of the plurality of detection points 304, the control device 120 detects the position or attitude of the controller 320R based on the information detected by the position sensor 130. Get information on

コントローラ320Rのセンサは、例えば、磁気センサ、角速度センサ、若しくは加速度センサのいずれか、又はこれらの組み合わせであってもよい。センサは、ユーザUがコントローラ320Rを動かしたときに、コントローラ320Rの向きや位置に応じた信号(例えば、磁気、角速度、又は加速度に関する情報を示す信号)を出力する。制御装置120は、センサから出力された信号に基づいて、コントローラ320Rの位置や姿勢に関する情報を取得する。   The sensor of the controller 320R may be, for example, either a magnetic sensor, an angular velocity sensor, or an acceleration sensor, or a combination thereof. When the user U moves the controller 320R, the sensor outputs a signal (for example, a signal indicating information on magnetism, angular velocity, or acceleration) according to the direction or position of the controller 320R. The control device 120 acquires information on the position and orientation of the controller 320R based on the signal output from the sensor.

コントローラ320Rのトランシーバは、コントローラ320Rと制御装置120との間でデータを送受信するように構成されている。例えば、トランシーバは、ユーザUの操作入力に対応する操作信号を制御装置120に送信してもよい。また、トランシーバは、検知点304の発光をコントローラ320Rに指示する指示信号を制御装置120から受信してもよい。さらに、トランシーバは、センサによって検出された値を示す信号を制御装置120に送信してもよい。   The transceivers of controller 320R are configured to transmit and receive data between controller 320R and controller 120. For example, the transceiver may transmit an operation signal corresponding to the operation input of the user U to the controller 120. The transceiver may also receive an instruction signal from the controller 120 instructing the controller 320R to emit light at the detection point 304. Additionally, the transceiver may transmit a signal to controller 120 indicating the value detected by the sensor.

次に、図5から図8を参照することで視野画像をHMD110に表示するための処理について説明する。図5は、視野画像をHMD110に表示する処理を示すフローチャートである。図6は、仮想空間200の一例を示すxyz空間図である。図7の状態(a)は、図6に示す仮想空間200のyx平面図である。図7の状態(b)は、図6に示す仮想空間200のzx平面図である。図8は、HMD110に表示された視野画像Mの一例を示す図である。   Next, processing for displaying a view image on the HMD 110 will be described with reference to FIGS. 5 to 8. FIG. 5 is a flowchart showing a process of displaying a view image on the HMD 110. FIG. 6 is an xyz space diagram showing an example of the virtual space 200. The state (a) of FIG. 7 is a yx plan view of the virtual space 200 shown in FIG. The state (b) of FIG. 7 is a zx plan view of the virtual space 200 shown in FIG. FIG. 8 is a view showing an example of the view image M displayed on the HMD 110. As shown in FIG.

図5に示すように、ステップS1において、制御部121(図3参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図6に示すように、仮想空間200は、中心位置21を中心とした全天球として規定される(図6では、上半分の天球のみが図示されている)。また、仮想空間200では、中心位置21を原点とするxyz座標系が設定されている。仮想カメラ300は、HMD110に表示される視野画像V(図8参照)を特定するための視軸Lを規定している。仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、制御部121は、HMD110を装着したユーザUの現実空間における移動に応じて、仮想カメラ300を仮想空間200内で移動させてもよい。また、仮想空間200は、例えば、左手オブジェクト400Lと、右手オブジェクト400Rと、ブロックオブジェクト500と、ボタンオブジェクト600を含む(図9参照)。   As shown in FIG. 5, in step S1, the control unit 121 (see FIG. 3) generates virtual space data indicating a virtual space 200 including the virtual camera 300 and various objects. As shown in FIG. 6, the virtual space 200 is defined as an omnidirectional sphere centered on the center position 21 (in FIG. 6, only the upper half celestial sphere is illustrated). Moreover, in the virtual space 200, an xyz coordinate system having the center position 21 as an origin is set. The virtual camera 300 defines a viewing axis L for specifying a view image V (see FIG. 8) displayed on the HMD 110. The uvw coordinate system defining the field of view of the virtual camera 300 is determined to interlock with the uvw coordinate system defined around the head of the user U in the real space. In addition, the control unit 121 may move the virtual camera 300 in the virtual space 200 according to the movement of the user U wearing the HMD 110 in the real space. The virtual space 200 also includes, for example, a left hand object 400L, a right hand object 400R, a block object 500, and a button object 600 (see FIG. 9).

次に、ステップS2において、制御部121は、仮想カメラ300の視野CV(図7参照)を特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の状態を示すデータを取得した上で、当該取得されたデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを特定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸Lを決定し、決定された視軸Lから仮想カメラ300の視野CVを特定する。ここで、仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域に相当する。換言すれば、視野CVは、HMD110に表示される仮想空間200の一部の領域に相当する。また、視野CVは、図7の状態(a)に示すxy平面において、視軸Lを中心とした極角αの角度範囲として設定される第1領域CVaと、図7の状態(b)に示すxz平面において、視軸Lを中心とした方位角βの角度範囲として設定される第2領域CVbとを有する。尚、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、ユーザUの視線方向を特定し、ユーザUの視線方向に基づいて仮想カメラ300の向きを決定してもよい。   Next, in step S2, the control unit 121 specifies the field of view CV (see FIG. 7) of the virtual camera 300. Specifically, the control unit 121 acquires data indicating the state of the HMD 110 transmitted from the position sensor 130 and / or the HMD sensor 114, and then relates to the position and the inclination of the HMD 110 based on the acquired data. Get information. Next, the control unit 121 specifies the position and the orientation of the virtual camera 300 in the virtual space 200 based on the information on the position and the inclination of the HMD 110. Next, the control unit 121 determines the visual axis L of the virtual camera 300 from the position and the orientation of the virtual camera 300, and identifies the visual field CV of the virtual camera 300 from the determined visual axis L. Here, the visual field CV of the virtual camera 300 corresponds to a partial area of the virtual space 200 that can be viewed by the user U wearing the HMD 110. In other words, the visual field CV corresponds to a partial area of the virtual space 200 displayed on the HMD 110. Further, in the xy plane shown in the state (a) of FIG. 7, the visual field CV is a first region CVa set as an angle range of the polar angle α centering on the visual axis L, and the state (b) in FIG. In the xz plane shown, there is a second region CVb set as an angular range of the azimuth angle β centered on the visual axis L. The control unit 121 specifies the line-of-sight direction of the user U based on the data indicating the line-of-sight direction of the user U transmitted from the gaze sensor 140 and determines the direction of the virtual camera 300 based on the line-of-sight direction of the user U You may

このように、制御部121は、位置センサ130及び/又はHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを変化させることができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを変化させることができる。同様に、ユーザUの視線方向が変化すると、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、仮想カメラ300の視野CVを移動させることができる。つまり、制御部121は、ユーザUの視線方向の変化に応じて、視野CVを変化させることができる。   Thus, the control unit 121 can specify the field of view CV of the virtual camera 300 based on the data from the position sensor 130 and / or the HMD sensor 114. Here, when the user U wearing the HMD 110 moves, the control unit 121 changes the visual field CV of the virtual camera 300 based on the data indicating the movement of the HMD 110 transmitted from the position sensor 130 and / or the HMD sensor 114. be able to. That is, the control unit 121 can change the visual field CV according to the movement of the HMD 110. Similarly, when the gaze direction of the user U changes, the control unit 121 can move the field of view CV of the virtual camera 300 based on the data indicating the gaze direction of the user U transmitted from the gaze sensor 140. That is, the control unit 121 can change the visual field CV in accordance with the change in the line-of-sight direction of the user U.

次に、ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像Vを示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。   Next, in step S3, the control unit 121 generates view image data indicating the view image V displayed on the display unit 112 of the HMD 110. Specifically, the control unit 121 generates view image data based on virtual space data defining the virtual space 200 and the view CV of the virtual camera 300.

次に、ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像Vを表示する(図7参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが更新され、HMD110の表示部112に表示される視野画像Vが更新されるので、ユーザUは仮想空間200に没入することができる。   Next, in step S4, the control unit 121 displays the view image V on the display unit 112 of the HMD 110 based on the view image data (see FIG. 7). Thus, according to the movement of the user U wearing the HMD 110, the visual field CV of the virtual camera 300 is updated, and the visual field image V displayed on the display unit 112 of the HMD 110 is updated. The space 200 can be immersed.

尚、仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データに基づいて、左目用表示部に左目用の視野画像を表示すると共に、右目用視野画像データに基づいて、右目用表示部に右目用の視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像との間の視差により、視野画像を3次元的に視認することができる。   The virtual camera 300 may include a left-eye virtual camera and a right-eye virtual camera. In this case, the control unit 121 generates left-eye view image data indicating a left-eye view image based on the virtual space data and the view of the left-eye virtual camera. Further, the control unit 121 generates right-eye view image data indicating a right-eye view image based on the virtual space data and the view of the right-eye virtual camera. Thereafter, the control unit 121 displays the left-eye view image on the left-eye display unit based on the left-eye view image data, and the right-eye view image on the right-eye display unit based on the right-eye view image data. Display In this manner, the user U can visually recognize the view image three-dimensionally by the parallax between the left-eye view image and the right-eye view image.

また、図5に示すステップS1〜S4の処理は1フレーム(動画を構成する静止画像)毎に実行されてもよい。例えば、動画のフレームレートが90fpsである場合、ステップS1〜S4の処理はΔT=1/90(秒)間隔で繰り返し実行されてもよい。このように、ステップS1〜S4の処理が所定間隔ごとに繰り返し実行されるため、HMD110の動作に応じて仮想カメラ300の視野が更新されると共に、HMD110の表示部112に表示される視野画像Vが更新される。   Further, the processing of steps S1 to S4 shown in FIG. 5 may be executed for each frame (still images constituting a moving image). For example, when the frame rate of a moving image is 90 fps, the processes of steps S1 to S4 may be repeatedly performed at an interval of ΔT = 1/90 (seconds). As described above, since the processes of steps S1 to S4 are repeatedly executed at predetermined intervals, the visual field V of the virtual camera 300 is updated according to the operation of the HMD 110, and the visual field image V displayed on the display unit 112 of the HMD 110. Is updated.

次に、仮想空間200に含まれる左手オブジェクト400L(操作オブジェクトの一例)、右手オブジェクト400R(操作オブジェクトの一例)、ブロックオブジェクト500(仮想オブジェクト)及びボタンオブジェクト600(仮想オブジェクトである対象オブジェクトの一例)について図9を参照して説明する。図9の状態(a)は、HMD110とコントローラ320L,320Rを装着したユーザUを示す図である。図9の状態(b)は、仮想カメラ300と、左手オブジェクト400Lと、右手オブジェクト400Rと、ブロックオブジェクト500と、ボタンオブジェクト600とを含む仮想空間200を示す図である。   Next, a left hand object 400L (an example of an operation object), a right hand object 400R (an example of an operation object), a block object 500 (a virtual object), and a button object 600 (an example of a target object which is a virtual object) included in the virtual space 200 Will be described with reference to FIG. The state (a) of FIG. 9 is a figure which shows the user U who mounted HMD110 and controller 320L, 320R. State (b) of FIG. 9 is a diagram showing a virtual space 200 including a virtual camera 300, a left hand object 400L, a right hand object 400R, a block object 500, and a button object 600.

上記したように、仮想空間200は、仮想カメラ300と、左手オブジェクト400Lと、右手オブジェクト400Rと、ブロックオブジェクト500と、ボタンオブジェクト600とを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成する。また、制御部121は、1フレーム毎に仮想空間データを更新してもよい。上記したように、仮想カメラ300は、ユーザUが装着しているHMD110の動きに連動する。つまり、仮想カメラ300の視野は、HMD110の動きに応じて更新される。   As described above, the virtual space 200 includes the virtual camera 300, the left hand object 400L, the right hand object 400R, the block object 500, and the button object 600. The control unit 121 generates virtual space data that defines a virtual space 200 including these objects. Further, the control unit 121 may update virtual space data for each frame. As described above, the virtual camera 300 interlocks with the movement of the HMD 110 worn by the user U. That is, the field of view of the virtual camera 300 is updated according to the movement of the HMD 110.

左手オブジェクト400Lは、ユーザUの左手に装着されるコントローラ320Lの動きに連動する。同様に、右手オブジェクト400Rは、ユーザUの右手に装着されるコントローラ320Rの動きに連動する。尚、以降では、説明の便宜上、左手オブジェクト400Lと右手オブジェクト400Rを単に手オブジェクト400と総称する場合がある。   The left hand object 400L interlocks with the movement of the controller 320L attached to the left hand of the user U. Similarly, the right hand object 400R interlocks with the movement of the controller 320R attached to the right hand of the user U. In the following, for convenience of explanation, the left hand object 400L and the right hand object 400R may be simply referred to as a hand object 400.

また、ユーザUが外部コントローラ320の操作ボタン302を操作することで、手オブジェクト400の各手指を操作することが可能となる。つまり、制御部121は、操作ボタン302に対する入力操作に対応する操作信号を外部コントローラ320から取得した上で、当該操作信号に基づいて、手オブジェクト400の手指の動作を制御する。例えば、ユーザUが操作ボタン302を操作することで手オブジェクト400はブロックオブジェクト500を掴むことができる。さらに、手オブジェクト400がブロックオブジェクト500を掴んだ状態で、コントローラ320の移動に応じて、手オブジェクト400とブロックブジェクト500を移動させることが可能となる。このように、制御部121は、ユーザUの手指の動きに応じて、手オブジェクト400の動作を制御するように構成されている。   Also, when the user U operates the operation button 302 of the external controller 320, it becomes possible to operate each finger of the hand object 400. That is, the control unit 121 acquires the operation signal corresponding to the input operation on the operation button 302 from the external controller 320, and then controls the operation of the finger of the hand object 400 based on the operation signal. For example, when the user U operates the operation button 302, the hand object 400 can grasp the block object 500. Furthermore, with the hand object 400 gripping the block object 500, it is possible to move the hand object 400 and the block object 500 in accordance with the movement of the controller 320. Thus, the control unit 121 is configured to control the operation of the hand object 400 in accordance with the movement of the finger of the user U.

また、左手オブジェクト400Lと右手オブジェクト400Rは、それぞれコリジョンエリアCAを有する。コリジョンエリアCAは、手オブジェクト400と仮想オブジェクト(例えば、ブロックオブジェクト500やボタンオブジェクト600)とのコリジョン判定(当たり判定)に供される。手オブジェクト400のコリジョンエリアCAとブロックオブジェクト500(ボタンオブジェクト600)のコリジョンエリアとが接触することで、ブロックオブジェクト500(ボタンオブジェクト600)に所定の影響(コリジョン効果)が与えられる。   The left hand object 400L and the right hand object 400R each have a collision area CA. The collision area CA is used for collision determination (collision determination) between the hand object 400 and a virtual object (for example, the block object 500 or the button object 600). When the collision area CA of the hand object 400 and the collision area of the block object 500 (button object 600) contact, a predetermined influence (collision effect) is given to the block object 500 (button object 600).

例えば、手オブジェクト400のコリジョンエリアCAとブロックオブジェクト500のコリジョンエリアとが接触することで、ブロックオブジェクト500に所定のダメージを与えることができる。また、手オブジェクト400がブロックオブジェクト500を掴んだ状態で手オブジェクト400とブロックオブジェクト500を一体的に移動させることができる。   For example, when the collision area CA of the hand object 400 and the collision area of the block object 500 are in contact with each other, predetermined damage can be given to the block object 500. Further, the hand object 400 and the block object 500 can be moved integrally while the hand object 400 holds the block object 500.

図9に示すように、コリジョンエリアCAは、例えば、手オブジェクト400の中心位置を中心とした直径Rを有する球により規定されてもよい。以下の説明では、手オブジェクト400のコリジョンエリアCAは、手オブジェクト400の中心位置を中心とした直径Rの球状に形成されているものとする。   As shown in FIG. 9, the collision area CA may be defined by, for example, a sphere having a diameter R centered on the center position of the hand object 400. In the following description, it is assumed that the collision area CA of the hand object 400 is formed in a spherical shape with a diameter R centered on the center position of the hand object 400.

ブロックオブジェクト500は、手オブジェクト400によって影響を受ける仮想オブジェクトである。ブロックオブジェクト500もコリジョンエリアを有しており、本実施形態では、ブロックオブジェクト500のコリジョンエリアは、ブロックオブジェクト500を構成する領域(ブロックオブジェクト500の外形領域)に一致しているものとする。   Block object 500 is a virtual object affected by hand object 400. The block object 500 also has a collision area, and in the present embodiment, it is assumed that the collision area of the block object 500 matches the area (outline area of the block object 500) that constitutes the block object 500.

ボタンオブジェクト600は、手オブジェクト400によって影響を受ける仮想オブジェクトであって、操作部620を有する。ボタンオブジェクト600もコリジョンエリアを有しており、本実施形態では、ボタンオブジェクト600のコリジョンエリアは、ボタンオブジェクト600を構成する領域(ボタンオブジェクト600の外形領域)に一致しているものとする。特に、操作部620のコリジョンエリアは、操作部620の外形領域に一致しているものとする。   The button object 600 is a virtual object influenced by the hand object 400, and has an operation unit 620. The button object 600 also has a collision area, and in the present embodiment, the collision area of the button object 600 is assumed to coincide with the area constituting the button object 600 (the outer area of the button object 600). In particular, the collision area of the operation unit 620 is assumed to coincide with the outer shape area of the operation unit 620.

ボタンオブジェクト600の操作部620が手オブジェクト400によって押されたときに、仮想空間200内に配置された所定のオブジェクト(図示せず)に所定の影響が与えられる。具体的には、手オブジェクト400のコリジョンエリアCAと操作部620のコリジョンエリアとが接触することで、コリジョン効果として操作部620が手オブジェクト400によって押される。そして、操作部620が押されることで仮想空間200内に配置された所定のオブジェクトに所定の影響が与えられる。例えば、操作部620が手オブジェクト400によって押されることで仮想空間200内に存在するオブジェクト(キャラクターオブジェクト)が動き出してもよい。   When the operation unit 620 of the button object 600 is pressed by the hand object 400, a predetermined object (not shown) disposed in the virtual space 200 has a predetermined influence. Specifically, when the collision area CA of the hand object 400 and the collision area of the operation unit 620 come into contact with each other, the operation unit 620 is pressed by the hand object 400 as a collision effect. Then, when the operation unit 620 is pressed, predetermined effects are given to predetermined objects arranged in the virtual space 200. For example, when the operation unit 620 is pressed by the hand object 400, an object (character object) existing in the virtual space 200 may move.

(第1実施形態)
次に、第1実施形態に係る情報処理方法について図9から図11を参照して説明する。図10は、右手オブジェクト400RのコリジョンエリアCAがボタンオブジェクト600の操作部620に接触している様子を示す仮想空間200の平面図である。図11は、第1実施形態に係る情報処理方法を説明するためのフローチャートである。図11に示すフローチャートでは、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触したかどうかを判定する処理(ステップS13で規定される判定処理)が右手オブジェクト400Rと操作部620との当たり判定(ステップS14で規定される処理)の前に実行される。
First Embodiment
Next, an information processing method according to the first embodiment will be described with reference to FIGS. 9 to 11. FIG. 10 is a plan view of the virtual space 200 showing how the collision area CA of the right-hand object 400R is in contact with the operation unit 620 of the button object 600. FIG. 11 is a flowchart for explaining the information processing method according to the first embodiment. In the flowchart shown in FIG. 11, the process of determining whether or not the collision area CA of the right hand object 400R intentionally contacts the collision area of the operation unit 620 (determination process defined in step S13) is the right hand object 400R and the operation unit It is executed before the collision determination with 620 (the process defined in step S14).

また、本実施形態の説明では、説明の便宜上、右手オブジェクト400Rがボタンオブジェクト600の操作部620に所定の影響を与えるかどうかについて言及する一方、左手オブジェクト400Lがボタンオブジェクト600の操作部620に所定の影響を与えるかどうかについては言及しない。このため、図10では、左手オブジェクト400Lの図示が省略されている。また、制御部121は、図10及び図12に示す各処理を1フレーム毎に繰り返し実行してもよい。尚、制御部121は、図10に示す各処理を所定の時間間隔ごとに繰り返し実行してもよい。   Further, in the description of the present embodiment, for convenience of description, it is referred to whether the right hand object 400R exerts a predetermined influence on the operation unit 620 of the button object 600, while the left hand object 400L is predetermined in the operation unit 620 of the button object 600. It does not mention whether it affects or not. Therefore, in FIG. 10, the illustration of the left hand object 400L is omitted. Further, the control unit 121 may repeatedly execute each process shown in FIGS. 10 and 12 for each frame. The control unit 121 may repeatedly execute each process illustrated in FIG. 10 at predetermined time intervals.

図11に示すように、ステップS10において、制御部121は、HMD110の絶対速度V(図9参照)を特定する。ここで、絶対速度Vとは、現実空間内の所定の場所に固定的に設置された位置センサ130に対するHMD110の速度をいう。また、ユーザUがHMD110を装着しているため、HMD110の絶対速度はユーザUの絶対速度に相当する。つまり、本実施形態では、HMD110の絶対速度を特定することで、ユーザUの絶対速度を特定している。図10に示すように、現実空間においてHMD110が移動すると、仮想カメラ300も仮想空間200内において移動する。   As shown in FIG. 11, in step S <b> 10, the control unit 121 specifies the absolute velocity V (see FIG. 9) of the HMD 110. Here, the absolute velocity V refers to the velocity of the HMD 110 with respect to the position sensor 130 fixedly installed at a predetermined place in the real space. Further, since the user U wears the HMD 110, the absolute velocity of the HMD 110 corresponds to the absolute velocity of the user U. That is, in the present embodiment, the absolute velocity of the HMD 110 is identified to identify the absolute velocity of the user U. As shown in FIG. 10, when the HMD 110 moves in the real space, the virtual camera 300 also moves in the virtual space 200.

具体的には、制御部121は、位置センサ130によって取得されたデータに基づいて、HMD110の位置情報を取得し、当該取得された位置情報に基づいて、HMD110の絶対速度Vを特定する。例えば、n番目(nは1以上の整数)のフレームのときのHMD110の位置をPとし、(n+1)番目のフレームのときのHMD110の位置をPn+1とし、各フレーム間の時間間隔をΔTとした場合、n番目のフレームのときのHMD110の絶対速度Vは、V=|Pn+1−P|/ΔTとなる。ここで、動画像のフレームレートが90fpsである場合、時間間隔ΔTは1/90となる。また、HMD110の位置Pは、三次元座標系に表示可能な位置ベクトルである。このように、制御部121は、n番目のフレームのときのHMD110の位置Pnと(n+1)番目のフレームのときのHMD110の位置Pn+1を取得した上で、位置ベクトルPn,Pn+1及び時間間隔ΔTに基づいて、n番目のフレームのときの絶対速度Vnを特定することができる。 Specifically, the control unit 121 acquires the position information of the HMD 110 based on the data acquired by the position sensor 130, and specifies the absolute velocity V of the HMD 110 based on the acquired position information. For example, the position of the HMD 110 in the n-th (n is an integer of 1 or more) frame is P n , the position of the HMD 110 in the (n + 1) -th frame is P n + 1, and the time interval between each frame is ΔT Then, the absolute velocity V n of the HMD 110 in the nth frame is V n = | P n + 1 −P n | / ΔT. Here, when the frame rate of the moving image is 90 fps, the time interval ΔT is 1/90. Further, the position P of the HMD 110 is a position vector that can be displayed in a three-dimensional coordinate system. Thus, the control unit 121 acquires the position Pn of the HMD 110 in the nth frame and the position Pn + 1 of the HMD 110 in the (n + 1) th frame, and then sets the position vectors Pn and Pn + 1 and the time interval ΔT. Based on this, it is possible to specify the absolute velocity Vn at the n-th frame.

尚、制御部121は、w軸方向におけるHMD110の絶対速度Vを特定してもよいし、w軸方向以外の所定の方向におけるHMD110の絶対速度Vを特定してもよい。例えば、n番目(nは1以上の整数)のフレームのときのHMD110の位置Pのw軸方向の位置をwとし、(n+1)番目のフレームのときのHMD110の位置Pn+1のw軸方向の位置をwn+1とし、各フレーム間の時間間隔をΔTとした場合、n番目のフレームのときのw軸方向におけるHMD110の絶対速度Vは、V=(wn+1−w)/ΔTとなる。 The control unit 121 may specify the absolute velocity V of the HMD 110 in the w-axis direction, or may specify the absolute velocity V of the HMD 110 in a predetermined direction other than the w-axis direction. Eg, n-th (n is an integer of 1 or more) the position of the w-axis direction position P n of HMD110 when the frame with w n, (n + 1) th position P n + 1 of the w-axis of HMD110 when the frame Assuming that the position in the direction is w n + 1 and the time interval between the frames is ΔT, the absolute velocity V n of the HMD 110 in the w-axis direction at the n-th frame is V n = (w n + 1 −w n ) / It becomes ΔT.

次に、ステップS11において、制御部121は、仮想カメラ300の視野CVを特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114からのデータに基づいて、HMD110の位置及び傾きを特定した上で、HMD110の位置及び傾きに基づいて、仮想カメラ300の視野CVを特定する。その後、制御部121は、右手オブジェクト400Rの位置を特定する(ステップS12)。具体的には、制御部121は、位置センサ130及び/又はコントローラ320Rのセンサからのデータに基づいて、現実空間におけるコントローラ320Rの位置を特定した上で、現実空間におけるコントローラ320Rの位置に基づいて右手オブジェクト400Rの位置を特定する。   Next, in step S11, the control unit 121 specifies the field of view CV of the virtual camera 300. Specifically, the control unit 121 specifies the position and the inclination of the HMD 110 based on the data from the position sensor 130 and / or the HMD sensor 114, and then determines the virtual camera 300 based on the position and the inclination of the HMD 110. Identify the field of view CV. Thereafter, the control unit 121 specifies the position of the right hand object 400R (step S12). Specifically, the control unit 121 specifies the position of the controller 320R in the real space based on the data from the position sensor 130 and / or the sensor of the controller 320R, and then based on the position of the controller 320R in the real space. The position of the right hand object 400R is specified.

次に、制御部121は、HMD110の絶対速度Vが所定の値Vth以下(V≦Vth)であるかどうかを判定する(ステップS13)。ここで、所定の値Vth(Vth≧0)はゲーム等のコンテンツの内容に応じて適宜設定されてもよい。また、ステップS13で規定された判定条件(V≦Vth)は、右手オブジェクト400R(操作オブジェクト)のコリジョンエリアCAがボタンオブジェクト600(対象オブジェクト)の操作部620のコリジョンエリアに意図的に接触したかどうかを判定するための判定条件(第1条件)に相当する。   Next, the control unit 121 determines whether the absolute velocity V of the HMD 110 is equal to or less than a predetermined value Vth (V ≦ Vth) (step S13). Here, the predetermined value Vth (Vth ≧ 0) may be appropriately set according to the content of the content such as a game. In addition, whether the collision area CA of the right-hand object 400R (operation object) intentionally contacts the collision area of the operation unit 620 of the button object 600 (target object) as the determination condition (V ≦ Vth) defined in step S13. It corresponds to the determination condition (first condition) for determining whether or not.

制御部121は、ステップS13で規定される判定条件が満たされないと判定した場合(つまり、絶対速度Vが所定の値Vthよりも大きいと判定した場合)(ステップS13でNO)、ステップS14及びS15で規定される処理を実行しない。つまり、制御部121は、ステップS14で規定されるコリジョン判定処理及びステップS15で規定されるコリジョン効果を発生させる処理をしないので、右手オブジェクト400Rはボタンオブジェクト600の操作部620に所定の影響を与えない。   If the control unit 121 determines that the determination condition defined in step S13 is not satisfied (that is, if it is determined that the absolute velocity V is larger than the predetermined value Vth) (NO in step S13), steps S14 and S15. Do not execute the processing specified in. That is, since the control unit 121 does not perform the collision determination process defined in step S14 and the process for generating the collision effect defined in step S15, the right hand object 400R exerts a predetermined influence on the operation unit 620 of the button object 600. Absent.

一方、制御部121は、ステップS13で規定される判定条件が満たされると判定した場合(つまり、絶対速度Vが所定の値Vth以下であると判定した場合)(ステップS13でYES)、ボタンオブジェクト600の操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触しているかどうかを判定する(ステップS14)。特に、制御部121は、右手オブジェクト400Rの位置とボタンオブジェクト600の操作部620の位置に基づいて、操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触しているかどうかを判定する。ステップS14の判定結果がYESの場合、制御部121は、右手オブジェクト400RのコリジョンエリアCAに接触している操作部620に所定の影響を与える(ステップS14)。例えば、右手オブジェクト400Rと操作部620との間のコリジョン効果として、制御部121は、操作部620が右手オブジェクト400Rによって押されたと判定してもよい。この結果として、仮想空間200内に配置された所定のオブジェクト(図示せず)に所定の影響が与えられてもよい。さらに、右手オブジェクト400Rと操作部620との間のコリジョン効果として、操作部620の接触面620aが+X方向に移動してもよい。一方、ステップS14の判定結果がNOの場合、右手オブジェクト400Rと操作部620との間のコリジョン効果は発生させない。   On the other hand, when control unit 121 determines that the determination condition defined in step S13 is satisfied (that is, when it is determined that absolute velocity V is equal to or less than predetermined value Vth) (YES in step S13), the button object It is determined whether the collision area of the operation unit 620 of 600 is in contact with the collision area CA of the right-hand object 400R (step S14). In particular, based on the position of the right hand object 400R and the position of the operation unit 620 of the button object 600, the control unit 121 determines whether the collision area of the operation unit 620 is in contact with the collision area CA of the right hand object 400R. If the determination result in step S14 is YES, the control unit 121 exerts a predetermined influence on the operation unit 620 in contact with the collision area CA of the right hand object 400R (step S14). For example, as a collision effect between the right hand object 400R and the operation unit 620, the control unit 121 may determine that the operation unit 620 is pressed by the right hand object 400R. As a result, a predetermined object (not shown) placed in the virtual space 200 may be given a predetermined influence. Furthermore, as a collision effect between the right-hand object 400R and the operation unit 620, the contact surface 620a of the operation unit 620 may move in the + X direction. On the other hand, when the determination result of step S14 is NO, the collision effect between the right hand object 400R and the operation unit 620 is not generated.

本実施形態によれば、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触するかどうかを判定するための判定条件として、HMD110の絶対速度Vが所定の値Vth以下であるかどうかが判定される。絶対速度Vが所定の値Vthよりも大きいと判定された場合(ステップS13の判定条件が満たされないと判定された場合)、ステップS14及びS15で規定される処理は実行されない。このように、HMD110の絶対速度Vが所定の値Vthよりも大きい状態で右手オブジェクト400Rが操作部620に接触した場合には、右手オブジェクト400Rは意図せずに操作部620に接触したと判断されるため、右手オブジェクト400Rと操作部620との間のコリジョン判定も実行されないと共に、右手オブジェクト400Rと操作部620との間のコリジョン効果も生じない。   According to the present embodiment, the absolute velocity V of the HMD 110 is less than or equal to the predetermined value Vth as a determination condition for determining whether the collision area CA of the right hand object 400R intentionally contacts the collision area of the operation unit 620. It is determined whether there is any. When it is determined that the absolute velocity V is larger than the predetermined value Vth (when it is determined that the determination condition of step S13 is not satisfied), the processes defined in steps S14 and S15 are not performed. As described above, when the right hand object 400R contacts the operation unit 620 in the state where the absolute velocity V of the HMD 110 is larger than the predetermined value Vth, it is determined that the right hand object 400R unintentionally contacts the operation unit 620. Therefore, collision determination between the right-hand object 400R and the operation unit 620 is not performed, and no collision effect between the right-hand object 400R and the operation unit 620 occurs.

従って、右手オブジェクト400Rが操作部620に意図せずに接触した場合、操作部620が右手オブジェクト400Rによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。   Therefore, when the right hand object 400R unintentionally contacts the operation unit 620, a situation in which the operation unit 620 is unintentionally pressed by the right hand object 400R is avoided. In this way, the virtual experience of the user can be further improved.

次に、第1実施形態の変形例に係る情報処理方法について図12を参照して説明する。図12は、第1実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。図12に示すフローチャートでは、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触したかどうかを判定する処理(ステップS24で規定される判定処理)が右手オブジェクト400Rと操作部620との当たり判定(ステップS23で規定される処理)の後に実行される。この点において、図12に示す情報処理方法と図11に示す情報処理方法は相違する。以下では、図11に示す情報処理方法との相違点についてのみ説明を行う。   Next, an information processing method according to a modification of the first embodiment will be described with reference to FIG. FIG. 12 is a flowchart for explaining the information processing method according to the modification of the first embodiment. In the flowchart shown in FIG. 12, the process of determining whether the collision area CA of the right hand object 400R intentionally contacts the collision area of the operation unit 620 (determination process defined in step S24) is the right hand object 400R and the operation unit It is executed after the collision determination with 620 (the process defined in step S23). In this point, the information processing method shown in FIG. 12 is different from the information processing method shown in FIG. In the following, only differences from the information processing method shown in FIG. 11 will be described.

図12に示すように、制御部121は、ステップS20〜S22に規定された処理を実行した後に、ボタンオブジェクト600の操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触しているかどうかを判定する(ステップS23)。尚、ステップS20〜S22の処理は、図11に示すステップS10〜S12の処理に相当する。   As shown in FIG. 12, after the control unit 121 executes the processes defined in steps S20 to S22, whether or not the collision area of the operation unit 620 of the button object 600 is in contact with the collision area CA of the right hand object 400R. Is determined (step S23). The process of steps S20 to S22 corresponds to the process of steps S10 to S12 shown in FIG.

ステップS23の判定結果がNOである場合、操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触していないので、本処理を終了する。一方、ステップS23の判定結果がYESである場合(操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触していると判定された場合)、制御部121は、HMD110の絶対速度Vが所定の値Vth以下であるかどうかを判定する(ステップS24)。   If the determination result in step S23 is NO, the collision area of the operation unit 620 does not contact the collision area CA of the right hand object 400R, and thus the process ends. On the other hand, when the determination result in step S23 is YES (when it is determined that the collision area of the operation unit 620 is in contact with the collision area CA of the right hand object 400R), the control unit 121 determines that the absolute velocity V of the HMD 110 is It is determined whether it is equal to or less than a predetermined value Vth (step S24).

制御部121は、絶対速度Vが所定の値Vthよりも大きいと判定した場合(ステップS24でNO)、ステップS25で規定される処理を実行せずに本処理を終了する。一方、制御部121は、絶対速度Vが所定の値Vth以下であると判定した場合(ステップS24でYES)、右手オブジェクト400RのコリジョンエリアCAに接触している操作部620に所定の影響(コリジョン効果)を与える(ステップS25)。   If the control unit 121 determines that the absolute velocity V is larger than the predetermined value Vth (NO in step S24), the process ends without executing the process defined in step S25. On the other hand, when the control unit 121 determines that the absolute velocity V is equal to or less than the predetermined value Vth (YES in step S24), the control unit 121 exerts a predetermined influence on the operation unit 620 in contact with the collision area CA of the right hand object 400R (collision Effect) is given (step S25).

このように、絶対速度Vが所定の値Vthよりも大きいと判定された場合(ステップS24の判定条件が満たされないと判定された場合)、ステップS25で規定される処理は実行されない。このように、HMD110の絶対速度Vが所定の値Vthよりも大きい状態で右手オブジェクト400Rが操作部620に接触した場合には、右手オブジェクト400Rは意図せずに操作部620に接触したと判断されるため、右手オブジェクト400Rと操作部620との間のコリジョン効果が生じない。この点において、本変形例に係る情報処理方法では、右手オブジェクト400Rと操作部620との間のコリジョン判定は実行されるものの、ステップS24の判定結果がNOである場合に右手オブジェクト400Rと操作部620との間のコリジョン効果が発生しない。   As described above, when it is determined that the absolute velocity V is larger than the predetermined value Vth (when it is determined that the determination condition of step S24 is not satisfied), the process defined in step S25 is not performed. As described above, when the right hand object 400R contacts the operation unit 620 in the state where the absolute velocity V of the HMD 110 is larger than the predetermined value Vth, it is determined that the right hand object 400R unintentionally contacts the operation unit 620. Therefore, no collision effect occurs between the right-hand object 400R and the operation unit 620. In this point, in the information processing method according to the present modification, although the collision determination between the right hand object 400R and the operation unit 620 is performed, the right hand object 400R and the operation unit are determined when the determination result in step S24 is NO. There is no collision effect between the two.

従って、右手オブジェクト400Rが操作部620に意図せずに接触した場合、操作部620が右手オブジェクト400Rによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。   Therefore, when the right hand object 400R unintentionally contacts the operation unit 620, a situation in which the operation unit 620 is unintentionally pressed by the right hand object 400R is avoided. In this way, the virtual experience of the user can be further improved.

(第2実施形態)
次に、第2実施形態に係る情報処理方法について図13及び図14を参照して説明する。図13は、第2実施形態に係る情報処理方法を説明するためのフローチャートである。図14は、右手オブジェクト400Rとボタンオブジェクト600が仮想カメラ300の視野CV外に存在する様子を示す仮想空間200の平面図である。図13に示すように、第2実施形態に係る情報処理方法は、ステップS34に規定されるステップを更に有する点で第1実施形態に係る情報処理方法(図11参照)と相違する。尚、以下では、第1実施形態において既に説明した事項については繰り返し説明しない。
Second Embodiment
Next, an information processing method according to the second embodiment will be described with reference to FIGS. 13 and 14. FIG. 13 is a flowchart for explaining the information processing method according to the second embodiment. FIG. 14 is a plan view of a virtual space 200 showing that the right hand object 400R and the button object 600 exist outside the field of view CV of the virtual camera 300. As shown in FIG. 13, the information processing method according to the second embodiment is different from the information processing method according to the first embodiment (see FIG. 11) in that the information processing method according to the second embodiment further includes the steps defined in step S34. In the following, items already described in the first embodiment will not be described repeatedly.

図13に示すように、制御部121は、ステップS30〜S32に規定された処理を実行した後に、HMD110の絶対速度Vが所定の値Vth以下であるかどうかを判定する(ステップS33)。尚、ステップS30〜S32の処理は、図11に示すステップS10〜S12の処理に対応する。   As shown in FIG. 13, after performing the processes defined in steps S30 to S32, the control unit 121 determines whether the absolute velocity V of the HMD 110 is equal to or less than a predetermined value Vth (step S33). The processes of steps S30 to S32 correspond to the processes of steps S10 to S12 shown in FIG.

ステップS33の判定結果がYESの場合、制御部121は、ボタンオブジェクト600の操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触しているかどうかを判定する(ステップS35)。一方、ステップS33の判定結果がNOの場合、制御部121は、仮想カメラ300の視野CVと右手オブジェクト400Rの位置に基づいて、右手オブジェクト400Rが仮想カメラ300の視野CV内に存在するかどうかを判定する(ステップS34)。図14に示すように、右手オブジェクト400Rが仮想カメラ300の視野CV外に存在する場合、制御部121は、ステップS34で規定される判定条件(第2条件)は満たされないと判定し、ステップS35及びS36の処理を実行せずに、本処理を終了する。つまり、制御部121は、ステップS35で規定されるコリジョン判定処理及びステップS36で規定されるコリジョン効果を発生させる処理を実行しないので、右手オブジェクト400Rはボタンオブジェクト600の操作部620に所定の影響を与えない。ここで、ステップS34で規定された判定条件は、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触したかどうかを判定するための判定条件(第2条件)に相当する。   If the determination result in step S33 is YES, the control unit 121 determines whether the collision area of the operation unit 620 of the button object 600 is in contact with the collision area CA of the right hand object 400R (step S35). On the other hand, if the determination result in step S33 is NO, the control unit 121 determines whether the right hand object 400R exists in the field of view CV of the virtual camera 300 based on the field of view CV of the virtual camera 300 and the position of the right hand object 400R. It determines (step S34). As shown in FIG. 14, when the right hand object 400R exists outside the field of view CV of the virtual camera 300, the control unit 121 determines that the determination condition (second condition) defined in step S34 is not satisfied, and step S35. The present process is terminated without executing the process of S36. That is, since the control unit 121 does not execute the collision determination process defined in step S35 and the process for generating the collision effect defined in step S36, the right hand object 400R exerts a predetermined influence on the operation unit 620 of the button object 600. I will not give. Here, the determination condition defined in step S34 corresponds to the determination condition (second condition) for determining whether or not the collision area CA of the right-hand object 400R intentionally contacts the collision area of the operation unit 620. .

一方、制御部121は、ステップS34で規定された判定条件が満たされると判定した場合(つまり、右手オブジェクト400Rが仮想カメラ300の視野CV内に存在すると判定した場合)(ステップS34でYES)、ステップS35の判定処理(コリジョン判定処理)を実行する。ステップS35の判定結果がYESの場合、制御部121は、右手オブジェクト400RのコリジョンエリアCAに接触している操作部620に所定の影響を与える(ステップS36)。一方、ステップS35の判定結果がNOの場合、ステップS36の処理を実行せずに本処理を終了する。   On the other hand, when the control unit 121 determines that the determination condition defined in step S34 is satisfied (that is, when it is determined that the right hand object 400R exists in the field of view CV of the virtual camera 300) (YES in step S34) The determination process (collision determination process) of step S35 is executed. If the determination result in step S35 is YES, the control unit 121 exerts a predetermined influence on the operation unit 620 in contact with the collision area CA of the right hand object 400R (step S36). On the other hand, when the determination result of step S35 is NO, this process is complete | finished without performing the process of step S36.

本実施形態によれば、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触するかどうかを判定するための判定条件として、HMD110の絶対速度Vが所定の値Vth以下であるかどうかが判定される(ステップS33)と共に、右手オブジェクト400Rが仮想カメラ300の視野CV内に存在するかどうかが判定される(ステップS34)。さらに、ステップS33の判定条件とステップS34の判定条件が共に満たされないと判定された場合、右手オブジェクト400Rは操作部620に所定の影響を与えない。このように、互いに異なる2つの判定条件を用いることで右手オブジェクト400Rが意図せずに操作部620に接触したかどうかをより確実に判定することができる。特に、HMD110の絶対速度Vが所定の値Vthよりも大きく、且つ右手オブジェクト400Rが視野CV内に存在しない状態で、右手オブジェクト400Rが操作部620に接触した場合には、右手オブジェクト400Rは意図せずに操作部620に接触したと判定され、右手オブジェクト400Rと操作部620との間のコリジョン効果は生じない。従って、右手オブジェクト400Rが操作部620に意図せずに接触した場合、操作部620が右手オブジェクト400Rによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。   According to the present embodiment, the absolute velocity V of the HMD 110 is less than or equal to the predetermined value Vth as a determination condition for determining whether the collision area CA of the right hand object 400R intentionally contacts the collision area of the operation unit 620. It is determined whether there is any (step S33), and it is determined whether the right hand object 400R exists in the field of view CV of the virtual camera 300 (step S34). Furthermore, when it is determined that the determination condition of step S33 and the determination condition of step S34 are not satisfied, the right hand object 400R does not exert a predetermined influence on the operation unit 620. As described above, it is possible to more reliably determine whether the right-hand object 400R has unintentionally touched the operation unit 620 by using two different determination conditions. In particular, when the right hand object 400R contacts the operation unit 620 in a state where the absolute velocity V of the HMD 110 is larger than the predetermined value Vth and the right hand object 400R does not exist in the field of view CV, the right hand object 400R is intended. It is determined that the user has touched the operation unit 620 without causing a collision effect between the right-hand object 400R and the operation unit 620. Therefore, when the right hand object 400R unintentionally contacts the operation unit 620, a situation in which the operation unit 620 is unintentionally pressed by the right hand object 400R is avoided. In this way, the virtual experience of the user can be further improved.

尚、本実施形態では、ステップS34において、制御部121は、右手オブジェクト400Rが視野CV内に存在するかどうかを判定している。これに代わり、制御部121は、右手オブジェクト400Rとボタンオブジェクト600のうちの少なくとも一つが視野CV内に存在するかどうかを判定してもよい。この場合、HMD110の絶対速度Vが所定の値Vthよりも大きく、且つ右手オブジェクト400Rとボタンオブジェクト600の両方が視野CV内に存在しない状態で右手オブジェクト400Rが操作部620に接触した場合には、右手オブジェクト400Rは意図せずに操作部620に接触したと判定され、右手オブジェクト400Rと操作部620との間のコリジョン効果は生じない。   In the present embodiment, in step S34, the control unit 121 determines whether the right hand object 400R exists in the field of view CV. Instead, the control unit 121 may determine whether at least one of the right hand object 400R and the button object 600 is present in the field of view CV. In this case, when the absolute velocity V of the HMD 110 is larger than the predetermined value Vth and both the right hand object 400R and the button object 600 do not exist in the field of view CV, the right hand object 400R contacts the operation unit 620. It is determined that the right hand object 400R is unintentionally touched to the operation unit 620, and no collision effect between the right hand object 400R and the operation unit 620 occurs.

次に、第2実施形態の変形例に係る情報処理方法について図15を参照して説明する。図15は、第2実施形態の変形例に係る情報処理方法を説明するためのフローチャートである。図15に示すフローチャートでは、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触したかどうかを判定する処理(ステップS44及びS45で規定される判定処理)が右手オブジェクト400Rと操作部620との当たり判定(ステップS43で規定される処理)の後に実行される。この点において、図15に示す情報処理方法と図13に示す情報処理方法は相違する。以下では、図13に示す情報処理方法との相違点についてのみ説明を行う。   Next, an information processing method according to a modification of the second embodiment will be described with reference to FIG. FIG. 15 is a flowchart for explaining an information processing method according to a modification of the second embodiment. In the flowchart shown in FIG. 15, the process of determining whether or not the collision area CA of the right hand object 400R intentionally contacts the collision area of the operation unit 620 (determination process defined in steps S44 and S45) It is executed after the collision determination with the operation unit 620 (the process defined in step S43). In this point, the information processing method shown in FIG. 15 is different from the information processing method shown in FIG. In the following, only differences from the information processing method shown in FIG. 13 will be described.

図15に示すように、制御部121は、ステップS40〜S42に規定された処理を実行した後に、ボタンオブジェクト600の操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触しているかどうかを判定する(ステップS43)。   As shown in FIG. 15, after the control unit 121 executes the processes defined in steps S40 to S42, it is determined whether the collision area of the operation unit 620 of the button object 600 is in contact with the collision area CA of the right hand object 400R. Is determined (step S43).

ステップS43の判定結果がNOである場合、操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触していないので、本処理を終了する。一方、ステップS43の判定結果がYESである場合(操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触していると判定された場合)、制御部121は、HMD110の絶対速度Vが所定の値Vth以下であるかどうかを判定する(ステップS44)。   If the determination result in step S43 is NO, the collision area of the operation unit 620 is not in contact with the collision area CA of the right hand object 400R, and thus the process ends. On the other hand, when the determination result in step S43 is YES (when it is determined that the collision area of the operation unit 620 is in contact with the collision area CA of the right hand object 400R), the control unit 121 determines that the absolute velocity V of the HMD 110 is It is determined whether it is equal to or less than a predetermined value Vth (step S44).

制御部121は、絶対速度Vが所定の値Vthよりも大きいと判定した場合(ステップS44でNO)、ステップS45で規定される判定処理を実行する。一方、制御部121は、絶対速度Vが所定の値Vth以下であると判定した場合(ステップS44でYES)、右手オブジェクト400RのコリジョンエリアCAに接触している操作部620に所定の影響(コリジョン効果)を与える(ステップS46)。   If the control unit 121 determines that the absolute velocity V is larger than the predetermined value Vth (NO in step S44), the control unit 121 executes the determination process defined in step S45. On the other hand, when the control unit 121 determines that the absolute velocity V is equal to or less than the predetermined value Vth (YES in step S44), the control unit 121 exerts a predetermined influence on the operation unit 620 in contact with the collision area CA of the right hand object 400R (collision Effect) is given (step S46).

制御部121は、右手オブジェクト400Rが仮想カメラ300の視野CV内に存在すると判定した場合(ステップS45でYES)、右手オブジェクト400RのコリジョンエリアCAに接触している操作部620に所定の影響(コリジョン効果)を与える(ステップS46)。一方、ステップS45の判定結果がNOである場合、ステップS46の処理を実行せずに本処理を終了する。   When the control unit 121 determines that the right hand object 400R is present in the field of view CV of the virtual camera 300 (YES in step S45), the control unit 121 exerts a predetermined influence (collision on the operation unit 620 in contact with the collision area CA of the right hand object 400R. Effect) is given (step S46). On the other hand, when the determination result of step S45 is NO, this process is complete | finished without performing the process of step S46.

本変形例に係る情報処理方法では、右手オブジェクト400Rと操作部620との間のコリジョン判定は実行されるものの、ステップS44の判定条件とステップS45の判定条件が共に満たされないと判定された場合、右手オブジェクト400Rと操作部620との間のコリジョン効果が発生しない。   In the information processing method according to the present modification, although the collision determination between the right-hand object 400R and the operation unit 620 is performed, it is determined that the determination condition of step S44 and the determination condition of step S45 are not satisfied. No collision effect occurs between the right hand object 400R and the operation unit 620.

従って、右手オブジェクト400Rが操作部620に意図せずに接触した場合、操作部620が右手オブジェクト400Rによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。   Therefore, when the right hand object 400R unintentionally contacts the operation unit 620, a situation in which the operation unit 620 is unintentionally pressed by the right hand object 400R is avoided. In this way, the virtual experience of the user can be further improved.

(第3実施形態)
次に、第3実施形態に係る情報処理方法について図16を参照して説明する。図16は、第3実施形態に係る情報処理方法を説明するためのフローチャートである。図16に示すように、第3実施形態に係る情報処理方法は、ステップS51,S55に規定されるステップを更に有する点で第1実施形態に係る情報処理方法(図11参照)と相違する。尚、以下では、第1実施形態において既に説明した事項については繰り返し説明しない。
Third Embodiment
Next, an information processing method according to the third embodiment will be described with reference to FIG. FIG. 16 is a flowchart for explaining the information processing method according to the third embodiment. As shown in FIG. 16, the information processing method according to the third embodiment is different from the information processing method according to the first embodiment (see FIG. 11) in that the information processing method according to the third embodiment further includes steps defined in steps S51 and S55. In the following, items already described in the first embodiment will not be described repeatedly.

図16に示すように、制御部121は、ステップS50に規定された処理を実行した後に、HMD110に対するコントローラ320R(ユーザUの右手)の相対速度v(図9参照)を特定する(ステップS51)。例えば、上記したように、n番目(nは1以上の整数)のフレームのときのHMD110の位置をPとし、(n+1)番目のフレームのときのHMD110の位置をPn+1とし、各フレーム間の時間間隔をΔTとした場合、n番目のフレームのときのHMD110の絶対速度Vは、V=|Pn+1−P|/ΔTとなる。さらに、n番目のフレームのときのコントローラ320Rの位置をP’とし、(n+1)番目のフレームのときのコントローラ320Rの位置をP’n+1とし、各フレーム間の時間間隔をΔTとした場合、n番目のフレームのときのコントローラ320Rの絶対速度V’は、V’=|P’n+1−P’|/ΔTとなる。このように、n番目のフレームのときのHMD110に対するコントローラ320Rの相対速度vnは、vn=V’n−Vnとなる。このように、制御部121は、n番目のフレームのときのHMD110の絶対速度Vnとコントローラ320Rの絶対速度V’nに基づいて、n番目のフレームのときの相対速度vnを特定することができる。尚、制御部121は、w軸方向における相対速度vを特定してもよいし、w軸方向以外の所定の方向における相対速度vを特定してもよい。 As shown in FIG. 16, after executing the process defined in step S50, the control unit 121 specifies the relative velocity v (see FIG. 9) of the controller 320R (right hand of the user U) with respect to the HMD 110 (step S51). . For example, as described above, the position of the HMD 110 in the n-th (n is an integer of 1 or more) frame is P n , the position of the HMD 110 in the (n + 1) -th frame is P n + 1 The absolute velocity V n of the HMD 110 in the n-th frame is V n = | P n + 1 −P n | / ΔT, where ΔT is a time interval of ΔT. Further, assuming that the position of the controller 320R in the nth frame is P ′ n , the position of the controller 320R in the (n + 1) th frame is P ′ n + 1, and the time interval between each frame is ΔT The absolute velocity V ' n of the controller 320R at the n-th frame is V' n = | P ' n + 1 -P' n | / ΔT. Thus, the relative velocity vn of the controller 320R with respect to the HMD 110 at the nth frame is vn = V'n-Vn. As described above, the control unit 121 can specify the relative velocity v n at the n-th frame based on the absolute velocity V n of the HMD 110 at the n-th frame and the absolute velocity V ′ n of the controller 320R. . The control unit 121 may specify the relative velocity v in the w-axis direction, or may specify the relative velocity v in a predetermined direction other than the w-axis direction.

次に、制御部121は、ステップS52及びS53に規定された処理を実行した後、HMD110の絶対速度Vが所定の値Vth以下であるかどうかを判定する(ステップS54)。   Next, after executing the processes defined in steps S52 and S53, the control unit 121 determines whether the absolute velocity V of the HMD 110 is less than or equal to a predetermined value Vth (step S54).

ステップS54の判定結果がYESの場合、制御部121は、ボタンオブジェクト600の操作部620のコリジョンエリアが右手オブジェクト400RのコリジョンエリアCAに接触しているかどうかを判定する(ステップS56)。一方、ステップS54の判定結果がNOの場合、制御部121は、HMD110に対するコントローラ320Rの相対速度vが所定の値vthよりも大きいかどうかを判定する(ステップS55)。ここで、所定の値vth(vth≧0)は、ゲーム等のコンテンツの内容に応じて適宜設定することができる。ステップS55の判定結果がNOである場合、ステップS56及びS57の処理を実行せずに、本処理を終了する。つまり、制御部121は、ステップS56で規定されるコリジョン判定処理及びステップS57で規定されるコリジョン効果を発生させる処理を実行しないので、右手オブジェクト400Rはボタンオブジェクト600の操作部620に所定の影響を与えない。ここで、ステップS55で規定された判定条件は、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触したかどうかを判定するための判定条件(第2条件)に相当する。   If the determination result in step S54 is YES, the control unit 121 determines whether the collision area of the operation unit 620 of the button object 600 is in contact with the collision area CA of the right hand object 400R (step S56). On the other hand, when the determination result in step S54 is NO, the control unit 121 determines whether the relative velocity v of the controller 320R with respect to the HMD 110 is larger than a predetermined value vth (step S55). Here, the predetermined value vth (vth ≧ 0) can be appropriately set according to the content of the content such as a game. When the determination result of step S55 is NO, this process is complete | finished without performing the process of step S56 and S57. That is, since the control unit 121 does not execute the collision determination process defined in step S56 and the process for generating the collision effect defined in step S57, the right hand object 400R exerts a predetermined influence on the operation unit 620 of the button object 600. I will not give. Here, the determination condition defined in step S55 corresponds to the determination condition (second condition) for determining whether or not the collision area CA of the right-hand object 400R intentionally contacts the collision area of the operation unit 620. .

一方、制御部121は、ステップS55で規定された判定条件が満たされると判定した場合(つまり、相対速度vが所定の値vthよりも大きいと判定した場合)(ステップS55でYES)、ステップS56の判定処理(コリジョン判定処理)を実行する。ステップS56の判定結果がYESの場合、制御部121は、右手オブジェクト400RのコリジョンエリアCAに接触している操作部620に所定の影響を与える(ステップS57)。一方、ステップS56の判定結果がNOの場合、ステップS57の処理を実行せずに本処理を終了する。   On the other hand, when the control unit 121 determines that the determination condition defined in step S55 is satisfied (that is, when it is determined that the relative velocity v is larger than the predetermined value vth) (YES in step S55), step S56. The determination process (collision determination process) is executed. If the determination result in step S56 is YES, the control unit 121 exerts a predetermined influence on the operation unit 620 in contact with the collision area CA of the right hand object 400R (step S57). On the other hand, when the determination result of step S56 is NO, this process is complete | finished without performing the process of step S57.

本実施形態によれば、右手オブジェクト400RのコリジョンエリアCAが操作部620のコリジョンエリアに意図的に接触するかどうかを判定するための判定条件として、HMD110の絶対速度Vが所定の値Vth以下であるかどうかが判定される(ステップS54)と共に、HMD110に対するコントローラ320Rの相対速度vがvthよりも大きいかどうかが判定される(ステップS55)。さらに、ステップS54の判定条件とステップS55の判定条件が共に満たされないと判定された場合、右手オブジェクト400Rは操作部620に所定の影響を与えない。このように、互いに異なる2つの判定条件を用いることで右手オブジェクト400Rが意図せずに操作部620に接触したかどうかをより確実に判定することができる。特に、HMD110の絶対速度Vが所定の値Vthよりも大きく、且つHMD110に対するコントローラ320Rの相対速度vが所定の値vth以下である状態で、右手オブジェクト400が操作部620に接触した場合には、右手オブジェクト400Rは意図せずに操作部620に接触したと判定され、右手オブジェクト400Rと操作部620との間のコリジョン効果は生じない。従って、右手オブジェクト400Rが操作部620に意図せずに接触した場合、操作部620が右手オブジェクト400Rによって意図せずに押されてしまうといった状況が回避される。このように、ユーザの仮想体験をさらに改善することができる。   According to the present embodiment, the absolute velocity V of the HMD 110 is less than or equal to the predetermined value Vth as a determination condition for determining whether the collision area CA of the right hand object 400R intentionally contacts the collision area of the operation unit 620. It is determined whether there is any (step S54), and it is determined whether the relative velocity v of the controller 320R with respect to the HMD 110 is larger than vth (step S55). Furthermore, when it is determined that the determination condition of step S54 and the determination condition of step S55 are not satisfied, the right hand object 400R does not exert a predetermined influence on the operation unit 620. As described above, it is possible to more reliably determine whether the right-hand object 400R has unintentionally touched the operation unit 620 by using two different determination conditions. In particular, when the right hand object 400 contacts the operation unit 620 in a state where the absolute velocity V of the HMD 110 is larger than the predetermined value Vth and the relative velocity v of the controller 320R to the HMD 110 is equal to or less than the predetermined value vth, It is determined that the right hand object 400R is unintentionally touched to the operation unit 620, and no collision effect between the right hand object 400R and the operation unit 620 occurs. Therefore, when the right hand object 400R unintentionally contacts the operation unit 620, a situation in which the operation unit 620 is unintentionally pressed by the right hand object 400R is avoided. In this way, the virtual experience of the user can be further improved.

制御部121によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る情報処理方法をコンピュータ(プロセッサ)に実行させるための情報処理プログラムが記憶部123又はROMに予め組み込まれていてもよい。または、情報処理プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD−ROM,DVD−ROM、Blu−rayディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に通信可能に接続されることで、当該記憶媒体に格納された情報処理プログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた情報処理プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は本実施形態に係る情報処理方法を実行する。   An information processing program for causing a computer (processor) to execute the information processing method according to the present embodiment is incorporated in advance in the storage unit 123 or the ROM in order to realize various processes executed by the control unit 121 by software. It is also good. Alternatively, the information processing program may be a magnetic disk (HDD, floppy disk), an optical disk (CD-ROM, DVD-ROM, Blu-ray disk, etc.), a magneto-optical disk (MO etc.), a flash memory (SD card, USB memory, etc.) It may be stored in a computer readable storage medium such as an SSD). In this case, the storage medium is communicably connected to the control device 120, whereby the information processing program stored in the storage medium is incorporated in the storage unit 123. Then, the information processing program incorporated in the storage unit 123 is loaded onto the RAM, and the processor executes the loaded program, whereby the control unit 121 executes the information processing method according to the present embodiment.

また、情報処理プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部123に組み込まれる。   Also, the information processing program may be downloaded from a computer on the communication network 3 via the communication interface 125. Also in this case, the downloaded program is incorporated in the storage unit 123.

以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。   Although the embodiments of the present disclosure have been described above, the technical scope of the present invention should not be construed as limited by the description of the present embodiments. It is understood by those skilled in the art that the present embodiment is an example, and that modifications of various embodiments are possible 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 scope of equivalents thereof.

本実施形態では、ユーザUの手の動きを示す外部コントローラ320の動きに応じて、手オブジェクトの移動が制御されているが、ユーザUの手自体の移動量に応じて、仮想空間内における手オブジェクト400の移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの手指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ130により、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。また、位置センサ130は、ユーザUの手(手指を含む)を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの手指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像データに基づいて、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。   In the present embodiment, the movement of the hand object is controlled according to the movement of the external controller 320 indicating the movement of the user U's hand, but the hand within the virtual space is controlled according to the movement amount of the user U's hand itself. Movement of the object 400 may be controlled. For example, instead of using an external controller, the position sensor 130 can detect the position and movement amount of the hand of the user U by using a glove type device or a ring type device attached to the user's finger. The movement and state of the user's U finger can be detected. Further, the position sensor 130 may be a camera configured to capture an image of a hand (including fingers) of the user U. In this case, by imaging the user's hand using a camera, the user U's hand position or movement is made based on the image data on which the user's hand is displayed, without putting any device directly on the user's finger. While being able to detect quantity, movement and the state of user's U finger can be detected.

また、本実施形態では、ユーザUの頭部以外の身体の一部である手の位置及び/又は動きに応じて、手オブジェクトがボタンオブジェクトの操作部に与える影響を規定するコリジョン効果が設定されているが、本実施形態はこれには限定されない。例えば、ユーザUの頭部以外の身体の一部である足の位置及び/又は動きに応じて、ユーザUの足の動きに連動する足オブジェクト(操作オブジェクトの一例)が対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。このように、本実施形態では、当該ユーザUの身体の一部と連動する操作オブジェクトが対象オブジェクトに与える影響を規定するコリジョン効果が設定されてもよい。   Further, in the present embodiment, a collision effect that defines the influence of the hand object on the operation unit of the button object is set according to the position and / or movement of the hand that is a part of the body other than the head of the user U. However, the present embodiment is not limited to this. For example, according to the position and / or movement of the foot that is a part of the body other than the head of the user U, the influence exerted on the target object by the foot object (an example of the operation object) linked to the movement of the foot of the user U A defined collision effect may be set. As described above, in the present embodiment, a collision effect may be set that defines the influence on the target object of the operation object linked to a part of the user U's body.

また、本実施形態では、手オブジェクトにより所定の影響を受ける仮想オブジェクトの一例としてブロックオブジェクト500やボタンオブジェクト600が説明されているが、仮想オブジェクトの属性は特に限定されない。例えば、仮想オブジェクト(対象オブジェクト)が他のユーザにより操作されるアバターの場合、コリジョン効果としてアバターに与えられるダメージ量が設定されてもよい。   Further, in the present embodiment, the block object 500 and the button object 600 are described as an example of a virtual object that is subject to a predetermined influence by a hand object, but the attribute of the virtual object is not particularly limited. For example, when the virtual object (target object) is an avatar operated by another user, the amount of damage given to the avatar may be set as a collision effect.

1:HMDシステム
3:通信ネットワーク
21:中心位置
112:表示部
114:センサ
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
140:注視センサ
200:仮想空間
300:仮想カメラ
302:操作ボタン
302a:プッシュ式ボタン
302b:プッシュ式ボタン
302e:トリガー式ボタン
302f:トリガー式ボタン
304:検知点
320:外部コントローラ(コントローラ)
320i:アナログスティック
320L:左手用外部コントローラ(コントローラ)
320R:右手用外部コントローラ(コントローラ)
322:天面
324:グリップ
326:フレーム
400:手オブジェクト
400L:左手オブジェクト
400R:右手オブジェクト
500:ブロックオブジェクト
600:ボタンオブジェクト
620:操作部
620a:接触面
1: HMD system 3: communication network 21: central position 112: display unit 114: sensor 120: control device 121: control unit 123: storage unit 124: I / O interface 125: communication interface 126: bus 130: position sensor 140: Gaze sensor 200: virtual space 300: virtual camera 302: operation button 302a: push button 302b: push button 302e: trigger button 302f: trigger button 304: detection point 320: external controller (controller)
320i: Analog stick 320L: External controller (controller) for left hand
320R: Right-handed external controller (controller)
322: top surface 324: grip 326: frame 400: hand object 400L: left hand object 400R: right hand object 500: block object 600: button object 620: operation unit 620a: contact surface

Claims (7)

ヘッドマウントデバイスと、前記ヘッドマウントデバイスの位置とユーザの頭部以外の身体の一部の位置を検出するように構成された位置センサとを備えたシステムにおけるコンピュータにより実行される情報処理方法であって、
(a)仮想カメラと、操作オブジェクトと、対象オブジェクトとを含む仮想空間を規定する仮想空間データを生成するステップと、
(b)前記ヘッドマウントデバイスの位置及び傾きに基づいて、前記仮想カメラの視野を特定するステップと、
(c)前記仮想カメラの視野と前記仮想空間データに基づいて、前記ヘッドマウントデバイスに視野画像を表示させるステップと、
(d)前記ユーザの身体の一部の位置に基づいて、前記操作オブジェクトの位置を特定するステップと、を含み、
前記操作オブジェクトのコリジョンエリアが前記対象オブジェクトのコリジョンエリアに意図的に接触したかどうかを判定するための所定の条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに所定の影響を与えない、情報処理方法。
A computer implemented information processing method in a system comprising a head mounted device, and a position sensor configured to detect the position of the head mounted device and the position of a part of the body other than the head of the user. ,
(A) generating virtual space data defining a virtual space including a virtual camera, an operation object, and a target object;
(B) identifying the field of view of the virtual camera based on the position and tilt of the head mount device;
(C) displaying a view image on the head mounted device based on the view of the virtual camera and the virtual space data;
(D) specifying the position of the operation object based on the position of the body part of the user;
If it is determined that the predetermined condition for determining whether the collision area of the operation object intentionally contacts the collision area of the target object is not satisfied, the operation object exerts a predetermined influence on the target object. Do not give, information processing method.
(e)前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記所定の条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることである、請求項1に記載の情報処理方法。
(E) further comprising the step of identifying an absolute velocity of the head mounted device;
The information processing method according to claim 1, wherein the predetermined condition is that an absolute velocity of the head mount device is equal to or less than a predetermined value.
前記所定の条件は、第1条件と第2条件とを含み、
前記第1条件は、前記ヘッドマウントデバイスに関連した条件であり、
前記第2条件は、前記第1条件とは異なる条件であり、
前記第1条件及び前記第2条件が満たされないと判定された場合、前記操作オブジェクトは前記対象オブジェクトに前記所定の影響を与えない、請求項1又は2に記載の情報処理方法。
The predetermined condition includes a first condition and a second condition,
The first condition is a condition associated with the head mount device,
The second condition is a condition different from the first condition,
The information processing method according to claim 1, wherein the operation object does not exert the predetermined influence on the target object when it is determined that the first condition and the second condition are not satisfied.
(e)前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第1条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第2条件は、前記操作オブジェクトが前記仮想カメラの視野内に存在することである、請求項3に記載の情報処理方法。
(E) further comprising the step of identifying an absolute velocity of the head mounted device;
The first condition is that the absolute velocity of the head mount device is equal to or less than a predetermined value, and
The information processing method according to claim 3, wherein the second condition is that the operation object is present in a field of view of the virtual camera.
(e)前記ヘッドマウントデバイスの絶対速度を特定するステップをさらに含み、
前記第1条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第2条件は、前記操作オブジェクトと前記対象オブジェクトのうちの少なくとも一つが前記仮想カメラの視野内に存在することである、請求項3に記載の情報処理方法。
(E) further comprising the step of identifying an absolute velocity of the head mounted device;
The first condition is that the absolute velocity of the head mount device is equal to or less than a predetermined value, and
The information processing method according to claim 3, wherein the second condition is that at least one of the operation object and the target object is present in a field of view of the virtual camera.
(e)前記ヘッドマウントデバイスの絶対速度を特定するステップと、
(f)前記ヘッドマウントデバイスに対する前記ユーザの前記身体の一部の相対速度を特定するステップと、をさらに含み、
前記第1条件は、前記ヘッドマウントデバイスの絶対速度が所定の値以下であることであって、
前記第2条件は、前記相対速度が所定の値よりも大きいことである、請求項3に記載の情報処理方法。
(E) identifying an absolute velocity of the head mounted device;
(F) determining the relative velocity of the portion of the body of the user relative to the head mounted device.
The first condition is that the absolute velocity of the head mount device is equal to or less than a predetermined value, and
The information processing method according to claim 3, wherein the second condition is that the relative velocity is larger than a predetermined value.
請求項1から6のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the information processing method according to any one of claims 1 to 6.
JP2018229111A 2018-12-06 2018-12-06 Information processing method and program for causing computer to execute the method Pending JP2019083022A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018229111A JP2019083022A (en) 2018-12-06 2018-12-06 Information processing method and program for causing computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018229111A JP2019083022A (en) 2018-12-06 2018-12-06 Information processing method and program for causing computer to execute the method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017006886A Division JP6449922B2 (en) 2016-07-28 2017-01-18 Information processing method and program for causing computer to execute information processing method

Publications (1)

Publication Number Publication Date
JP2019083022A true JP2019083022A (en) 2019-05-30

Family

ID=66670547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018229111A Pending JP2019083022A (en) 2018-12-06 2018-12-06 Information processing method and program for causing computer to execute the method

Country Status (1)

Country Link
JP (1) JP2019083022A (en)

Similar Documents

Publication Publication Date Title
JP6093473B1 (en) Information processing method and program for causing computer to execute information processing method
JP6122537B1 (en) Information processing method and program for causing computer to execute information processing method
JP6117414B1 (en) Information processing method and program for causing computer to execute information processing method
WO2018020735A1 (en) Information processing method and program for causing computer to execute information processing method
JP2017187952A (en) Display control method and program for causing computer to execute the method
JP6220937B1 (en) Information processing method, program for causing computer to execute information processing method, and computer
JP6994005B2 (en) Information processing methods, information processing programs, information processing systems and information processing equipment
JP6118444B1 (en) Information processing method and program for causing computer to execute information processing method
JP6140871B1 (en) Information processing method and program for causing computer to execute information processing method
JP2018032217A (en) Information processing method, program enabling computer to execute method and computer
JP6113897B1 (en) Method for providing virtual space, method for providing virtual experience, program, and recording medium
JP2018195255A (en) Information processing method, information processing program, information processing system, and information processing apparatus
JP6416338B1 (en) Information processing method, information processing program, information processing system, and information processing apparatus
JP6449922B2 (en) Information processing method and program for causing computer to execute information processing method
JP6535699B2 (en) INFORMATION PROCESSING METHOD, INFORMATION PROCESSING PROGRAM, AND INFORMATION PROCESSING APPARATUS
JP2018026105A (en) Information processing method, and program for causing computer to implement information processing method
JP2018110871A (en) Information processing method, program enabling computer to execute method and computer
JP6403843B1 (en) Information processing method, information processing program, and information processing apparatus
JP6122194B1 (en) Information processing method and program for causing computer to execute information processing method
JP2019083022A (en) Information processing method and program for causing computer to execute the method
JP6934374B2 (en) How it is performed by a computer with a processor
JP6469752B2 (en) INFORMATION PROCESSING METHOD, INFORMATION PROCESSING PROGRAM, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING APPARATUS
JP2018018499A (en) Information processing method and program for causing computer to execute the method
JP2018026099A (en) Information processing method and program for causing computer to execute the information processing method
JP2018045338A (en) Information processing method and program for causing computer to execute the information processing method