JP7064265B2 - Programs, information processing devices, and information processing methods for providing virtual experiences - Google Patents

Programs, information processing devices, and information processing methods for providing virtual experiences Download PDF

Info

Publication number
JP7064265B2
JP7064265B2 JP2017228020A JP2017228020A JP7064265B2 JP 7064265 B2 JP7064265 B2 JP 7064265B2 JP 2017228020 A JP2017228020 A JP 2017228020A JP 2017228020 A JP2017228020 A JP 2017228020A JP 7064265 B2 JP7064265 B2 JP 7064265B2
Authority
JP
Japan
Prior art keywords
region
user
virtual space
virtual
hmd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017228020A
Other languages
Japanese (ja)
Other versions
JP2019101468A (en
Inventor
健志 加田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to JP2017228020A priority Critical patent/JP7064265B2/en
Publication of JP2019101468A publication Critical patent/JP2019101468A/en
Application granted granted Critical
Publication of JP7064265B2 publication Critical patent/JP7064265B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、仮想体験を提供するためのプログラム、情報処理装置、及び情報処理方法に関する。 The present disclosure relates to programs, information processing devices, and information processing methods for providing virtual experiences.

近年、ユーザに仮想現実空間(VR空間。以下、仮想空間ともいう)を体験させることが可能な様々なデバイスが開発されている。例えば、ユーザは、ヘッドマウントディスプレイを装着して仮想空間内のアバターを操作することで、仮想空間上のゲームをプレイすることができる。ユーザの現実空間における位置や動きは、トラッキングセンサによって追跡され、それらがアバターに反映される。特許文献1には、ユーザが、異なる身長の仮想ユーザ(アバター)になって仮想空間を体験することを可能にする技術が開示されている。 In recent years, various devices have been developed that allow users to experience a virtual reality space (VR space, hereinafter also referred to as a virtual space). For example, a user can play a game in virtual space by wearing a head-mounted display and operating an avatar in virtual space. The position and movement of the user in the real space are tracked by the tracking sensor, and they are reflected in the avatar. Patent Document 1 discloses a technique that enables a user to experience a virtual space as a virtual user (avatar) of a different height.

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

例えば仮想空間上のゲームでは、アバターの身体若しくは身体の一部、又はアバターが把持している物体(例えば剣などの近接攻撃用武器)が、仮想空間内の他の物体(例えば敵キャラクタや周囲の障害物)と接触したか否かのコリジョン判定が重要な意味を持つ。ユーザ毎に身体の大きさに差があることが原因でこのコリジョン判定が正しく行われないと、ゲームに対するユーザのプレイ感覚が異なったものとなってしまう。例えば、腕の短いユーザのアバターは、腕の長いユーザのアバターよりもリーチが短いので、アバターと敵キャラクタとの距離が同じであっても、腕の長いユーザのアバターは敵キャラクタに攻撃が届き、腕の短いユーザのアバターは敵キャラクタに攻撃が届かないということが起こり得る。特許文献1の技術は、単に仮想ユーザ(アバター)の身体の大きさを異ならせているだけであり、物体同士のコリジョンに関して考慮していない。 For example, in a game in virtual space, the avatar's body or part of the body, or an object held by the avatar (eg, a melee assault weapon such as a sword) is another object in virtual space (eg, an enemy character or surroundings). Collision judgment as to whether or not it has come into contact with an obstacle) is important. If this collision determination is not performed correctly due to the difference in body size among users, the user's sense of play for the game will be different. For example, a short-armed user's avatar has a shorter reach than a long-armed user's avatar, so even if the distance between the avatar and the enemy character is the same, the long-armed user's avatar will reach the enemy character. , It is possible that the avatar of a short-armed user will not reach the enemy character. The technique of Patent Document 1 merely makes the body sizes of virtual users (avatars) different, and does not consider collisions between objects.

本開示は、上記の点に鑑みてなされたものであり、その目的の1つは、仮想空間におけるユーザ体験を改善する方法を提供することにある。 The present disclosure has been made in view of the above points, and one of the purposes thereof is to provide a method for improving the user experience in the virtual space.

上述した課題を解決するために、本開示の一態様は、ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータに、前記ユーザの身体に関連する幾何学的特徴を特定するステップと、前記仮想体験を提供するための仮想空間を特定するステップと、前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップと、前記仮想視点からの視界を表す視界画像を生成するステップと、前記視界画像を前記画像表示装置に表示させるステップと、を実行させるためのプログラムである。 In order to solve the above-mentioned problems, one aspect of the present disclosure relates to a computer for providing a virtual experience to the user via an image display device associated with the user's head, the user's body. A step of specifying a geometric feature, a step of specifying a virtual space for providing the virtual experience, and a step of controlling the view from a virtual viewpoint in the virtual space according to the movement of the user's head. A step of moving the first object in the virtual space according to the movement of the user, and a first region determined according to the first object and the geometric feature based on the geometric feature. , And a step of adjusting at least one of the second regions set for the second object in the virtual space, a step of generating a view image representing the view from the virtual viewpoint, and the view image as the image. It is a program for executing the steps to be displayed on the display device.

また、本開示の他の一態様は、ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するための情報処理装置であって、プロセッサと、プログラムを格納するメモリと、を備え、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、前記ユーザの身体に関連する幾何学的特徴を特定するステップと、前記仮想体験を提供するための仮想空間を特定するステップと、前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップと、前記仮想視点からの視界を表す視界画像を生成するステップと、前記視界画像を前記画像表示装置に表示させるステップと、を実行させるように構成される、情報処理装置である。 Another aspect of the present disclosure is an information processing device for providing a virtual experience to the user via an image display device associated with the user's head, which is a processor and a memory for storing a program. When executed by the processor, the program identifies to the processor a step of identifying geometric features associated with the user's body and a virtual space for providing the virtual experience. A step of controlling the view from the virtual viewpoint in the virtual space according to the movement of the user's head, and a step of moving the first object in the virtual space according to the movement of the user. , At least one of a first region determined according to the first object and the geometric feature based on the geometric feature, and a second region set for the second object in the virtual space. Is an information processing device configured to execute a step of adjusting, a step of generating a view image representing the view from the virtual viewpoint, and a step of displaying the view image on the image display device. ..

また、本開示の他の一態様は、ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するための情報処理方法であって、前記ユーザの身体に関連する幾何学的特徴を特定するステップと、前記仮想体験を提供するための仮想空間を特定するステップと、前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップと、前記仮想視点からの視界を表す視界画像を生成するステップと、前記視界画像を前記画像表示装置に表示させるステップと、を含む情報処理方法である。 Further, another aspect of the present disclosure is an information processing method for providing a virtual experience to the user via an image display device associated with the user's head, which is a geometry related to the user's body. A step of specifying a geometric feature, a step of specifying a virtual space for providing the virtual experience, and a step of controlling the view from a virtual viewpoint in the virtual space according to the movement of the user's head. A step of moving a first object in the virtual space according to the movement of the user, and a first region determined according to the first object and the geometric feature based on the geometric feature. And a step of adjusting at least one of the second regions set for the second object in the virtual space, a step of generating a view image representing the view from the virtual viewpoint, and displaying the view image as the image. It is an information processing method including a step to be displayed on the device.

本発明によれば、仮想空間におけるユーザ体験を改善する方法を提供することができる。 INDUSTRIAL APPLICABILITY According to the present invention, it is possible to provide a method for improving the user experience in a virtual space.

HMDシステム100の構成を概略的に示す。The configuration of the HMD system 100 is shown schematically. 一実施形態による、コンピュータの基本的なハードウェア構成の例を表すブロック図である。It is a block diagram which shows the example of the basic hardware composition of a computer by one Embodiment. 一実施形態による、HMDに設定されるuvw視野座標系を概念的に表す図である。It is a figure which conceptually represents the uvw field of view coordinate system set in the HMD by one Embodiment. 一実施形態による、仮想空間を表現する一態様を概念的に表す図である。It is a figure which conceptually represents one aspect which expresses a virtual space by one Embodiment. 一実施形態による、HMD110を装着するユーザの頭部を上から表した図である。It is the figure which showed the head of the user who wears HMD110 by one Embodiment from the top. 仮想空間において視認領域をx方向から見たyz断面を表す図である。It is a figure which shows the yz cross section which looked at the visual recognition area from the x direction in a virtual space. 仮想空間において視認領域をy方向から見たxz断面を表す図である。It is a figure which shows the xz cross section which looked at the visual recognition area from the y direction in a virtual space. 一実施形態によるコントローラの概略構成を表す図である。It is a figure which shows the schematic structure of the controller by one Embodiment. 一実施形態による、HMDシステムにおける仮想空間の表示処理等を実現するためのコンピュータの機能を示すブロック図である。It is a block diagram which shows the function of the computer for realizing the display processing of the virtual space in the HMD system by one Embodiment. ユーザが没入する仮想空間の画像を表示部に表示するための一般的な処理のフロー図である。It is a flow diagram of a general process for displaying an image of a virtual space in which a user is immersive on a display unit. 本開示の一実施形態による方法1100のフローチャートである。It is a flowchart of the method 1100 by one Embodiment of this disclosure. 本開示の一実施形態において想定されるゲームの一態様例を概略的に説明する図である。It is a figure which schematically explains one aspect example of the game assumed in one Embodiment of this disclosure. ステップ1104を実施するための具体的な手順を示す例示的な方法のフローチャートである。It is a flowchart of an exemplary method which shows the specific procedure for carrying out a step 1104. 方法1100の実施形態における第1領域及び第2領域を示す図である。It is a figure which shows the 1st region and the 2nd region in embodiment of the method 1100. 方法1100の実施形態における第1領域がどのように拡大されるかの一態様例を示す図である。It is a figure which shows one aspect example of how the 1st region in an embodiment of a method 1100 is expanded. 本開示の別の実施形態による方法1150のフローチャートである。It is a flowchart of the method 1150 by another embodiment of this disclosure. 方法1150の実施形態における第1領域及び第2領域を示す図である。It is a figure which shows the 1st region and the 2nd region in embodiment of the method 1150. 方法1150の実施形態における第1領域がどのように縮小されるかの一態様例を示す図である。It is a figure which shows one aspect example of how the 1st region in an embodiment of a method 1150 is reduced.

[本開示の実施形態の説明]
最初に、本開示の実施形態の内容を列記して説明する。本開示の一実施形態は、以下のような構成を備える。
[Explanation of Embodiments of the present disclosure]
First, the contents of the embodiments of the present disclosure will be listed and described. One embodiment of the present disclosure comprises the following configurations.

(項目1)ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータに、前記ユーザの身体に関連する幾何学的特徴を特定するステップと、前記仮想体験を提供するための仮想空間を特定するステップと、前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップと、前記仮想視点からの視界を表す視界画像を生成するステップと、前記視界画像を前記画像表示装置に表示させるステップと、を実行させるためのプログラム。 (Item 1) A step of identifying a geometric feature related to the user's body on a computer for providing a virtual experience to the user via an image display device associated with the user's head, and the virtual. A step of specifying a virtual space for providing an experience, a step of controlling the view from a virtual viewpoint in the virtual space according to the movement of the user's head, and the virtual according to the movement of the user. For the step of moving the first object in space, the first region determined according to the first object and the geometric feature based on the geometric feature, and the second object in the virtual space. To execute a step of adjusting at least one of the second regions set in the above, a step of generating a view image representing the view from the virtual viewpoint, and a step of displaying the view image on the image display device. Program.

(項目2)前記調整するステップは、前記第1領域の大きさ又は形状、前記仮想空間内における前記第2オブジェクトの位置、前記仮想空間内における前記第2領域の位置、及び前記第2領域の大きさ又は形状のうちの少なくとも1つを調整することを含む、項目1に記載のプログラム。 (Item 2) The adjustment step includes the size or shape of the first region, the position of the second object in the virtual space, the position of the second region in the virtual space, and the second region. The program of item 1, comprising adjusting at least one of size or shape.

(項目3)前記調整するステップは、前記第1オブジェクトと前記第2オブジェクトが所定の位置関係にある時の前記第1領域と前記第2領域との重なり度合いが所定の範囲内に収まらない場合、前記重なり度合いが前記所定の範囲内に収まるように、前記第1領域の大きさ又は形状、前記仮想空間内における前記第2オブジェクトの位置、前記仮想空間内における前記第2領域の位置、及び前記第2領域の大きさ又は形状のうちの少なくとも1つを調整することを含む、項目2に記載のプログラム。 (Item 3) The adjustment step is when the degree of overlap between the first region and the second region when the first object and the second object are in a predetermined positional relationship does not fall within a predetermined range. The size or shape of the first region, the position of the second object in the virtual space, the position of the second region in the virtual space, and the position of the second region so that the degree of overlap is within the predetermined range. The program of item 2, comprising adjusting at least one of the sizes or shapes of the second region.

(項目4)前記幾何学的特徴は、前記ユーザの身体の特定の部位の長さを含み、前記動かすステップは、前記特定の部位の少なくとも一部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、前記第1オブジェクトは、前記特定の部位の前記少なくとも一部に対応するオブジェクトであり、前記調整するステップは、前記特定の部位の長さが基準長よりも短い場合、前記第1領域の大きさを大きくする、前記第2オブジェクトの位置を前記第1オブジェクトに近づける、前記第2領域の位置を前記第1オブジェクトに近づける、前記第2領域の大きさを大きくする、及び前記第1領域と前記第2領域との重なり度合いが大きくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、項目2又は3に記載のプログラム。 (Item 4) The geometric feature includes the length of a specific part of the user's body, and the moving step is said in the virtual space in response to the movement of at least a part of the specific part. The first object comprises moving the first object, the first object is an object corresponding to the at least a portion of the particular part, and the adjusting step is such that the length of the particular part is shorter than the reference length. In the case, the size of the first area is increased, the position of the second object is brought closer to the first object, the position of the second area is brought closer to the first object, and the size of the second area is increased. 2. The item 2 includes performing at least one of changing the shape of the first region or the second region so that the degree of overlap between the first region and the second region becomes large. Or the program described in 3.

(項目5)前記幾何学的特徴は、前記ユーザの身体の特定の部位の長さを含み、前記動かすステップは、前記特定の部位の少なくとも一部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、前記第1オブジェクトは、前記特定の部位の前記少なくとも一部に対応するオブジェクトであり、前記調整するステップは、前記特定の部位の長さが基準長よりも長い場合、前記第1領域の大きさを小さくする、前記第2オブジェクトの位置を前記第1オブジェクトから遠ざける、前記第2領域の位置を前記第1オブジェクトから遠ざける、前記第2領域の大きさを小さくする、及び前記第1領域と前記第2領域との重なり度合いが小さくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、項目2から4のいずれか1項に記載のプログラム。 (Item 5) The geometric feature includes the length of a specific part of the user's body, and the moving step is said in the virtual space in response to the movement of at least a part of the specific part. The first object comprises moving the first object, the first object is an object corresponding to the at least a portion of the particular part, and the adjusting step is such that the length of the particular part is longer than the reference length. In the case, the size of the first region is reduced, the position of the second object is moved away from the first object, the position of the second region is moved away from the first object, and the size of the second region is reduced. 2. The item 2 includes performing at least one of changing the shape of the first region or the second region so that the degree of overlap between the first region and the second region is reduced. The program according to any one of 4 to 4.

(項目6)前記第1領域は、前記ユーザの動きに応じた前記第1オブジェクトの可動領域と、前記第1オブジェクトに接して配置される第3オブジェクトに対して設定されているコリジョン領域とに応じて決定される、項目1から5のいずれか1項に記載のプログラム。 (Item 6) The first area includes a movable area of the first object according to the movement of the user and a collision area set for a third object arranged in contact with the first object. The program according to any one of items 1 to 5, which is determined accordingly.

(項目7)前記幾何学的特徴は、前記ユーザの身長を含み、前記動かすステップは、前記ユーザの頭部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、前記第1オブジェクトは、前記仮想視点に対応して配置された仮想カメラ、又は前記頭部に対応するオブジェクトを少なくとも含むオブジェクトのいずれかであり、前記調整するステップは、前記ユーザの身長が基準高よりも高い場合、前記第1領域の大きさを小さくする、前記第2オブジェクトの位置を高くする、前記第2領域の位置を高くする、前記第2領域の大きさを小さくする、及び前記第1領域と前記第2領域との重なり度合いが小さくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、項目2又は3に記載のプログラム。 (Item 7) The geometric feature includes the height of the user, and the moving step includes moving the first object in the virtual space in response to the movement of the user's head. The first object is either a virtual camera arranged corresponding to the virtual viewpoint or an object including at least an object corresponding to the head, and in the adjusting step, the height of the user is higher than the reference height. If it is also high, the size of the first region is reduced, the position of the second object is raised, the position of the second region is raised, the size of the second region is reduced, and the first The program according to item 2 or 3, comprising performing at least one of changing the shape of the first region or the second region so that the degree of overlap between the regions and the second region is reduced. ..

(項目8)前記幾何学的特徴は、前記ユーザの身長を含み、前記動かすステップは、前記ユーザの頭部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、前記第1オブジェクトは、前記仮想視点に対応して配置された仮想カメラ、又は前記頭部に対応するオブジェクトを少なくとも含むオブジェクトのいずれかであり、前記調整するステップは、前記ユーザの身長が基準高よりも低い場合、前記第1領域の大きさを大きくする、前記第2オブジェクトの位置を低くする、前記第2領域の位置を低くする、前記第2領域の大きさを大きくする、及び前記第1領域と前記第2領域との重なり度合いが大きくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、項目2、3、又は7のいずれか1項に記載のプログラム。 (Item 8) The geometric feature includes the height of the user, and the moving step includes moving the first object in the virtual space in response to the movement of the user's head. The first object is either a virtual camera arranged corresponding to the virtual viewpoint or an object including at least an object corresponding to the head, and in the adjusting step, the height of the user is higher than the reference height. If it is also low, the size of the first region is increased, the position of the second object is lowered, the position of the second region is lowered, the size of the second region is increased, and the first Item 2, 3, or 7, which comprises performing at least one of changing the shape of the first region or the second region so that the degree of overlap between the region and the second region becomes large. The program described in any one of the items.

(項目9)前記第1領域は、前記第1オブジェクトに対して設定されているコリジョン領域である、項目1から3、7、又は8のいずれか1項に記載のプログラム。 (Item 9) The program according to any one of items 1 to 3, 7, or 8, wherein the first area is a collision area set for the first object.

(項目10)前記第2領域は、前記第2オブジェクトに対して設定されているコリジョン領域である、項目1から9のいずれか1項に記載のプログラム。 (Item 10) The program according to any one of items 1 to 9, wherein the second area is a collision area set for the second object.

(項目11)前記第2オブジェクトは、前記仮想視点からの視界内に含まれる、項目1から10のいずれか1項に記載のプログラム。 (Item 11) The program according to any one of items 1 to 10, wherein the second object is included in the field of view from the virtual viewpoint.

(項目12)前記第1オブジェクトは、前記ユーザに対応する前記仮想空間内のアバターであり、更に、前記ユーザの身長に基づいて前記アバターの身長を調整するステップを含む、項目1から11のいずれか1項に記載のプログラム。 (Item 12) The first object is an avatar in the virtual space corresponding to the user, and any of items 1 to 11 including a step of adjusting the height of the avatar based on the height of the user. Or the program described in Section 1.

(項目13)前記幾何学的特徴を特定するステップは、前記ユーザの身体の少なくとも一部分をトラッキングするステップと、前記トラッキングの結果に基づいて前記ユーザの身体の幾何学的特徴を決定するステップと、を含む、項目1から12のいずれか1項に記載のプログラム。 (Item 13) The steps for specifying the geometric feature include a step of tracking at least a part of the user's body and a step of determining the geometric feature of the user's body based on the result of the tracking. The program according to any one of items 1 to 12, wherein the program comprises.

(項目14)ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するための情報処理装置であって、プロセッサと、プログラムを格納するメモリと、を備え、前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、前記ユーザの身体に関連する幾何学的特徴を特定するステップと、前記仮想体験を提供するための仮想空間を特定するステップと、前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップと、前記仮想視点からの視界を表す視界画像を生成するステップと、前記視界画像を前記画像表示装置に表示させるステップと、を実行させるように構成される、情報処理装置。 (Item 14) An information processing device for providing a virtual experience to a user via an image display device associated with the user's head, comprising a processor and a memory for storing the program. Is executed by the processor to identify to the processor the geometric features associated with the user's body, the virtual space for providing the virtual experience, and the user's. The step of controlling the view from the virtual viewpoint in the virtual space according to the movement of the head, the step of moving the first object in the virtual space according to the movement of the user, and the geometric feature. Based on the step of adjusting at least one of the first region determined according to the first object and the geometric feature, and the second region set for the second object in the virtual space, and the above. An information processing device configured to execute a step of generating a view image representing a view from a virtual viewpoint and a step of displaying the view image on the image display device.

(項目15)ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するための情報処理方法であって、前記ユーザの身体に関連する幾何学的特徴を特定するステップと、前記仮想体験を提供するための仮想空間を特定するステップと、前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップと、前記仮想視点からの視界を表す視界画像を生成するステップと、前記視界画像を前記画像表示装置に表示させるステップと、を含む情報処理方法。 (Item 15) An information processing method for providing a virtual experience to a user via an image display device associated with the user's head, the step of identifying a geometric feature related to the user's body. A step of specifying a virtual space for providing the virtual experience, a step of controlling the view from a virtual viewpoint in the virtual space according to the movement of the user's head, and a step according to the movement of the user. The step of moving the first object in the virtual space, the first region determined according to the first object and the geometric feature based on the geometric feature, and the first in the virtual space. A step of adjusting at least one of the second regions set for the two objects, a step of generating a view image representing the view from the virtual viewpoint, a step of displaying the view image on the image display device, and a step of displaying the view image on the image display device. Information processing methods including.

[本開示の実施形態の詳細]
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
[Details of Embodiments of the present disclosure]
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1を参照して、ヘッドマウントデバイス(Head-Mounted Device、HMD)システム100の構成について説明する。図1は、HMDシステム100の構成を概略的に示す。一例では、HMDシステム100は、家庭用のシステム又は業務用のシステムとして提供される。HMDは、表示部を備える所謂ヘッドマウントディスプレイであってもよく、表示部を有するスマートフォン等の端末を装着可能なヘッドマウント機器であってもよい。 The configuration of the head-mounted device (HMD) system 100 will be described with reference to FIG. 1. FIG. 1 schematically shows the configuration of the HMD system 100. In one example, the HMD system 100 is provided as a home system or a business system. The HMD may be a so-called head-mounted display provided with a display unit, or may be a head-mounted device to which a terminal such as a smartphone having a display unit can be attached.

HMDシステム100は、HMD110(画像表示装置)と、トラッキングセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD110は、表示部112と、注視センサ140とを含む。コントローラ160は、モーションセンサ130を含んでもよい。 The HMD system 100 includes an HMD 110 (image display device), a tracking sensor 120, a controller 160, and a computer 200. The HMD 110 includes a display unit 112 and a gaze sensor 140. The controller 160 may include a motion sensor 130.

一例では、コンピュータ200は、インターネット等のネットワーク192に接続可能であってもよく、ネットワーク192に接続されるサーバ150等のコンピュータと通信可能であってもよい。別の態様において、HMD110は、トラッキングセンサ120の代わりにセンサ114を含んでもよい。 In one example, the computer 200 may be able to connect to a network 192 such as the Internet, or may be able to communicate with a computer such as a server 150 connected to the network 192. In another embodiment, the HMD 110 may include a sensor 114 instead of the tracking sensor 120.

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

表示部112は、例えば、非透過型の表示装置として実現される。一例では、表示部112は、ユーザの両目の前方に位置するように、HMD110の本体に配置される。したがって、ユーザは、表示部112に表示される3次元画像を視認すると、仮想空間に没入することができる。ある実施形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像等を含む。ある実施形態において、表示部112は、スマートフォン等の情報表示端末が備える液晶表示部又は有機EL(Electro Luminescence)表示部として実現され得る。 The display unit 112 is realized as, for example, a non-transparent display device. In one example, the display unit 112 is arranged on the main body of the HMD 110 so as to be located in front of both eyes of the user. Therefore, the user can immerse himself in the virtual space by visually recognizing the three-dimensional image displayed on the display unit 112. In certain embodiments, the virtual space includes, for example, a background, user-operable objects, user-selectable menu images, and the like. In certain embodiments, the display unit 112 can be realized as a liquid crystal display unit or an organic EL (Electroluminescence) display unit included in an information display terminal such as a smartphone.

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

一例では、HMD110は、複数の光源(図示せず)を含む。各光源は、例えば、赤外線を発するLED(Light Emitting Diode)により実現される。トラッキングセンサ120は、HMD110の動きを検出するためのポジショントラッキング機能を有する。より具体的には、トラッキングセンサ120は、HMD110が発する複数の赤外線を読み取り、現実空間内におけるHMD110の位置及び傾きを検出してもよい。 In one example, the HMD 110 includes a plurality of light sources (not shown). Each light source is realized by, for example, an LED (Light Emitting Diode) that emits infrared rays. The tracking sensor 120 has a position tracking function for detecting the movement of the HMD 110. More specifically, the tracking sensor 120 may read a plurality of infrared rays emitted by the HMD 110 and detect the position and inclination of the HMD 110 in the real space.

ある態様において、トラッキングセンサ120は、カメラにより実現されてもよい。この場合、トラッキングセンサ120は、カメラから出力されるHMD110の画像情報を用いて、画像解析処理を実行することにより、HMD110の位置及び傾きを検出することができる。また、トラッキングセンサ120は、カメラによって撮像されたユーザの画像を解析することにより、ユーザの身体の一部(例えば頭や手)の位置を検出するように構成されてもよい。 In some embodiments, the tracking sensor 120 may be implemented by a camera. In this case, the tracking sensor 120 can detect the position and tilt of the HMD 110 by executing the image analysis process using the image information of the HMD 110 output from the camera. Further, the tracking sensor 120 may be configured to detect the position of a part of the user's body (for example, the head or the hand) by analyzing the image of the user captured by the camera.

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

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

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

コントローラ160は、有線又は無線によりコンピュータ200に接続される。コントローラ160は、ユーザ190からコンピュータ200への命令の入力を受け付ける。ある態様において、コントローラ160は、ユーザ190によって把持可能に構成される。別の態様において、コントローラ160は、ユーザ190の身体又は衣類の一部に装着可能に構成される。別の態様において、コントローラ160は、コンピュータ200から送信される信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。別の態様において、コントローラ160は、ユーザ190から、仮想空間に配置されるオブジェクトの位置や動きを制御するための操作を受け付ける。 The controller 160 is connected to the computer 200 by wire or wirelessly. The controller 160 receives an instruction input from the user 190 to the computer 200. In some embodiments, the controller 160 is configured to be grippable by the user 190. In another embodiment, the controller 160 is configured to be wearable on a part of the body or clothing of the user 190. In another embodiment, the controller 160 may be configured to output at least one of vibration, sound, and light based on the signal transmitted from the computer 200. In another embodiment, the controller 160 receives from the user 190 an operation for controlling the position and movement of an object arranged in the virtual space.

ある態様において、モーションセンサ130は、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ130は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ200に送られる。モーションセンサ130は、例えば、手袋型のコントローラ160に設けられる。ある実施形態において、現実空間における安全のため、コントローラ160は、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の態様において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。ユーザ190の身体の様々な部分の位置、向き、動きの方向、動きの距離などを検知する光学式センサが用いられてもよい。例えば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表す信号として、コンピュータ200に入力されてもよい。モーションセンサ130とコンピュータ200とは、一例として、無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。 In some embodiments, the motion sensor 130 is attached to the user's hand to detect the movement of the user's hand. For example, the motion sensor 130 detects the rotation speed, the number of rotations, and the like of the hand. The detected signal is sent to the computer 200. The motion sensor 130 is provided in, for example, a glove-shaped controller 160. In certain embodiments, for safety in real space, it is desirable that the controller 160 be attached to something that does not easily fly by being attached to the user 190's hand, such as a glove type. In another embodiment, a sensor not attached to the user 190 may detect the movement of the user 190's hand. Optical sensors may be used to detect the position, orientation, direction of movement, distance of movement, etc. of various parts of the body of the user 190. For example, the signal of the camera that captures the user 190 may be input to the computer 200 as a signal representing the operation of the user 190. As an example, the motion sensor 130 and the computer 200 are wirelessly connected to each other. In the case of wireless communication, the communication mode is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication method is used.

図2を参照して、本開示の実施形態に係るコンピュータ200について説明する。図2は、本開示の一実施形態によるコンピュータ200の基本的なハードウェア構成の例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ202と、メモリ204と、ストレージ206と、入出力インターフェース208と、通信インターフェース210とを備える。各構成要素は、それぞれ、バス212に接続される。 The computer 200 according to the embodiment of the present disclosure will be described with reference to FIG. FIG. 2 is a block diagram showing an example of a basic hardware configuration of a computer 200 according to an embodiment of the present disclosure. The computer 200 includes a processor 202, a memory 204, a storage 206, an input / output interface 208, and a communication interface 210 as main components. Each component is connected to bus 212, respectively.

プロセッサ202は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ204又はストレージ206に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ202は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)等のデバイスとして実現される。 The processor 202 executes a series of instructions contained in the program stored in the memory 204 or the storage 206 based on the signal given to the computer 200 or when a predetermined condition is satisfied. In some embodiments, the processor 202 is realized as a device such as a CPU (Central Processing Unit), an MPU (Micro Processor Unit), or an FPGA (Field-Programmable Gate Array).

メモリ204は、プログラム及びデータを一時的に保存する。プログラムは、例えば、ストレージ206からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ202によって生成されたデータとを含む。ある態様において、メモリ204は、RAM(Random Access Memory)等の揮発性メモリとして実現される。 Memory 204 temporarily stores programs and data. The program is loaded from storage 206, for example. The data includes data input to the computer 200 and data generated by the processor 202. In some embodiments, the memory 204 is realized as a volatile memory such as a RAM (Random Access Memory).

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

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

ある実施形態において、入出力インターフェース208は、HMD110、トラッキングセンサ120及びモーションセンサ130との間で信号を通信する。ある態様において、入出力インターフェース208は、USB(Universal Serial Bus、USB)、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)等の端子を用いて実現される。なお、入出力インターフェース208は上述のものに限られない。 In certain embodiments, the input / output interface 208 communicates signals with the HMD 110, the tracking sensor 120, and the motion sensor 130. In some embodiments, the input / output interface 208 is implemented using terminals such as USB (Universal Serial Bus, USB), DVI (Digital Visual Interface), HDMI® (High-Definition Multimedia Interface), and the like. The input / output interface 208 is not limited to the above.

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

通信インターフェース210は、ネットワーク192に接続され、ネットワーク192に接続されている他のコンピュータ(例えば、サーバ150)と通信する。ある態様において、通信インターフェース210は、例えば、LAN(Local Area Network)等の有線通信インターフェース、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)等の無線通信インターフェースとして実現される。なお、通信インターフェース210は上述のものに限られない。 The communication interface 210 is connected to the network 192 and communicates with another computer (for example, the server 150) connected to the network 192. In some embodiments, the communication interface 210 is realized as, for example, a wired communication interface such as LAN (Local Area Network), or a wireless communication interface such as WiFi (Wireless Reference), Bluetooth (registered trademark), NFC (Near Field Communication), or the like. Will be done. The communication interface 210 is not limited to the above.

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

図2に示される例では、コンピュータ200は、HMD110の外部に設けられている。しかし、別の態様において、コンピュータ200は、HMD110に内蔵されてもよい。一例として、表示部112を含む携帯型の情報通信端末(例えば、スマートフォン)がコンピュータ200として機能してもよい。 In the example shown in FIG. 2, the computer 200 is provided outside the HMD 110. However, in another embodiment, the computer 200 may be built into the HMD 110. As an example, a portable information communication terminal (for example, a smartphone) including a display unit 112 may function as a computer 200.

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

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

ある態様において、トラッキングセンサ120は、赤外線センサを含む。赤外線センサが、HMD110の各光源から発せられた赤外線をそれぞれ検出すると、HMD110の存在を検出する。トラッキングセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD110を装着したユーザ190の動きに応じた、現実空間内におけるHMD110の位置及び傾きを検出する。より詳しくは、トラッキングセンサ120は、経時的に検出された各値を用いて、HMD110の位置及び傾きの時間的変化を検出できる。また、後述するように、トラッキングセンサ120は、コントローラ160から発せられる赤外線を検出することによって、現実空間におけるコントローラ160の位置及び傾きを検出するように構成されてもよい。 In some embodiments, the tracking sensor 120 includes an infrared sensor. When the infrared sensor detects infrared rays emitted from each light source of the HMD 110, the presence of the HMD 110 is detected. The tracking sensor 120 further detects the position and inclination of the HMD 110 in the real space according to the movement of the user 190 wearing the HMD 110 based on the value of each point (each coordinate value in the global coordinate system). More specifically, the tracking sensor 120 can detect a temporal change in the position and inclination of the HMD 110 by using each value detected over time. Further, as will be described later, the tracking sensor 120 may be configured to detect the position and tilt of the controller 160 in the real space by detecting the infrared rays emitted from the controller 160.

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

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

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

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

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

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

ある態様において、トラッキングセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度及び複数の点間の相対的な位置関係(例えば、各点間の距離等)に基づいて、HMD110の現実空間内における位置を、トラッキングセンサ120に対する相対位置として特定してもよい。また、プロセッサ202は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD110のuvw視野座標系の原点を決定してもよい。 In some embodiments, the tracking sensor 120 is an HMD 110 based on the infrared light intensity acquired based on the output from the infrared sensor and the relative positional relationship between the points (eg, the distance between the points, etc.). The position in the real space may be specified as a relative position with respect to the tracking sensor 120. Further, the processor 202 may determine the origin of the uvw visual field coordinate system of the HMD 110 in the real space (global coordinate system) based on the specified relative position.

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

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

HMD110の起動時、すなわちHMD110の初期状態において、仮想カメラ404が、仮想空間400の中心406に配置される。ある態様において、プロセッサ202は、仮想カメラ404が撮影する画像をHMD110の表示部112に表示する。仮想カメラ404は、現実空間におけるHMD110の動きに連動して、仮想空間400を同様に移動する。これにより、現実空間におけるHMD110の位置及び向きの変化が、仮想空間400において同様に再現され得る。 At the time of starting the HMD 110, that is, in the initial state of the HMD 110, the virtual camera 404 is arranged at the center 406 of the virtual space 400. In some embodiments, the processor 202 displays an image captured by the virtual camera 404 on the display unit 112 of the HMD 110. The virtual camera 404 moves in the virtual space 400 in the same manner as the movement of the HMD 110 in the real space. As a result, changes in the position and orientation of the HMD 110 in the real space can be similarly reproduced in the virtual space 400.

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

コンピュータ200のプロセッサ202は、仮想カメラ404の配置位置と、基準視線408とに基づいて、仮想空間400における視認領域410を規定する。視認領域410は、仮想空間400のうち、HMD110を装着したユーザが視認する領域に対応する。 The processor 202 of the computer 200 defines a viewing area 410 in the virtual space 400 based on the placement position of the virtual camera 404 and the reference line of sight 408. The viewing area 410 corresponds to the area of the virtual space 400 that is visually recognized by the user wearing the HMD 110.

注視センサ140によって検出されるユーザ190の視線は、ユーザ190が物体を視認する際の視点座標系における方向である。HMD110のuvw視野座標系は、ユーザ190が表示部112を視認する際の視点座標系に等しい。また、仮想カメラ404のuvw視野座標系は、HMD110のuvw視野座標系に連動している。したがって、ある態様に従うHMDシステム100は、注視センサ140によって検出されたユーザ190の視線を、仮想カメラ404のuvw視野座標系におけるユーザの視線とみなすことができる。 The line of sight of the user 190 detected by the gaze sensor 140 is a direction in the viewpoint coordinate system when the user 190 visually recognizes an object. The uvw field-of-view coordinate system of the HMD 110 is equal to the viewpoint coordinate system when the user 190 visually recognizes the display unit 112. Further, the uvw field-of-view coordinate system of the virtual camera 404 is linked to the uvw field-of-view coordinate system of the HMD 110. Therefore, the HMD system 100 according to a certain aspect can consider the line of sight of the user 190 detected by the gaze sensor 140 as the line of sight of the user in the uvw field-of-view coordinate system of the virtual camera 404.

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

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

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

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

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

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

図6及び図7を参照して、視認領域410について説明する。図6は、仮想空間400において視認領域410をx方向から見たyz断面を表す図である。図7は、仮想空間400において視認領域410をy方向から見たxz断面を表す図である。 The visual recognition area 410 will be described with reference to FIGS. 6 and 7. FIG. 6 is a diagram showing a yz cross section of the visual recognition area 410 viewed from the x direction in the virtual space 400. FIG. 7 is a diagram showing an xz cross section of the visual recognition area 410 viewed from the y direction in the virtual space 400.

図6に示されるように、yz断面における視認領域410は、領域602を含む。領域602は、仮想カメラ404の配置位置と基準視線408と仮想空間400のyz断面とによって定義される。プロセッサ202は、仮想空間おける基準視線408を中心として極角αを含む範囲を、領域602として規定する。 As shown in FIG. 6, the visible region 410 in the yz cross section includes the region 602. The area 602 is defined by the arrangement position of the virtual camera 404, the reference line of sight 408, and the yz cross section of the virtual space 400. The processor 202 defines a range including the polar angle α around the reference line of sight 408 in the virtual space as a region 602.

図7に示されるように、xz断面における視認領域410は、領域702を含む。領域702は、仮想カメラ404の配置位置と基準視線408と仮想空間400のxz断面とによって定義される。プロセッサ202は、仮想空間400における基準視線408を中心とした方位角βを含む範囲を、領域702として規定する。極角α及びβは、仮想カメラ404の配置位置と仮想カメラ404の向きとに応じて定まる。 As shown in FIG. 7, the visible region 410 in the xz cross section includes the region 702. The area 702 is defined by the arrangement position of the virtual camera 404, the reference line of sight 408, and the xz cross section of the virtual space 400. The processor 202 defines a range including the azimuth angle β centered on the reference line of sight 408 in the virtual space 400 as a region 702. The polar angles α and β are determined according to the arrangement position of the virtual camera 404 and the orientation of the virtual camera 404.

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

このように、仮想カメラ404の向き(傾き)は仮想空間400におけるユーザの視線(基準視線408)に相当し、仮想カメラ404が配置される位置は、仮想空間400におけるユーザの視点に相当する。したがって、仮想カメラ404を移動(配置位置を変える動作、向きを変える動作を含む)させることにより、表示部112に表示される画像が更新され、ユーザ190の視界(視点、視線を含む)が移動される。 As described above, the direction (tilt) of the virtual camera 404 corresponds to the user's line of sight (reference line of sight 408) in the virtual space 400, and the position where the virtual camera 404 is arranged corresponds to the user's viewpoint in the virtual space 400. Therefore, by moving the virtual camera 404 (including the operation of changing the arrangement position and the operation of changing the direction), the image displayed on the display unit 112 is updated, and the field of view (including the viewpoint and the line of sight) of the user 190 is moved. Will be done.

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

ある態様において、プロセッサ202は、HMD110を装着したユーザ190の現実空間における移動に連動して、仮想空間400において仮想カメラ404を移動し得る。この場合、プロセッサ202は、仮想空間400における仮想カメラ404の位置及び向きに基づいて、HMD110の表示部112に投影される画像領域(すなわち、仮想空間400における視認領域410)を特定する。 In some embodiments, the processor 202 may move the virtual camera 404 in the virtual space 400 in conjunction with the movement of the user 190 wearing the HMD 110 in real space. In this case, the processor 202 identifies an image area (that is, a viewing area 410 in the virtual space 400) projected onto the display unit 112 of the HMD 110 based on the position and orientation of the virtual camera 404 in the virtual space 400.

ある実施形態に従うと、仮想カメラ404は、2つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含んでもよい。また、ユーザ190が3次元の仮想空間400を認識できるように、適切な視差が、2つの仮想カメラに設定されてもよい。 According to certain embodiments, the virtual camera 404 may include two virtual cameras, a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. Further, appropriate parallax may be set in the two virtual cameras so that the user 190 can recognize the three-dimensional virtual space 400.

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

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

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

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

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

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

ある態様において、右コントローラ800及び左コントローラは、赤外線LED812等の部材を駆動するための電池を含む。電池は、1次電池及び2次電池のいずれであってもよく、その形状は、ボタン型、乾電池型等任意であり得る。別の態様において、右コントローラ800と左コントローラは、例えば、コンピュータ200のUSBインターフェースに接続され得る。この場合、右コントローラ800及び左コントローラは、USBインターフェースを介して電力を供給され得る。 In some embodiments, the right controller 800 and the left controller include a battery for driving a member such as an infrared LED 812. The battery may be either a primary battery or a secondary battery, and the shape thereof may be arbitrary such as a button type and a dry battery type. In another embodiment, the right controller 800 and the left controller may be connected to, for example, the USB interface of the computer 200. In this case, the right controller 800 and the left controller may be powered via the USB interface.

図9は、本開示の一実施形態による、HMDシステム100における仮想空間400の表示処理等を実現するための、コンピュータ200の機能を示すブロック図である。コンピュータ200は、主にトラッキングセンサ120、モーションセンサ130、注視センサ140、コントローラ160からの入力に基づいて、表示部112への画像出力を制御する。 FIG. 9 is a block diagram showing a function of the computer 200 for realizing display processing of the virtual space 400 in the HMD system 100 according to the embodiment of the present disclosure. The computer 200 controls the image output to the display unit 112 mainly based on the inputs from the tracking sensor 120, the motion sensor 130, the gaze sensor 140, and the controller 160.

コンピュータ200は、プロセッサ202と、メモリ204と、通信制御部205とを備える。プロセッサ202は、仮想空間特定部902と、HMD動作検知部903と、視線検知部904と、基準視線決定部906と、視界領域決定部908と、コントローラ動作検知部910と、視界画像生成部912と、視界画像出力部926とを含み得る。メモリ204は様々な情報を格納するように構成され得る。一例では、メモリ204は、仮想空間データ928、オブジェクトデータ930、アプリケーションデータ932、その他のデータ934を含んでもよい。メモリ204はまた、トラッキングセンサ120、モーションセンサ130、注視センサ140、コントローラ160等からの入力に対応した出力情報を、HMD110に関連付けられる表示部112へ提供するための演算に必要な各種データを含んでもよい。オブジェクトデータ930は、仮想空間内に配置される操作オブジェクト、仮想オブジェクト等に関するデータを含んでもよい。表示部112は、HMD110に内蔵されてもよいし、HMD110に取り付け可能な別のデバイス(例えば、スマートフォン)のディスプレイであってもよい。 The computer 200 includes a processor 202, a memory 204, and a communication control unit 205. The processor 202 includes a virtual space identification unit 902, an HMD motion detection unit 903, a line-of-sight detection unit 904, a reference line-of-sight determination unit 906, a field-of-view area determination unit 908, a controller motion detection unit 910, and a field-of-view image generation unit 912. And the field of view image output unit 926 may be included. The memory 204 may be configured to store various information. In one example, memory 204 may include virtual space data 928, object data 930, application data 932, and other data 934. The memory 204 also includes various data necessary for calculation to provide output information corresponding to inputs from the tracking sensor 120, the motion sensor 130, the gaze sensor 140, the controller 160, etc. to the display unit 112 associated with the HMD 110. But it may be. The object data 930 may include data related to operation objects, virtual objects, etc. arranged in the virtual space. The display unit 112 may be built in the HMD 110, or may be a display of another device (for example, a smartphone) that can be attached to the HMD 110.

図9においてプロセッサ202内に含まれるコンポーネントは、プロセッサ202が実行する機能を具体的なモジュールとして表現する1つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ202がすべてのコンポーネントの機能を実行するように構成されてもよい。 In FIG. 9, the component included in the processor 202 is only one example of expressing the function executed by the processor 202 as a concrete module. The functionality of multiple components may be realized by a single component. Processor 202 may be configured to perform the functions of all components.

図10は、ユーザが没入する仮想空間の画像を表示部112に表示するための一般的な処理のフロー図である。 FIG. 10 is a flow chart of a general process for displaying an image of a virtual space in which a user is immersed on the display unit 112.

図9及び図10を参照して、仮想空間の画像を提供するためのHMDシステム100の一般的な処理を説明する。仮想空間400は、トラッキングセンサ120、注視センサ140及びコンピュータ200等の相互作用によって提供され得る。 With reference to FIGS. 9 and 10, a general process of the HMD system 100 for providing an image of a virtual space will be described. The virtual space 400 may be provided by the interaction of the tracking sensor 120, the gaze sensor 140, the computer 200, and the like.

処理はステップ1002において開始する。一例として、アプリケーションデータに含まれるゲームアプリケーションがコンピュータ200によって実行されてもよい。ステップ1004において、プロセッサ202(仮想空間特定部902)は、仮想空間データ928を参照するなどして、ユーザが没入する仮想空間400を構成する天球状の仮想空間画像402を生成する。トラッキングセンサ120によってHMD110の位置や傾きが検知される。トラッキングセンサ120によって検知された情報はコンピュータ200に送信される。ステップ1006において、HMD動作検知部903は、HMD110の位置情報や傾き情報を取得する。ステップ1008において、取得された位置情報及び傾き情報に基づいて視界方向が決定される。 The process starts in step 1002. As an example, the game application included in the application data may be executed by the computer 200. In step 1004, the processor 202 (virtual space specifying unit 902) generates a celestial spherical virtual space image 402 constituting the virtual space 400 in which the user is immersed by referring to the virtual space data 928 or the like. The position and tilt of the HMD 110 are detected by the tracking sensor 120. The information detected by the tracking sensor 120 is transmitted to the computer 200. In step 1006, the HMD motion detection unit 903 acquires the position information and the tilt information of the HMD 110. In step 1008, the viewing direction is determined based on the acquired position information and inclination information.

注視センサ140がユーザの左右の目の眼球の動きを検出すると、当該情報がコンピュータ200に送信される。ステップ1010において、視線検知部904は、右目及び左目の視線が向けられる方向を特定し、視線方向N0を決定する。ステップ1012において、基準視線決定部906は、HMD110の傾きにより決定された視界方向又はユーザの視線方向N0を基準視線408として決定する。基準視線408はまた、HMD110の位置や傾きに追随する仮想カメラ404の位置及び傾きに基づいて決定されてもよい。 When the gaze sensor 140 detects the movement of the eyeballs of the user's left and right eyes, the information is transmitted to the computer 200. In step 1010, the line-of-sight detection unit 904 specifies the directions to which the lines of sight of the right eye and the left eye are directed, and determines the line-of-sight direction N0. In step 1012, the reference line-of-sight determination unit 906 determines the view direction or the user's line-of-sight direction N0 determined by the inclination of the HMD 110 as the reference line-of-sight 408. The reference line of sight 408 may also be determined based on the position and tilt of the virtual camera 404 that follows the position and tilt of the HMD 110.

ステップ1014において、視界領域決定部908は、仮想空間400における仮想カメラ404の視界領域410を決定する。図4に示すように、視界領域410は、仮想空間画像402のうちユーザの視界を構成する部分である。視界領域410は基準視線408に基づいて決定される。視界領域410をx方向から見たyz断面図及び視界領域410をy方向から見たxz断面図は、既に説明した図6及び図7にそれぞれ示されている。 In step 1014, the field of view area determination unit 908 determines the field of view area 410 of the virtual camera 404 in the virtual space 400. As shown in FIG. 4, the field of view area 410 is a part of the virtual space image 402 that constitutes the user's field of view. The field of view 410 is determined based on the reference line of sight 408. The yz cross-sectional view of the view area 410 seen from the x direction and the xz cross-sectional view of the view area 410 seen from the y direction are shown in FIGS. 6 and 7, respectively, which have already been described.

ステップ1016において、視界画像生成部912は、視界領域410に基づいて視界画像を生成する。視界画像は、右目用と左目用の2つの2次元画像を含む。これらの2次元画像が表示部112に重畳される(より具体的には、右目用画像が右目用表示部に出力され、左目用画像が左目用表示部に出力される)ことにより、3次元画像としての仮想空間400がユーザに提供される。ステップ1018において、視界画像出力部926は、視界画像に関する情報を表示部112に出力する。表示部112は、受信した視界画像の情報に基づいて、当該視界画像を表示する。処理はステップ1020において終了する。 In step 1016, the field of view image generation unit 912 generates a field of view image based on the field of view region 410. The visibility image includes two two-dimensional images, one for the right eye and one for the left eye. These two-dimensional images are superimposed on the display unit 112 (more specifically, the image for the right eye is output to the display unit for the right eye, and the image for the left eye is output to the display unit for the left eye), so that the three-dimensional image is three-dimensional. The virtual space 400 as an image is provided to the user. In step 1018, the field of view image output unit 926 outputs information about the field of view image to the display unit 112. The display unit 112 displays the view image based on the information of the received view image. The process ends in step 1020.

図11は、本開示の一実施形態による方法1100のフローチャートである。本開示の一実施形態において、コンピュータプログラムが、図11に示される各ステップをプロセッサ202(又はコンピュータ200)に実行させてもよい。また、本開示の別の実施形態は、方法1100を実行するプロセッサ202(又はコンピュータ200)として実施することができる。 FIG. 11 is a flowchart of Method 1100 according to an embodiment of the present disclosure. In one embodiment of the present disclosure, a computer program may cause the processor 202 (or computer 200) to perform each step shown in FIG. Further, another embodiment of the present disclosure can be implemented as a processor 202 (or computer 200) executing the method 1100.

以下、本開示の実施形態について具体的に説明する。ここでは、本開示の実施形態を適用することができる具体例として、ユーザが、当該ユーザのアバターが配置された仮想空間に没入して楽しむことができるゲームを想定する。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。 Hereinafter, embodiments of the present disclosure will be specifically described. Here, as a specific example to which the embodiment of the present disclosure can be applied, it is assumed that a user can immerse himself / herself in a virtual space in which the user's avatar is arranged and enjoy the game. However, the embodiments of the present disclosure are not necessarily limited to such embodiments. It will be apparent to those skilled in the art that embodiments of the present disclosure may take various aspects within the scope of the claims.

図12は、本実施形態において想定されるゲームの一態様例を概略的に説明する図である。この例では、ユーザ1212が、仮想空間上のアクションゲームをプレイする。図12に示されるアクションゲームは本実施形態の説明のための単なる例示にすぎず、他の任意の種類のゲーム又はゲーム以外のコンピュータアプリケーションが本実施形態に適用され得ることに留意すべきである。図12のアクションゲームにおいて、ユーザ1212は、HMD110を頭部に装着し、さらにコントローラ160を把持して操作する。一例では、コントローラ160は、図8に関して上述した構成を有する。 FIG. 12 is a diagram schematically illustrating an example of one aspect of the game assumed in the present embodiment. In this example, user 1212 plays an action game in virtual space. It should be noted that the action games shown in FIG. 12 are merely exemplary for illustration of this embodiment, and any other type of game or non-game computer application may be applied to this embodiment. .. In the action game of FIG. 12, the user 1212 wears the HMD 110 on the head and further grips and operates the controller 160. In one example, the controller 160 has the configuration described above with respect to FIG.

仮想空間1200内には、ユーザ1212によって操作されるアバター1214、コンピュータ200によって操作される敵キャラクタ1215、及び、アバター1214と敵キャラクタ1215との戦いが行われるゲームフィールド1222が配置される。アバター1214及び敵キャラクタ1215は、それぞれの手1214A、1215Aに近接攻撃用武器(例えば剣)1214B、1215Bを把持して、互いに相手を攻撃する。アバター1214及び敵キャラクタ1215は、更に、それぞれの手1214A、1215Aに不図示の防御用装備(例えば盾)を把持してもよい。ゲームフィールド1222は、例えば、地面、建物、樹木、岩など様々なオブジェクトによって構成されてよい。ゲームのプレイ中、ユーザ1212は、現実空間において様々な動作を行うことによって、仮想空間1200内のアバター1214として仮想空間上のアクションゲームを楽しむことができる。 In the virtual space 1200, an avatar 1214 operated by the user 1212, an enemy character 1215 operated by the computer 200, and a game field 1222 in which the avatar 1214 and the enemy character 1215 are battled are arranged. The avatar 1214 and the enemy character 1215 hold the melee weapons (for example, the sword) 1214B and 1215B in their hands 1214A and 1215A, respectively, and attack each other. The avatar 1214 and the enemy character 1215 may further hold a defensive equipment (eg, a shield) (not shown) in their hands 1214A, 1215A, respectively. The game field 1222 may be composed of various objects such as the ground, buildings, trees, and rocks. While playing the game, the user 1212 can enjoy the action game on the virtual space as the avatar 1214 in the virtual space 1200 by performing various actions in the real space.

図12に示されるように、アバター1214の位置に仮想カメラ1204が配置される。仮想カメラ1204は、アバター1214の視点から仮想空間1200を捉える。例えば、仮想カメラ1204が捉えるアバター1214の視点からの視界画像には、ゲームフィールド1222及びゲームフィールド1222上の対戦相手である敵キャラクタ1215が含まれる。更に、仮想カメラ1204が捉える視界画像には、アバター1214自身の手1214A、及び手1214Aに把持されている剣1214Bも含まれ得る。仮想カメラ1204によって得られた仮想空間1200の映像は、HMD110に表示される。ユーザ1212は、HMD110に表示された映像を見ることで、仮想空間1200をアバター1214の視点から視覚的に認識することができる。 As shown in FIG. 12, the virtual camera 1204 is arranged at the position of the avatar 1214. The virtual camera 1204 captures the virtual space 1200 from the viewpoint of the avatar 1214. For example, the view image from the viewpoint of the avatar 1214 captured by the virtual camera 1204 includes the game field 1222 and the enemy character 1215 which is an opponent on the game field 1222. Further, the field of view image captured by the virtual camera 1204 may include the hand 1214A of the avatar 1214 itself and the sword 1214B held by the hand 1214A. The image of the virtual space 1200 obtained by the virtual camera 1204 is displayed on the HMD 110. The user 1212 can visually recognize the virtual space 1200 from the viewpoint of the avatar 1214 by seeing the image displayed on the HMD 110.

なお、ユーザ1212のアバター1214が、コンピュータ200によって操作される敵キャラクタ1215と対戦するのではなく、第2のユーザによって操作される第2のアバターと対戦するように、あるいは他の複数のユーザのそれぞれによって操作される複数のアバターと相互に対戦するように、アクションゲームが構成されていてもよい。また、ユーザ1212のアバター1214が、第2のユーザによって操作される第2のアバター、又は他の複数のユーザのそれぞれによって操作される複数のアバターと協力して、コンピュータ200によって操作される敵キャラクタ1215と対戦するように、アクションゲームが構成されるのであってもよい。 It should be noted that the avatar 1214 of the user 1212 does not play against the enemy character 1215 operated by the computer 200, but plays against the second avatar operated by the second user, or by a plurality of other users. The action game may be configured to play against a plurality of avatars operated by each. Further, the avatar 1214 of the user 1212 is an enemy character operated by the computer 200 in cooperation with a second avatar operated by the second user or a plurality of avatars operated by each of the other plurality of users. An action game may be configured to play against 1215.

図11に戻り、処理はステップ1102において開始する。プロセッサ202は、メモリ204に格納されているアプリケーションデータ932に含まれるゲームプログラムを読み出して実行する。 Returning to FIG. 11, the process starts in step 1102. The processor 202 reads and executes the game program included in the application data 932 stored in the memory 204.

処理はステップ1104に進み、プロセッサ202は、ゲーム開始前の準備として、ユーザ1212の身体に関連する幾何学的特徴を特定する。身体の幾何学的特徴とは、身体又は身体の一部分についての寸法若しくは形状を表す指標のことである。一例として、身体の幾何学的特徴は、ユーザ1212の腕の長さ又は身長のいずれかであってよい。しかしながら、これは限定的であると解されるべきではない。腕の長さ及び身長のほかに、例えば、ユーザ1212が両手を広げた長さ、ユーザ1212が伸ばした手を一回りさせることにより描かれる円の大きさ、ユーザ1212が椅子に座った時の頭の位置の高さ、ユーザ1212が立った状態としゃがんだ状態での頭の位置の高さの差など、任意のものを身体の幾何学的特徴として利用することができる。身体の幾何学的特徴は、具体的な数値として特定されてもよいし(例えば、腕の長さ70cm、身長170cm等)、あるいは特定の数値範囲に分類されるのであってもよい(例えば、腕の長さが「長い」、「中程度」、「短い」、身長が「高い」、「中程度」、「低い」等)。 Processing proceeds to step 1104, where processor 202 identifies geometric features associated with the body of user 1212 in preparation for the start of the game. The geometric feature of the body is an index showing the size or shape of the body or a part of the body. As an example, the geometric feature of the body may be either the arm length or the height of the user 1212. However, this should not be understood to be limited. In addition to the length and height of the arm, for example, the length of the user 1212 with both hands spread out, the size of the circle drawn by the user 1212 making one round of the extended hand, when the user 1212 sits on a chair. Anything can be used as a geometric feature of the body, such as the height of the head position, the difference in the height of the head position when the user 1212 is standing and crouching. Geometric features of the body may be specified as specific numerical values (eg, arm length 70 cm, height 170 cm, etc.) or may be classified into a specific numerical range (eg,). Arm length is "long", "medium", "short", height is "high", "medium", "low", etc.).

図13は、上記のステップ1104を実施するための具体的な手順を示す例示的な方法1300のフローチャートである。ステップ1302において、プロセッサ202は、ユーザ1212の身体又は身体の一部分をトラッキングする。ユーザ1212のトラッキングは、例えば、コントローラ160を使用して行うことができる。ユーザ1212は、まず、コントローラ160を把持した手を第1の姿勢に保持して、コントローラ160の所定のボタンを押下する。第1の姿勢は、例えば、手を縮めて胸の近くに位置させる姿勢、又は手を下に垂らした「気を付け」の姿勢などであってよい。コントローラ160は、ユーザ1212によるボタンの押下を受けてトラッキング信号を送出し、トラッキングセンサ120は、コントローラ160からのトラッキング信号を受信する。プロセッサ202は、トラッキングセンサ120によって受信されたトラッキング信号に基づいて、ユーザ1212がコントローラ160のボタンを押下した時点におけるコントローラ160の位置座標、即ち第1の姿勢におけるユーザ1212の手の位置座標を特定する。次にユーザ1212は、コントローラ160を把持した手を第2の姿勢に保持して、同様にコントローラ160の所定のボタンを押下する。第2の姿勢は、例えば、手を真直ぐ前、横、又は頭の上に伸ばした姿勢などであってよい。ユーザのボタン押下に応答して、上述の第1の姿勢の場合と同様に、プロセッサ202は、第2の姿勢におけるユーザ1212の手の位置座標を特定する。このようにして、ユーザ1212の手が第1及び第2の姿勢においてトラッキングされる。 FIG. 13 is a flowchart of the exemplary method 1300 showing a specific procedure for carrying out the above step 1104. In step 1302, processor 202 tracks the body or body portion of user 1212. Tracking of the user 1212 can be performed using, for example, the controller 160. First, the user 1212 holds the hand holding the controller 160 in the first posture and presses a predetermined button of the controller 160. The first posture may be, for example, a posture in which the hand is contracted and positioned near the chest, or a “careful” posture in which the hand is hung down. The controller 160 sends a tracking signal upon pressing a button by the user 1212, and the tracking sensor 120 receives the tracking signal from the controller 160. Based on the tracking signal received by the tracking sensor 120, the processor 202 identifies the position coordinates of the controller 160 at the time when the user 1212 presses the button of the controller 160, that is, the position coordinates of the user's hand in the first posture. do. Next, the user 1212 holds the hand holding the controller 160 in the second posture and similarly presses a predetermined button of the controller 160. The second posture may be, for example, a posture in which the hand is straight ahead, sideways, or extended over the head. In response to the user pressing a button, the processor 202 identifies the position coordinates of the user 1212's hand in the second posture, as in the case of the first posture described above. In this way, the user 1212's hand is tracked in the first and second postures.

ユーザ1212のトラッキングは、他の方法によって行うこともできる。例えば、トラッキングセンサ120は、HMD110から発せられるトラッキング信号を受信するのであってもよく、この場合、プロセッサ202は、HMD110からのトラッキング信号に基づいてHMD110の位置座標を特定し、これによりユーザ1212の頭をトラッキングすることができる。また前述したように、トラッキングセンサ120はカメラとして実現されてもよく、この場合、プロセッサ202は、カメラによって撮像されたユーザ1212の画像に対して画像解析処理を行うことにより、ユーザ1212の身体又はその一部分(例えば手や頭)をトラッキングすることができる。また、上述したような第1及び第2の(即ち2つの)姿勢においてユーザ1212をトラッキングすることに代えて、ある特定の1つの姿勢においてユーザ1212の身体又はその一部分の位置を特定するだけであってもよいし、コントローラ160又はHMD110の位置座標を所定の短い時間間隔で繰り返し検出することによって、ユーザ1212の身体の動きに伴う手や頭の位置の変化を連続的にトラッキングしてもよい。 Tracking of the user 1212 can also be done by other methods. For example, the tracking sensor 120 may receive a tracking signal emitted from the HMD 110, in which case the processor 202 identifies the position coordinates of the HMD 110 based on the tracking signal from the HMD 110, thereby the user 1212. You can track your head. Further, as described above, the tracking sensor 120 may be realized as a camera. In this case, the processor 202 performs an image analysis process on the image of the user 1212 captured by the camera, so that the body of the user 1212 or the body of the user 1212 or A part of it (eg hand or head) can be tracked. Also, instead of tracking the user 1212 in the first and second (ie, two) postures as described above, it is only necessary to locate the body or part of the user 1212 in one particular posture. It may be present, or the change in the position of the hand or the head accompanying the movement of the body of the user 1212 may be continuously tracked by repeatedly detecting the position coordinates of the controller 160 or the HMD 110 at predetermined short time intervals. ..

処理はステップ1304に進み、プロセッサ202は、上記のステップ1302におけるトラッキングの結果に基づいて、ユーザ1212の身体の幾何学的特徴を決定する。例えば、プロセッサ202は、上述されたような第1の姿勢と第2の姿勢におけるユーザ1212の手の位置座標の差に基づいて、ユーザ1212の腕の長さを決定することができる。また別の例として、プロセッサ202は、ユーザ1212に装着されているHMD110の位置座標、即ちユーザ1212の頭の位置座標に基づいて、ユーザ1212の身長を決定することができる。更なる別の例として、プロセッサ202は、適宜の方法で行ったユーザ1212の身体又はその一部分のトラッキング結果を用いて、上で例示したような、ユーザ1212が両手を広げた長さ、ユーザ1212が伸ばした手を一回りさせることにより描かれる円の大きさ、ユーザ1212が椅子に座った時の頭の位置の高さ、ユーザ1212が立った状態としゃがんだ状態での頭の位置の高さの差などを、ユーザ1212の身体の幾何学的特徴として決定することもできる。 Processing proceeds to step 1304, where the processor 202 determines the geometric features of the user 1212's body based on the tracking results in step 1302 above. For example, the processor 202 can determine the arm length of the user 1212 based on the difference in the position coordinates of the user's hand in the first and second postures as described above. As another example, the processor 202 can determine the height of the user 1212 based on the position coordinates of the HMD 110 mounted on the user 1212, that is, the position coordinates of the head of the user 1212. As yet another example, the processor 202 uses the tracking results of the user 1212's body or a portion thereof performed in an appropriate manner, and the length of the user 1212 with both hands extended, as illustrated above, the user 1212. The size of the circle drawn by turning the extended hand, the height of the head position when the user 1212 sits on the chair, the height of the head position when the user 1212 is standing and crouching. The difference between the heights and the like can also be determined as a geometrical feature of the body of the user 1212.

再び図11を参照して、処理はステップ1106に進む。ステップ1106において、プロセッサ202は、仮想空間データ928及びオブジェクトデータ930等に基づいて、図12に示されるようなアクションゲームのための仮想空間1200を特定する。前述したように、仮想空間1200は、ユーザ1212のアバター1214、敵キャラクタ1215、ゲームフィールド1222、及び仮想カメラ1204を含む。仮想空間データ928は、アバター1214、敵キャラクタ1215、仮想カメラ1204、及びその他の様々なオブジェクト(例えば、ゲームフィールド1222上に存在し得る建物、樹木、岩など)の、仮想空間1200内の初期配置位置を規定する。オブジェクトデータ930は、これらの様々なオブジェクトのそれぞれに関する各種のプロパティ(例えば、アバター1214及び敵キャラクタ1215の容姿並びにゲーム内の各種能力値等、ゲームフィールド1222上の各オブジェクトの形状、大きさ、色彩、及び模様等)を規定する。プロセッサ202は、メモリ204から仮想空間データ928及びオブジェクトデータ930を読み出し、当該読み出したデータに従って各オブジェクトを配置することによって、仮想空間1200を特定する。 With reference to FIG. 11 again, the process proceeds to step 1106. In step 1106, the processor 202 identifies a virtual space 1200 for an action game as shown in FIG. 12, based on virtual space data 928, object data 930, and the like. As mentioned above, the virtual space 1200 includes the user 1212's avatar 1214, the enemy character 1215, the game field 1222, and the virtual camera 1204. The virtual space data 928 is the initial placement of the avatar 1214, the enemy character 1215, the virtual camera 1204, and various other objects (eg, buildings, trees, rocks, etc. that may be on the game field 1222) in the virtual space 1200. Specify the position. The object data 930 contains various properties related to each of these various objects (for example, the appearance of the avatar 1214 and the enemy character 1215, various ability values in the game, and the like, the shape, size, and color of each object on the game field 1222. , And patterns, etc.). The processor 202 reads the virtual space data 928 and the object data 930 from the memory 204, and arranges each object according to the read data to specify the virtual space 1200.

処理はステップ1108に進み、プロセッサ202は、ユーザ1212の頭部の動きに応じて、仮想空間1200における仮想視点(仮想カメラ1204の位置)からの視界を制御する。例えば、ユーザ1212が頭部に装着したHMD110の位置及び傾きが、所定の時間間隔で連続的にトラッキングセンサ120によって検出される。プロセッサ202は、検出されたHMD110の位置に対応した仮想空間1200内の位置を仮想視点と定め、当該仮想視点に仮想カメラ1204を配置する。またプロセッサ202は、トラッキングセンサ120によって検出されたHMD110の傾きに対応した仮想空間1200内の方向を基準視線(例えば図4に示される基準視線408)と定め、当該基準視線の方向に仮想カメラ1204を配向させる。図4を参照して前述されたように、仮想カメラ1204の位置と基準視線(基準視線408)とによって、仮想空間1200においてユーザ1212が視認できる視界(例えば図4に示されるような視認領域410)が決定される。このように、ユーザ1212が頭部を動かすと、その動きに連動するように、仮想カメラ1204によって捉えられる視界が変化する。 The process proceeds to step 1108, and the processor 202 controls the field of view from the virtual viewpoint (position of the virtual camera 1204) in the virtual space 1200 according to the movement of the head of the user 1212. For example, the position and inclination of the HMD 110 worn by the user 1212 on the head are continuously detected by the tracking sensor 120 at predetermined time intervals. The processor 202 defines a position in the virtual space 1200 corresponding to the detected position of the HMD 110 as a virtual viewpoint, and arranges the virtual camera 1204 at the virtual viewpoint. Further, the processor 202 defines the direction in the virtual space 1200 corresponding to the inclination of the HMD 110 detected by the tracking sensor 120 as the reference line of sight (for example, the reference line of sight 408 shown in FIG. 4), and the virtual camera 1204 is in the direction of the reference line of sight. To orient. As described above with reference to FIG. 4, the visual field (for example, the visual field 410 as shown in FIG. 4) that can be visually recognized by the user 1212 in the virtual space 1200 by the position of the virtual camera 1204 and the reference line of sight (reference line of sight 408). ) Is determined. In this way, when the user 1212 moves the head, the field of view captured by the virtual camera 1204 changes in conjunction with the movement.

処理はステップ1110に進み、プロセッサ202は、ユーザ1212の手の動きに応じて、仮想空間1200内のアバター1214の手1214A(第1オブジェクト)を動かす。例えば、ユーザ1212が把持するコントローラ160の位置及び傾きが、所定の時間間隔で連続的にトラッキングセンサ120によって検出される。プロセッサ202は、検出されたコントローラ160の位置及び傾きと整合するように、仮想空間1200におけるアバター1214の手1214Aの動きを制御する。アバター1214の手1214Aには、敵キャラクタ1215(第2オブジェクト)に対する近接攻撃をするための剣1214B(第3オブジェクト)が把持されている。ユーザ1212は、手の動きとコントローラ160への入力操作を適宜に組み合わせて行うことによって、アバター1214の手1214A及び剣1214Bを操作し、敵キャラクタ1215に剣1214Bによる攻撃を加えることができる。 The process proceeds to step 1110, and the processor 202 moves the hand 1214A (first object) of the avatar 1214 in the virtual space 1200 in response to the movement of the hand of the user 1212. For example, the position and tilt of the controller 160 held by the user 1212 are continuously detected by the tracking sensor 120 at predetermined time intervals. The processor 202 controls the movement of the hand 1214A of the avatar 1214 in the virtual space 1200 so as to match the detected position and tilt of the controller 160. The hand 1214A of the avatar 1214 holds the sword 1214B (third object) for making a melee attack against the enemy character 1215 (second object). The user 1212 can operate the hand 1214A and the sword 1214B of the avatar 1214 and attack the enemy character 1215 with the sword 1214B by appropriately combining the movement of the hand and the input operation to the controller 160.

またステップ1110において、プロセッサ202は、ユーザ1212の頭部の動きに応じて、仮想空間1200内のアバター1214(第1オブジェクト)を動かす。例えば、上述のステップ1108と同様に、ユーザ1212に装着されたHMD110の位置及び傾きが、所定の時間間隔で連続的にトラッキングセンサ120によって検出される。プロセッサ202は、検出されたHMD110の位置及び傾きと整合するように、仮想空間1200におけるアバター1214の頭部1214Cの位置及び傾きを決定する。そしてプロセッサ202は、アバター1214の全身の姿勢が、当該決定した頭部1214Cの位置及び傾きとの関係において自然な姿勢となるように、アバター1214の頭部1214C以外の部位を制御する。例えば、ユーザ1212は前後左右に動くことで、仮想空間1200内のアバター1214を前後左右に動かし、敵キャラクタ1215に対するアバター1214の相対位置を変えることができる。また例えば、ユーザ1212がしゃがんだ姿勢をとった場合、HMD110の検出位置を反映してアバター1214の頭部1214Cが比較的低い位置に配置されるとともに、アバター1214の頭部1214Cの位置が比較的低いことに応じてアバター1214にしゃがんだ姿勢をとらせるように、アバター1214の身体の各部位が自動的に制御される。このように、ユーザ1212は、アバター1214をしゃがませることによって、敵キャラクタ1215からの攻撃を回避することもできる。 Further, in step 1110, the processor 202 moves the avatar 1214 (first object) in the virtual space 1200 according to the movement of the head of the user 1212. For example, similar to step 1108 described above, the position and tilt of the HMD 110 mounted on the user 1212 are continuously detected by the tracking sensor 120 at predetermined time intervals. The processor 202 determines the position and tilt of the head 1214C of the avatar 1214 in the virtual space 1200 so as to match the detected position and tilt of the HMD 110. Then, the processor 202 controls the portion of the avatar 1214 other than the head 1214C so that the posture of the whole body of the avatar 1214 becomes a natural posture in relation to the determined position and inclination of the head 1214C. For example, by moving the user 1212 back and forth and left and right, the avatar 1214 in the virtual space 1200 can be moved back and forth and left and right, and the relative position of the avatar 1214 with respect to the enemy character 1215 can be changed. Further, for example, when the user 1212 takes a crouched posture, the head 1214C of the avatar 1214 is arranged at a relatively low position reflecting the detection position of the HMD 110, and the position of the head 1214C of the avatar 1214 is relatively low. Each part of the body of the avatar 1214 is automatically controlled so that the avatar 1214 takes a crouching posture according to the low position. In this way, the user 1212 can also avoid the attack from the enemy character 1215 by squatting the avatar 1214.

図12に示される仮想空間1200の例において、アバター1214は、胴体及び手1214Aを持たず頭部1214Cだけを備えるように表現されてもよい。この場合、プロセッサ202は、アバター1214の頭部1214C(第1オブジェクト)の位置及び傾きだけを、トラッキングセンサ120によって検出されたHMD110の位置及び傾きと整合するように制御する。更にまた、図12に示される仮想空間1200の例において、アバター1214を登場させることなく仮想カメラ1204及び剣1214Bが配置されるのであってもよい。この場合、プロセッサ202は、仮想カメラ1204(第1オブジェクト)の位置及び傾きを、トラッキングセンサ120によって検出されたHMD110の位置及び傾きと整合するように制御する。 In the example of the virtual space 1200 shown in FIG. 12, the avatar 1214 may be represented to have only the head 1214C without the torso and hands 1214A. In this case, the processor 202 controls only the position and tilt of the head 1214C (first object) of the avatar 1214 to match the position and tilt of the HMD 110 detected by the tracking sensor 120. Furthermore, in the example of the virtual space 1200 shown in FIG. 12, the virtual camera 1204 and the sword 1214B may be arranged without the appearance of the avatar 1214. In this case, the processor 202 controls the position and tilt of the virtual camera 1204 (first object) so as to match the position and tilt of the HMD 110 detected by the tracking sensor 120.

処理はステップ1112に進み、プロセッサ202は、前述のステップ1104において特定されたユーザ1212の腕の長さが、所定の基準長よりも長いか短いかを判定する。所定の基準長は、例えば、当該アクションゲームにおいて想定されるユーザの標準的な腕の長さとして予め任意に設定された値(例えば70cm)であってよい。ユーザ1212の腕の長さが所定の基準長よりも短い場合、処理はステップ1114に進み、所定の基準長よりも長い場合、処理はステップ1116に進む。 The process proceeds to step 1112, and the processor 202 determines whether the arm length of the user 1212 identified in step 1104 described above is longer or shorter than a predetermined reference length. The predetermined reference length may be, for example, a value (for example, 70 cm) arbitrarily set in advance as a standard arm length of the user assumed in the action game. If the arm length of the user 1212 is shorter than the predetermined reference length, the process proceeds to step 1114, and if it is longer than the predetermined reference length, the process proceeds to step 1116.

ユーザ1212の腕の長さが所定の基準長よりも短い場合、ステップ1114において、プロセッサ202は、アバター1214の手1214A(第1オブジェクト)に関連付けられた仮想空間1200内の第1領域を、その大きさが大きくなるように調整する。方法1100の実施形態において、第1領域は、仮想空間1200内の任意の一地点においてアバター1214が手1214Aを動かすことのできる範囲(可動領域)と、アバター1214が手1214Aに把持した剣1214B(第3オブジェクト)に設定されているコリジョン領域とによって定義される領域である。 If the arm length of the user 1212 is shorter than the predetermined reference length, in step 1114, the processor 202 sets the first region in the virtual space 1200 associated with the hand 1214A (first object) of the avatar 1214. Adjust so that the size is large. In the embodiment of the method 1100, the first region is a range (movable region) in which the avatar 1214 can move the hand 1214A at an arbitrary point in the virtual space 1200, and the sword 1214B held by the avatar 1214 in the hand 1214A ( It is an area defined by the collision area set in the third object).

図14は、方法1100の実施形態における第1領域1410を示す。図14において、アバター1214は仮想空間1200内のある地点Pに位置している。アバター1214は、地点Pにおいて、手1214Aを可動領域1420内でのみ動かすことができる。手1214Aの可動領域1420は、ユーザ1212がコントローラ160を持った手を動かせる範囲に対応している。即ち、ユーザ1212が手を最大限に伸ばして様々な方向に動かしたときにその手の軌跡として描かれる曲面が、可動領域1420の外縁を規定する。一方、剣1214Bにはコリジョン領域1430が予め定められている。コリジョン領域1430は、その内部に入った物体又は物体の一部分が、剣1214Bと接触したと判定される領域である。例えば、コリジョン領域1430内に敵キャラクタ1215の身体の一部分が入った時、敵キャラクタ1215は剣1214Bによる攻撃を受けたとの判定がなされる。図14に示されるように、コリジョン領域1430は、例えば、その内部に剣1214Bの全体を包含するような円柱状の形に設定される。アバター1214が剣1214Bを把持した手1214Aを可動領域1420内で様々に動かすと、剣1214Bに付随するコリジョン領域1430が通る軌跡は、コリジョン領域1430に相当する分だけ可動領域1420よりも広い領域1410を描く。この広い領域が、第1領域1410である。このように、第1領域1410は、アバター1214の剣1214Bによる攻撃が届く範囲を規定する。 FIG. 14 shows a first region 1410 in an embodiment of method 1100. In FIG. 14, the avatar 1214 is located at a certain point P in the virtual space 1200. The avatar 1214 can move the hand 1214A only within the movable area 1420 at point P. The movable area 1420 of the hand 1214A corresponds to the range in which the user 1212 can move the hand holding the controller 160. That is, the curved surface drawn as the locus of the hand when the user 1212 extends the hand to the maximum and moves it in various directions defines the outer edge of the movable region 1420. On the other hand, the collision region 1430 is predetermined for the sword 1214B. The collision region 1430 is an region where it is determined that an object or a part of the object that has entered the collision region 1430 has come into contact with the sword 1214B. For example, when a part of the body of the enemy character 1215 enters the collision area 1430, it is determined that the enemy character 1215 has been attacked by the sword 1214B. As shown in FIG. 14, the collision region 1430 is set, for example, in a columnar shape that encloses the entire sword 1214B inside. When the hand 1214A holding the sword 1214B is moved variously in the movable area 1420 by the avatar 1214, the trajectory of the collision area 1430 attached to the sword 1214B is wider than the movable area 1420 by the amount corresponding to the collision area 1430. Draw. This wide area is the first area 1410. In this way, the first region 1410 defines the range within which the attack by the sword 1214B of the avatar 1214 can reach.

別の例において、アバター1214が手1214Aを様々な方向に動かした際に、その手1214Aに設定されたコリジョン領域の軌跡によって描かれる領域を、第1領域と定義してもよい。この場合の第1領域は、アバター1214の手1214Aによる攻撃が届く範囲を表す。 In another example, when the avatar 1214 moves the hand 1214A in various directions, the region drawn by the locus of the collision region set in the hand 1214A may be defined as the first region. The first area in this case represents the range within which the attack by the hand 1214A of the avatar 1214 can reach.

図14は、第1領域1410に加えて、敵キャラクタ1215(第2オブジェクト)に関連付けられた第2領域1440も示す。方法1100の実施形態において、第2領域1440は、予め敵キャラクタ1215に対して設定されているコリジョン領域である。敵キャラクタ1215のコリジョン領域1440内に対戦相手の武器(例えばアバター1214の剣1214B)又はその一部分が入ると、敵キャラクタ1215が当該武器による攻撃を受けたとの判定がなされる。このように、第2領域1440は、敵キャラクタ1215に対する攻撃が有効と判定される範囲を規定する。 FIG. 14 shows, in addition to the first region 1410, a second region 1440 associated with the enemy character 1215 (second object). In the embodiment of the method 1100, the second region 1440 is a collision region preset for the enemy character 1215. When an opponent's weapon (for example, the sword 1214B of the avatar 1214) or a part thereof enters the collision area 1440 of the enemy character 1215, it is determined that the enemy character 1215 has been attacked by the weapon. In this way, the second area 1440 defines the range in which the attack on the enemy character 1215 is determined to be effective.

上述の説明から理解されるように、第1領域1410の大きさは、ユーザ1212の腕の長さに依存する。したがって、ユーザ1212の体格によっては、たとえユーザ1212が最大限に手を伸ばしたとしてもアバター1214からの剣1214B又は手1214Aによる攻撃が敵キャラクタ1215に絶対に当たらない、あるいはその反対に、ユーザ1212が少し手を伸ばしただけでアバター1214からの剣1214B又は手1214Aによる攻撃が敵キャラクタ1215に簡単に当たってしまう、といったようなことが起こり得る。図14を参照すると、アバター1214の第1領域1410と敵キャラクタ1215の第2領域1440が重なっていれば、アバター1214は適切な方向に攻撃を出すことで、敵キャラクタ1215に剣1214B又は手1214Aによる攻撃を当てることができる。しかしながら、アバター1214の第1領域1410と敵キャラクタ1215の第2領域1440が重なりを有さず互いに離れている場合には、アバター1214は剣1214B又は手1214Aによる攻撃を決して敵キャラクタ1215に当てることができない。 As can be seen from the above description, the size of the first region 1410 depends on the arm length of the user 1212. Therefore, depending on the physique of the user 1212, even if the user 1212 reaches out to the maximum, the attack by the sword 1214B or the hand 1214A from the avatar 1214 will never hit the enemy character 1215, or vice versa. It is possible that an attack from the avatar 1214 with the sword 1214B or the hand 1214A can easily hit the enemy character 1215 with just a little reach. Referring to FIG. 14, if the first region 1410 of the avatar 1214 and the second region 1440 of the enemy character 1215 overlap, the avatar 1214 attacks the enemy character 1215 with the sword 1214B or the hand 1214A by launching an attack in an appropriate direction. Can be hit by. However, if the first area 1410 of the avatar 1214 and the second area 1440 of the enemy character 1215 do not overlap and are separated from each other, the avatar 1214 never hits the enemy character 1215 with an attack by the sword 1214B or the hand 1214A. Can't.

ステップ1114の実施によって、ユーザ1212の腕の長さが所定値よりも短い場合に、第1領域1410の大きさが大きくなるように第1領域1410が調整される。例えば、プロセッサ202は、アバター1214の剣1214Bに設定されているコリジョン領域1430を大きくすることによって、第1領域1410を拡大させる。一例として、プロセッサ202は、剣1214B自体の大きさは不変としたまま、剣1214Bの周りのコリジョン領域1430のみを大きくするのであってよい。この場合、剣1214Bの見た目は変わらないが、剣1214Bの攻撃の有効範囲1430だけが大きくなる。また別の例として、プロセッサ202は、コリジョン領域1430を大きくするのに合わせて剣1214Bを大きくするのであってもよい。この場合、剣1214Bの見た目と攻撃の有効範囲1430の両方が大きくなる。こうして、第1領域1410の拡大が達成されることにより、アバター1214の第1領域1410と敵キャラクタ1215の第2領域1440との重なりを生じさせることができ、それにより、腕の短いユーザ1212が操作するアバター1214からの剣1214Bによる攻撃が、敵キャラクタ1215に絶対に当たらないという不合理な事象の発現を回避することができる。 By performing step 1114, the first region 1410 is adjusted so that the size of the first region 1410 becomes larger when the arm length of the user 1212 is shorter than a predetermined value. For example, the processor 202 expands the first region 1410 by enlarging the collision region 1430 set on the sword 1214B of the avatar 1214. As an example, the processor 202 may increase only the collision region 1430 around the sword 1214B while keeping the size of the sword 1214B itself unchanged. In this case, the appearance of the sword 1214B does not change, but only the effective range 1430 of the attack of the sword 1214B is increased. As another example, the processor 202 may increase the sword 1214B as the collision region 1430 increases. In this case, both the appearance of the sword 1214B and the effective range of the attack 1430 are increased. By achieving the expansion of the first region 1410 in this way, the first region 1410 of the avatar 1214 and the second region 1440 of the enemy character 1215 can be overlapped, whereby the short-armed user 1212 can be generated. It is possible to avoid the occurrence of an irrational event that the attack by the sword 1214B from the operating avatar 1214 never hits the enemy character 1215.

ステップ1114において、第1領域1410は、第1領域1410と第2領域1440との重なり度合いが所定の範囲内に収まるように拡大されるのであってよい。図15は、第1領域1410がどのように拡大されるかの一態様例を示す。図15において、アバター1214及び敵キャラクタ1215は、それぞれ仮想空間1200内の地点P及び地点Qに位置している。地点P及び地点Qは、当該アクションゲームにおいて想定される標準的な体格のユーザがアバター1214を操作する場合に、地点Pのアバター1214からの剣1214Bによる攻撃が地点Qの敵キャラクタ1215へ届くような関係にある2地点である。即ち、当該標準的な体格のユーザの場合の第1領域(不図示)は、敵キャラクタ1215の第2領域1440と重なりを有している。しかしながら、例えば、ある特定のユーザ1212は腕の長さが基準長よりも短いため、図15に示されるように、ユーザ1212が操作するアバター1214の第1領域1410と敵キャラクタ1215の第2領域1440は重なりを有しておらず、互いに離れている。この第1領域1410は、ステップ1114の実施によって、第2領域1440と部分的に重なるようにより大きな第1領域1415へと拡大される。 In step 1114, the first region 1410 may be expanded so that the degree of overlap between the first region 1410 and the second region 1440 falls within a predetermined range. FIG. 15 shows an example of how the first region 1410 is expanded. In FIG. 15, the avatar 1214 and the enemy character 1215 are located at points P and Q in the virtual space 1200, respectively. At point P and point Q, when a user with a standard physique assumed in the action game operates the avatar 1214, the attack by the sword 1214B from the avatar 1214 at point P reaches the enemy character 1215 at point Q. There are two points in a close relationship. That is, the first area (not shown) in the case of the user of the standard physique has an overlap with the second area 1440 of the enemy character 1215. However, for example, since the arm length of a specific user 1212 is shorter than the reference length, as shown in FIG. 15, the first region 1410 of the avatar 1214 operated by the user 1212 and the second region of the enemy character 1215 are operated. The 1440s have no overlap and are separated from each other. This first region 1410 is expanded into a larger first region 1415 so as to partially overlap the second region 1440 by performing step 1114.

第1領域1410(又は拡大された第1領域1415)と第2領域1440との重なり度合いは、任意の方法で定義することができる。例えば、第1領域1410の内部の体積をV1、第2領域1440の内部の体積をV2、第1領域1410と第2領域1440が重なっている部分の体積をV12としたとき、重なり度合いDは、D=V12/(V1+V2)又はD=V12/V1のように定義されてよい。また例えば、第1領域1410の中心点をC1、第2領域1440の中心点をC2、点C1と点C2を結ぶ線分が第1領域1410と交わる点をX1、点C1と点C2を結ぶ線分が第2領域1440と交わる点をX2、点C1と点C2との距離をd12、点C1と点X1との距離をd1、点C2と点X2との距離をd2としたとき、重なり度合いDは、D=(d1+d2)/d12と定義されてもよい。プロセッサ202は、このようないずれかの方法で定義された重なり度合いDが所定の数値範囲内の値となるように、第1領域1410を第1領域1415へ拡大させる。なお、当該所定の数値範囲は、適宜の任意の2つの数値に挟まれた数値範囲(例えば5%から15%の範囲)であってよい。 The degree of overlap between the first region 1410 (or the enlarged first region 1415) and the second region 1440 can be defined by any method. For example, when the internal volume of the first region 1410 is V1, the internal volume of the second region 1440 is V2, and the volume of the portion where the first region 1410 and the second region 1440 overlap is V12, the degree of overlap D is , D = V12 / (V1 + V2) or D = V12 / V1. Further, for example, the center point of the first region 1410 is C1, the center point of the second region 1440 is C2, the point where the line segment connecting the points C1 and C2 intersects the first region 1410 is X1, and the points C1 and C2 are connected. When the point where the line segment intersects the second region 1440 is X2, the distance between the points C1 and C2 is d12, the distance between the points C1 and X1 is d1, and the distance between the points C2 and X2 is d2, they overlap. The degree D may be defined as D = (d1 + d2) / d12. The processor 202 expands the first region 1410 to the first region 1415 so that the overlap degree D defined by any of these methods is within a predetermined numerical range. The predetermined numerical range may be a numerical range (for example, a range of 5% to 15%) sandwiched between any two appropriate numerical values.

前述のステップ1112の判定においてユーザ1212の腕の長さが所定の基準長よりも長いと判定された場合、ステップ1116において、プロセッサ202は、アバター1214の第1領域1410を、その大きさが小さくなるように調整する。例えば、プロセッサ202は、アバター1214の剣1214Bに設定されているコリジョン領域1430を小さくすることによって、第1領域1410を縮小させる。上述したステップ1114の場合と同様に、プロセッサ202は、コリジョン領域1430のみを小さくしてもよいし、コリジョン領域1430と剣1214Bの両方を小さくするのであってもよい。第1領域1410の縮小は、ステップ1114の場合と同様、第1領域1410と第2領域1440との重なり度合いが所定の数値範囲内の値となるように行われる。第1領域1410が縮小されることにより、アバター1214の第1領域1410と敵キャラクタ1215の第2領域1440との重なりを減じさせることができ、それにより、腕の長いユーザ1212が少し手を動かしただけでアバター1214からの剣1214Bによる攻撃が敵キャラクタ1215に簡単に当たってしまうという不公平な事象の発現を回避することができる。 If it is determined in step 1112 that the arm length of the user 1212 is longer than the predetermined reference length, in step 1116, the processor 202 reduces the size of the first region 1410 of the avatar 1214. Adjust to be. For example, the processor 202 reduces the first region 1410 by reducing the collision region 1430 set on the sword 1214B of the avatar 1214. As in the case of step 1114 described above, the processor 202 may reduce only the collision region 1430, or may reduce both the collision region 1430 and the sword 1214B. The reduction of the first region 1410 is performed so that the degree of overlap between the first region 1410 and the second region 1440 is within a predetermined numerical range, as in the case of step 1114. By reducing the first area 1410, the overlap between the first area 1410 of the avatar 1214 and the second area 1440 of the enemy character 1215 can be reduced, whereby the long-armed user 1212 moves his hand a little. It is possible to avoid the unfair phenomenon that the attack by the sword 1214B from the avatar 1214 easily hits the enemy character 1215.

ステップ1114及びステップ1116の後、処理はステップ1118に進む。プロセッサ202は、仮想空間1200を仮想カメラ1204で捉えた視界画像を生成する。視界画像は、仮想カメラ1204の位置即ち仮想視点からの視界を表す。視界画像は、図10のステップ1006からステップ1016として上述された手法に従って生成することができる。 After steps 1114 and 1116, processing proceeds to step 1118. The processor 202 generates a field of view image in which the virtual space 1200 is captured by the virtual camera 1204. The field of view image represents the position of the virtual camera 1204, that is, the field of view from the virtual viewpoint. The view image can be generated according to the method described above as steps 1006 to 1016 of FIG.

処理はステップ1120に進み、プロセッサ202は、視界画像をHMD110の表示部112に表示させる。これにより、ユーザ1212は、仮想空間1200に没入する体験を味わうことができる。 The process proceeds to step 1120, and the processor 202 causes the display unit 112 of the HMD 110 to display the field of view image. As a result, the user 1212 can enjoy the experience of immersing himself in the virtual space 1200.

以上説明した方法1100の実施形態では、ステップ1114及びステップ1116において、第1領域1410を拡大又は縮小する方法がとられた。しかしながら、第1領域1410を拡大又は縮小する以外の他の方法が採用されてもよい。図15を参照すると、例えば、ユーザ1212の腕の長さが所定の基準長よりも短い場合に、敵キャラクタ1215の位置をアバター1214に近づけることによって、腕の長さが短いユーザ1212でもアバター1214からの剣1214B又は手1214Aによる攻撃を敵キャラクタ1215に当てることが可能となり、またユーザ1212の腕の長さが所定の基準長よりも長い場合に、敵キャラクタ1215の位置をアバター1214から遠ざけることによって、腕の長さが長いユーザ1212が操作するアバター1214からの剣1214B又は手1214Aによる攻撃が、敵キャラクタ1215に簡単に当たりやすくなることを避けることができる。 In the embodiment of the method 1100 described above, in step 1114 and step 1116, a method of enlarging or reducing the first region 1410 was adopted. However, other methods other than enlarging or reducing the first region 1410 may be adopted. Referring to FIG. 15, for example, when the arm length of the user 1212 is shorter than a predetermined reference length, the position of the enemy character 1215 is brought closer to the avatar 1214, so that even the user 1212 having a short arm length can have the avatar 1214. It is possible to hit the enemy character 1215 with an attack from the sword 1214B or the hand 1214A, and if the arm length of the user 1212 is longer than the predetermined reference length, the position of the enemy character 1215 should be moved away from the avatar 1214. Therefore, it is possible to prevent an attack by the sword 1214B or the hand 1214A from the avatar 1214 operated by the user 1212 having a long arm from easily hitting the enemy character 1215.

また、敵キャラクタ1215自体の位置は変更せずに、敵キャラクタ1215に対して設定されている第2領域1440の位置を、上記と同様にアバター1214に近づけたり、アバター1214から遠ざけたりしてもよい。更には、第2領域1440の大きさを調整することとしてもよい。例えば、ユーザ1212の腕の長さが所定の基準長よりも短い場合に、第2領域1440の大きさを大きくすることによって、腕の長さが短いユーザ1212でもアバター1214からの剣1214B又は手1214Aによる攻撃を敵キャラクタ1215に当てることが可能となり、またユーザ1212の腕の長さが所定の基準長よりも長い場合に、第2領域1440の大きさを小さくすることによって、腕の長さが長いユーザ1212が操作するアバター1214からの剣1214B又は手1214Aによる攻撃が、敵キャラクタ1215に簡単に当たりやすくなることを避けることができる。また、第1領域1410の形状及び第2領域1440の形状の一方又は両方を、第1領域1410と第2領域1440が適度に重なり合うように(即ち、ユーザ1212の腕の長さが所定の基準長よりも短い場合には第1領域1410と第2領域1440との重なり度合いがより大きくなるように、またユーザ1212の腕の長さが所定の基準長よりも長い場合には第1領域1410と第2領域1440との重なり度合いがより小さくなるように)、変形させることとしてもよい。 Further, even if the position of the second region 1440 set for the enemy character 1215 is moved closer to or away from the avatar 1214 as described above without changing the position of the enemy character 1215 itself. good. Further, the size of the second region 1440 may be adjusted. For example, when the arm length of the user 1212 is shorter than the predetermined reference length, by increasing the size of the second region 1440, even the user 1212 having a short arm length can use the sword 1214B or the hand from the avatar 1214. It is possible to hit the enemy character 1215 with an attack by 1214A, and when the arm length of the user 1212 is longer than the predetermined reference length, the arm length is reduced by reducing the size of the second region 1440. It is possible to prevent an attack by the sword 1214B or the hand 1214A from the avatar 1214 operated by the long user 1212 from easily hitting the enemy character 1215. Further, one or both of the shape of the first region 1410 and the shape of the second region 1440 are appropriately overlapped with each other so that the first region 1410 and the second region 1440 overlap each other (that is, the length of the arm of the user 1212 is a predetermined reference). If it is shorter than the length, the degree of overlap between the first region 1410 and the second region 1440 becomes larger, and if the arm length of the user 1212 is longer than the predetermined reference length, the first region 1410 And the second region 1440 (so that the degree of overlap is smaller)), it may be deformed.

図16は、本開示の別の実施形態による方法1150のフローチャートである。方法1150は、前述した方法1100におけるステップ1112の代わりにステップ1113を含み、方法1100におけるステップ1114の代わりにステップ1115を含み、方法1100におけるステップ1116の代わりにステップ1117を含むものである。以下では、方法1100と異なるステップ1113、ステップ1115、及びステップ1117についてのみ説明する。 FIG. 16 is a flowchart of Method 1150 according to another embodiment of the present disclosure. The method 1150 comprises step 1113 instead of step 1112 in method 1100 described above, step 1115 instead of step 1114 in method 1100, and step 1117 instead of step 1116 in method 1100. In the following, only step 1113, step 1115, and step 1117, which are different from the method 1100, will be described.

ステップ1113において、プロセッサ202は、前述されたステップ1104において特定されたユーザ1212の身長が、所定の基準長よりも高いか低いかを判定する。所定の基準長は、例えば、当該アクションゲームにおいて想定されるユーザの標準的な身長として予め任意に設定された値(例えば170cm)であってよい。ユーザ1212の身長が所定の基準長よりも高い場合、処理はステップ1115に進み、所定の基準長よりも低い場合、処理はステップ1117に進む。 In step 1113, the processor 202 determines whether the height of the user 1212 identified in step 1104 described above is higher or lower than a predetermined reference length. The predetermined reference length may be, for example, a value (for example, 170 cm) arbitrarily set in advance as the standard height of the user assumed in the action game. If the height of the user 1212 is higher than the predetermined reference length, the process proceeds to step 1115, and if it is shorter than the predetermined reference length, the process proceeds to step 1117.

ユーザ1212の身長が所定の基準長よりも高い場合、ステップ1115において、プロセッサ202は、アバター1214(第1オブジェクト)に関連付けられた仮想空間1200内の第1領域を、その大きさが小さくなるように調整する。 If the height of the user 1212 is higher than the predetermined reference length, in step 1115, the processor 202 reduces the size of the first region in the virtual space 1200 associated with the avatar 1214 (first object). Adjust to.

図17は、方法1150の実施形態における第1領域1710及び第2領域1740を示す。図17に示されるように、仮想空間1200内にアバター1214及び敵キャラクタ1215(第2オブジェクト)が存在する。アバター1214には第1領域1710が関連付けられ、敵キャラクタ1215には第2領域1740が関連付けられる。前述した方法1100の実施形態では、アバター1214が敵キャラクタ1215を攻撃する場面を想定したが、方法1150の実施形態では、アバター1214が敵キャラクタ1215から攻撃される場面を想定する。 FIG. 17 shows a first region 1710 and a second region 1740 in an embodiment of method 1150. As shown in FIG. 17, an avatar 1214 and an enemy character 1215 (second object) exist in the virtual space 1200. The first area 1710 is associated with the avatar 1214, and the second area 1740 is associated with the enemy character 1215. In the above-described embodiment of the method 1100, a scene in which the avatar 1214 attacks the enemy character 1215 is assumed, but in the embodiment of the method 1150, a scene in which the avatar 1214 is attacked by the enemy character 1215 is assumed.

方法1150の実施形態において、第1領域1710は、アバター1214に対して設定されるコリジョン領域である。例えば、第1領域1710の高さ方向の大きさは、ユーザ1212が装着しているHMD110の高さ方向の位置座標に従って決定される。アバター1214のコリジョン領域である第1領域1710内に敵キャラクタ1215が持つ武器(例えば剣1215B)若しくはその一部分、又は敵キャラクタ1215から放たれる射出物(例えば銃などの遠隔攻撃用武器から発射された弾丸若しくはレーザビーム、又は敵キャラクタ1215の身体から放たれた魔法弾など)(以下、武器等と総称する)が入ると、アバター1214が当該武器等による攻撃を受けたとの判定がなされる。このように、第1領域1710は、アバター1214に対する攻撃が有効と判定される範囲を規定する。一方、方法1150の実施形態における第2領域1740は、方法1100の実施形態における第1領域1410と同様の方法で敵キャラクタ1215に対して定義される領域である。したがって、第2領域1740は、敵キャラクタ1215の攻撃が届く範囲を規定する。 In an embodiment of method 1150, the first region 1710 is a collision region set for the avatar 1214. For example, the height direction of the first region 1710 is determined according to the height position coordinates of the HMD 110 worn by the user 1212. A weapon (eg, sword 1215B) possessed by the enemy character 1215 or a part thereof in the first region 1710, which is a collision area of the avatar 1214, or an ejector emitted from the enemy character 1215 (for example, a weapon for ranged attack such as a gun). When a bullet or laser beam, or a magic bullet released from the body of an enemy character 1215 (hereinafter collectively referred to as a weapon or the like) enters, it is determined that the avatar 1214 has been attacked by the weapon or the like. As described above, the first region 1710 defines the range in which the attack on the avatar 1214 is determined to be effective. On the other hand, the second region 1740 in the embodiment of the method 1150 is a region defined for the enemy character 1215 in the same manner as the first region 1410 in the embodiment of the method 1100. Therefore, the second area 1740 defines the range in which the attack of the enemy character 1215 can reach.

第1領域1710の高さ方向の大きさは、ユーザ1212の身長に依存する。したがって、ユーザ1212の体格によっては、たとえユーザ1212が最大限に身体を縮めるようにしゃがんだ姿勢をとったとしてもアバター1214が敵キャラクタ1215からの攻撃を回避することができない、あるいはその反対に、ユーザ1212が少し頭の位置を下げただけでアバター1214が敵キャラクタ1215からの攻撃を簡単に回避できてしまう、といったようなことが起こり得る。 The height of the first region 1710 depends on the height of the user 1212. Therefore, depending on the physique of the user 1212, the avatar 1214 cannot avoid the attack from the enemy character 1215, or vice versa, even if the user 1212 takes a crouching posture to maximize the contraction. It is possible that the avatar 1214 can easily avoid an attack from the enemy character 1215 just by lowering the head position of the user 1212.

ステップ1115の実施によって、ユーザ1212の身長が所定値よりも高い場合に、第1領域1710の大きさが小さくなるように第1領域1710が調整される。例えば、プロセッサ202は、第1領域1710の高さ方向の大きさを小さくする。図18は、第1領域1710がどのように縮小されるかの一態様例を示す。図18において、敵キャラクタ1215の第2領域1740の一部分1742が、アバター1214に向かって突出している。この突出部分1742は、例えば、敵キャラクタ1215がアバター1214の方向に突き出した剣1215B(又は銃から発射された弾丸等)に付随するコリジョン領域を表す。また図18において、アバター1214の第1領域1710は、ある特定のユーザ1212が操作するアバター1214が敵キャラクタ1215からの攻撃をよけるためにしゃがんだ姿勢をとった時の第1領域を表している。ユーザ1212がしゃがむ動作をすることでアバター1214をしゃがませた時、当該ユーザ1212の身長が基準長よりも高いせいで、アバター1214の第1領域1710は、敵キャラクタ1215の第2領域1740のうちの突出部分1742と重なりを持つかもしれない。しかしながら、この第1領域1710は、ステップ1115の実施によって、第2領域1740の突出部分1742と重なりを有しないようにより小さな第1領域1715へと縮小される。これにより、背の高いユーザ1212が適切にしゃがむ動作を行ったにもかかわらず、敵キャラクタ1215からの攻撃がアバター1214に当たってしまうという事象が生じるのを防ぐことができる。 By performing step 1115, the first region 1710 is adjusted so that the size of the first region 1710 becomes smaller when the height of the user 1212 is higher than a predetermined value. For example, the processor 202 reduces the size of the first region 1710 in the height direction. FIG. 18 shows an example of how the first region 1710 is reduced. In FIG. 18, a portion 1742 of the second region 1740 of the enemy character 1215 projects toward the avatar 1214. The protruding portion 1742 represents, for example, a collision region associated with a sword 1215B (or a bullet fired from a gun, etc.) with an enemy character 1215 protruding in the direction of the avatar 1214. Further, in FIG. 18, the first region 1710 of the avatar 1214 represents the first region when the avatar 1214 operated by a specific user 1212 takes a crouching posture to avoid an attack from the enemy character 1215. There is. When the user 1212 squats down the avatar 1214, the first region 1710 of the avatar 1214 is the second region 1740 of the enemy character 1215 because the height of the user 1212 is higher than the reference length. It may overlap with our protruding part 1742. However, this first region 1710 is reduced to a smaller first region 1715 by performing step 1115 so that it does not overlap the protruding portion 1742 of the second region 1740. As a result, it is possible to prevent the event that the attack from the enemy character 1215 hits the avatar 1214 even though the tall user 1212 properly crouches.

上記のステップ1113の判定においてユーザ1212の身長が所定の基準長よりも低いと判定された場合、ステップ1117において、プロセッサ202は、アバター1214の第1領域1710を、その大きさが大きくなるように調整する。例えば、プロセッサ202は、第1領域1710の高さ方向の大きさを大きくする。これにより、背の低いユーザ1212がほんの少し頭(HMD110)を下げただけでアバター1214が敵キャラクタ1215からの攻撃を簡単に回避できてしまう不公平さをなくすことができる。 If it is determined in step 1113 that the height of the user 1212 is lower than the predetermined reference length, in step 1117, the processor 202 increases the size of the first region 1710 of the avatar 1214. adjust. For example, the processor 202 increases the size of the first region 1710 in the height direction. This eliminates the unfairness that the short user 1212 can easily avoid the attack from the enemy character 1215 by just lowering his head (HMD110).

以上説明した方法1150の実施形態では、ステップ1115及びステップ1117において、第1領域1710を縮小又は拡大する方法がとられた。しかしながら、第1領域1710を縮小又は拡大する以外の他の方法が採用されてもよい。図18を参照すると、例えば、ユーザ1212の身長が所定の基準長よりも高い場合に、敵キャラクタ1215の位置を高く配置し、ユーザ1212の身長が所定の基準長よりも低い場合に、敵キャラクタ1215の位置を低く配置してもよい。また例えば、敵キャラクタ1215の配置位置の高低を変更することに代えて、ユーザ1212の身長が所定の基準長よりも高い場合に、敵キャラクタ1215の第2領域1740(例えば突出部分1742)の位置を高くし、ユーザ1212の身長が所定の基準長よりも低い場合に、当該第2領域1740の位置を低くするのであってもよい。更には、ユーザ1212の身長が所定の基準長よりも高い場合に、敵キャラクタ1215の第2領域1740(例えば突出部分1742)の大きさを小さくし、ユーザ1212の身長が所定の基準長よりも低い場合に、当該第2領域1740の大きさを大きくすることとしてもよい。また、第1領域1710の形状及び第2領域1740の形状の一方又は両方を、第1領域1710と第2領域1740が適度に重なり合うように(即ち、ユーザ1212の身長が所定の基準長よりも高い場合には第1領域1410と第2領域1440との重なり度合いがより小さくなるように、またユーザ1212の身長が所定の基準長よりも低い場合には第1領域1410と第2領域1440との重なり度合いがより大きくなるように)、変形させることとしてもよい。これらのいずれの方法によっても、上記と同様に、背の高いユーザ1212が適切にしゃがむ動作を行った時に敵キャラクタ1215からの攻撃がアバター1214に当たってしまうのを防ぐことができるとともに、背の低いユーザ1212が頭の位置を少し下げただけで敵キャラクタ1215からの攻撃がアバター1214に当たらなくなるのを防ぐことができる。 In the embodiment of the method 1150 described above, in step 1115 and step 1117, a method of reducing or expanding the first region 1710 was adopted. However, other methods other than reducing or enlarging the first region 1710 may be adopted. Referring to FIG. 18, for example, when the height of the user 1212 is higher than the predetermined reference length, the position of the enemy character 1215 is placed higher, and when the height of the user 1212 is lower than the predetermined reference length, the enemy character is placed. The position of 1215 may be placed low. Also, for example, instead of changing the height of the placement position of the enemy character 1215, when the height of the user 1212 is higher than a predetermined reference length, the position of the second region 1740 (for example, the protruding portion 1742) of the enemy character 1215. The position of the second region 1740 may be lowered when the height of the user 1212 is lower than the predetermined reference length. Further, when the height of the user 1212 is higher than the predetermined reference length, the size of the second region 1740 (for example, the protruding portion 1742) of the enemy character 1215 is reduced, and the height of the user 1212 is larger than the predetermined reference length. If it is low, the size of the second region 1740 may be increased. Further, one or both of the shape of the first region 1710 and the shape of the second region 1740 are appropriately overlapped with each other so that the first region 1710 and the second region 1740 overlap each other (that is, the height of the user 1212 is larger than the predetermined reference length). When it is high, the degree of overlap between the first region 1410 and the second region 1440 becomes smaller, and when the height of the user 1212 is shorter than the predetermined reference length, the first region 1410 and the second region 1440 are used. It may be deformed so that the degree of overlap is larger). By any of these methods, similarly to the above, it is possible to prevent the attack from the enemy character 1215 from hitting the avatar 1214 when the tall user 1212 properly squats down, and the short user. It is possible to prevent the attack from the enemy character 1215 from hitting the avatar 1214 by simply lowering the position of the head of the 1212.

方法1100及び方法1150は、上述された各ステップに加えて更に付加的なステップを含んでもよい。例えば、方法1100及び方法1150は、ステップ1104において特定されたユーザ1212の身長に基づいてアバター1214の身長を調整するステップを含むのであってもよい。具体的に、ユーザ1212の身長が高い場合、アバター1214の身長も高く調整され、ユーザ1212の身長が低い場合、アバター1214の身長も低く調整される。一例として、身長の異なる複数のアバター1214のモデルが用意され、これら複数のアバター1214のモデルの中から、ユーザ1212の身長に対応する身長を有するモデルが、アバター1214を表すモデルとして選択され使用される。これにより、仮想空間1200においてアバター1214を適正な容姿で表現することができる。 Methods 1100 and 1150 may include additional steps in addition to each of the steps described above. For example, methods 1100 and 1150 may include adjusting the height of the avatar 1214 based on the height of the user 1212 identified in step 1104. Specifically, when the height of the user 1212 is high, the height of the avatar 1214 is also adjusted to be high, and when the height of the user 1212 is short, the height of the avatar 1214 is also adjusted to be low. As an example, a model of a plurality of avatars 1214 having different heights is prepared, and a model having a height corresponding to the height of the user 1212 is selected and used as a model representing the avatar 1214 from among the models of the plurality of avatars 1214. To. As a result, the avatar 1214 can be expressed in an appropriate appearance in the virtual space 1200.

本開示の実施形態は、主に、プロセッサ202(もしくはコンピュータ200)又は方法1100若しくは1150として実施されるものとして説明された。しかし、本開示の実施形態が、プロセッサ202に方法1100若しくは1150を実行させるコンピュータプログラムとして実施することができることは、当業者にとって明らかであろう。 The embodiments of the present disclosure have been described primarily as being carried out as processor 202 (or computer 200) or method 1100 or 1150. However, it will be apparent to those skilled in the art that embodiments of the present disclosure can be implemented as computer programs that cause the processor 202 to perform methods 1100 or 1150.

本開示の実施形態が説明されたが、これらが例示にすぎず、本開示の範囲を限定するものではないことが理解されるべきである。本開示の趣旨及び範囲から逸脱することなく、実施形態の変更、追加、改良等を適宜行うことができることが理解されるべきである。本開示の範囲は、上述した実施形態のいずれによっても限定されるべきではなく、特許請求の範囲及びその均等物によってのみ規定されるべきである。 Although embodiments of the present disclosure have been described, it should be understood that these are examples only and do not limit the scope of the present disclosure. It should be understood that the embodiments can be changed, added, improved, etc. as appropriate without departing from the spirit and scope of the present disclosure. The scope of the present disclosure should not be limited by any of the embodiments described above, but should be defined only by the claims and their equivalents.

また、上述した様々な実施形態では、非透過型のHMD装置によってユーザが没入する仮想空間を提供する例について説明したが、HMD装置として、透過型のHMD装置を採用してもよい。そのような実施形態においては、透過型のHMD装置を介してユーザが視認する現実空間に仮想オブジェクトを含む画像を重ねて表示することにより、拡張現実(AR:Augmented Reality)空間または複合現実(MR:Mixed Reality)空間におけるユーザ体験を提供してもよい。 Further, in the various embodiments described above, an example of providing a virtual space in which a user is immersed by a non-transparent HMD device has been described, but a transmissive HMD device may be adopted as the HMD device. In such an embodiment, an image containing a virtual object is superimposed and displayed on a real space visually recognized by a user via a transmissive HMD device, thereby displaying an augmented reality (AR) space or mixed reality (MR). : Mixed Reality) May provide a user experience in space.

100…HMDシステム、110…HMD、112…表示部、114…センサ、120…トラッキングセンサ、130…モーションセンサ、140…注視センサ、150…サーバ、160…コントローラ、190…ユーザ、192…ネットワーク、200…コンピュータ、202…プロセッサ、204…メモリ、205…通信制御部、206…ストレージ、208…入出力インターフェース、210…通信インターフェース、212…バス、400…仮想空間、402…仮想空間画像、404…仮想カメラ、406…中心、408…基準視線、410…視認領域、602、702…領域、800…コントローラ、802…グリップ、804…フレーム、806…天面、808、810、814、816…ボタン、818…アナログスティック、902…仮想空間特定部、903…HMD動作検知部、904…視線検知部、906…基準視線決定部、908…視界領域決定部、910…コントローラ動作検知部、912…視界画像生成部、926…視界画像出力部、928…仮想空間データ、930…オブジェクトデータ、932…アプリケーションデータ、934…その他のデータ、1200…仮想空間、1204…仮想カメラ、1212…ユーザ、1214…アバター、1214A…アバターの手、1214B…剣、1214C…アバターの頭部、1215…敵キャラクタ、1215A…敵キャラクタの手、1215B…剣、1222…ゲームフィールド、1410…第1領域、1415…拡大された第1領域、1420…可動領域、1430…コリジョン領域、1440…第2領域、1710…第1領域、1715…縮小された第1領域、1740…第2領域
100 ... HMD system, 110 ... HMD, 112 ... Display, 114 ... Sensor, 120 ... Tracking sensor, 130 ... Motion sensor, 140 ... Gaze sensor, 150 ... Server, 160 ... Controller, 190 ... User, 192 ... Network, 200 ... Computer, 202 ... Processor, 204 ... Memory, 205 ... Communication control unit, 206 ... Storage, 208 ... Input / output interface, 210 ... Communication interface, 212 ... Bus, 400 ... Virtual space, 402 ... Virtual space image, 404 ... Virtual Camera, 406 ... Center, 408 ... Reference line of sight, 410 ... Visual area, 602, 702 ... Area, 800 ... Controller, 802 ... Grip, 804 ... Frame, 806 ... Top surface, 808, 810, 814, 816 ... Button, 818 ... Analog stick, 902 ... Virtual space identification unit, 903 ... HMD motion detection unit, 904 ... Line-of-sight detection unit, 906 ... Reference line-of-sight determination unit, 908 ... View area determination unit, 910 ... Controller motion detection unit, 912 ... View image generation Unit, 926 ... Visibility image output unit, 928 ... Virtual space data, 930 ... Object data, 923 ... Application data, 934 ... Other data, 1200 ... Virtual space, 1204 ... Virtual camera, 1212 ... User, 1214 ... Avatar, 1214A ... Avatar's hand, 1214B ... Sword, 1214C ... Avatar's head, 1215 ... Enemy character, 1215A ... Enemy character's hand, 1215B ... Sword, 1222 ... Game field, 1410 ... First area, 1415 ... Enlarged first Region, 1420 ... Movable region, 1430 ... Collision region, 1440 ... Second region, 1710 ... First region, 1715 ... Reduced first region, 1740 ... Second region

Claims (13)

ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するためのコンピュータに、
前記ユーザの身体に関連する幾何学的特徴を特定するステップと、
前記仮想体験を提供するための仮想空間を特定するステップと、
前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、
前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、
前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップであって、前記第1オブジェクトと前記第2オブジェクトが所定の位置関係にある時の前記第1領域と前記第2領域との重なり度合いが所定の範囲内に収まらない場合、前記重なり度合いが前記所定の範囲内に収まるように、前記第1領域の大きさ又は形状、前記仮想空間内における前記第2オブジェクトの位置、前記仮想空間内における前記第2領域の位置、及び前記第2領域の大きさ又は形状のうちの少なくとも1つを調整することを含む、ステップと、
前記仮想視点からの視界を表す視界画像を生成するステップと、
前記視界画像を前記画像表示装置に表示させるステップと、
を実行させるためのプログラム。
To a computer for providing a virtual experience to the user via an image display device associated with the user's head.
The steps to identify the geometric features associated with the user's body,
The steps to identify the virtual space to provide the virtual experience,
A step of controlling the field of view from a virtual viewpoint in the virtual space according to the movement of the user's head,
A step of moving the first object in the virtual space according to the movement of the user,
Based on the geometric feature, at least one of the first region determined according to the first object and the geometric feature, and the second region set for the second object in the virtual space. In the step of adjusting, when the degree of overlap between the first region and the second region when the first object and the second object are in a predetermined positional relationship does not fall within the predetermined range, the overlap is performed. The size or shape of the first region, the position of the second object in the virtual space, the position of the second region in the virtual space, and the second region so that the degree is within the predetermined range. With steps, including adjusting at least one of the size or shape of the area .
The step of generating a field of view image representing the field of view from the virtual viewpoint, and
The step of displaying the view image on the image display device,
A program to execute.
前記幾何学的特徴は、前記ユーザの身体の特定の部位の長さを含み、
前記動かすステップは、前記特定の部位の少なくとも一部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、
前記第1オブジェクトは、前記特定の部位の前記少なくとも一部に対応するオブジェクトであり、
前記調整するステップは、前記特定の部位の長さが基準長よりも短い場合、前記第1領域の大きさを大きくする、前記第2オブジェクトの位置を前記第1オブジェクトに近づける、前記第2領域の位置を前記第1オブジェクトに近づける、前記第2領域の大きさを大きくする、及び前記第1領域と前記第2領域との重なり度合いが大きくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、請求項1に記載のプログラム。
The geometric feature includes the length of a particular part of the user's body.
The moving step comprises moving the first object in the virtual space in response to the movement of at least a portion of the particular portion.
The first object is an object corresponding to at least a part of the specific part.
The adjusting step increases the size of the first region when the length of the specific portion is shorter than the reference length, brings the position of the second object closer to the first object, and the second region. The position of the first region or the second region is increased so that the position of the first object is brought closer to the first object, the size of the second region is increased, and the degree of overlap between the first region and the second region is increased. The program of claim 1 , comprising performing at least one of changing the shape.
前記幾何学的特徴は、前記ユーザの身体の特定の部位の長さを含み、
前記動かすステップは、前記特定の部位の少なくとも一部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、
前記第1オブジェクトは、前記特定の部位の前記少なくとも一部に対応するオブジェクトであり、
前記調整するステップは、前記特定の部位の長さが基準長よりも長い場合、前記第1領域の大きさを小さくする、前記第2オブジェクトの位置を前記第1オブジェクトから遠ざける、前記第2領域の位置を前記第1オブジェクトから遠ざける、前記第2領域の大きさを小さくする、及び前記第1領域と前記第2領域との重なり度合いが小さくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、請求項1又は2に記載のプログラム。
The geometric feature includes the length of a particular part of the user's body.
The moving step comprises moving the first object in the virtual space in response to the movement of at least a portion of the particular portion.
The first object is an object corresponding to at least a part of the specific part.
The adjusting step reduces the size of the first region when the length of the specific portion is longer than the reference length, moves the position of the second object away from the first object, and the second region. The position of the first region or the second region is reduced so that the position of the first object is kept away from the first object, the size of the second region is reduced, and the degree of overlap between the first region and the second region is reduced. The program of claim 1 or 2 , comprising performing at least one of changing the shape.
前記第1領域は、前記ユーザの動きに応じた前記第1オブジェクトの可動領域と、前記第1オブジェクトに接して配置される第3オブジェクトに対して設定されているコリジョン領域とに応じて決定される、請求項1から3のいずれか1項に記載のプログラム。 The first area is determined according to the movable area of the first object according to the movement of the user and the collision area set for the third object arranged in contact with the first object. The program according to any one of claims 1 to 3 . 前記幾何学的特徴は、前記ユーザの身長を含み、
前記動かすステップは、前記ユーザの頭部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、
前記第1オブジェクトは、前記仮想視点に対応して配置された仮想カメラ、又は前記頭部に対応するオブジェクトを少なくとも含むオブジェクトのいずれかであり、
前記調整するステップは、前記ユーザの身長が基準高よりも高い場合、前記第1領域の大きさを小さくする、前記第2オブジェクトの位置を高くする、前記第2領域の位置を高くする、前記第2領域の大きさを小さくする、及び前記第1領域と前記第2領域との重なり度合いが小さくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、請求項1に記載のプログラム。
The geometric feature includes the height of the user.
The moving step comprises moving the first object in the virtual space in response to the movement of the user's head.
The first object is either a virtual camera arranged corresponding to the virtual viewpoint or an object including at least an object corresponding to the head.
The adjusting step reduces the size of the first region, raises the position of the second object, raises the position of the second region, and raises the position of the second region when the height of the user is higher than the reference height. At least one of reducing the size of the second region and changing the shape of the first region or the second region so that the degree of overlap between the first region and the second region is reduced. The program according to claim 1 , wherein the program comprises the above.
前記幾何学的特徴は、前記ユーザの身長を含み、
前記動かすステップは、前記ユーザの頭部の動きに応じて、前記仮想空間内で前記第1オブジェクトを動かすことを含み、
前記第1オブジェクトは、前記仮想視点に対応して配置された仮想カメラ、又は前記頭部に対応するオブジェクトを少なくとも含むオブジェクトのいずれかであり、
前記調整するステップは、前記ユーザの身長が基準高よりも低い場合、前記第1領域の大きさを大きくする、前記第2オブジェクトの位置を低くする、前記第2領域の位置を低くする、前記第2領域の大きさを大きくする、及び前記第1領域と前記第2領域との重なり度合いが大きくなるように前記第1領域又は前記第2領域の形状を変化させる、のうちの少なくとも1つを行うことを含む、請求項1又は5に記載のプログラム。
The geometric feature includes the height of the user.
The moving step comprises moving the first object in the virtual space in response to the movement of the user's head.
The first object is either a virtual camera arranged corresponding to the virtual viewpoint or an object including at least an object corresponding to the head.
The adjusting step increases the size of the first region, lowers the position of the second object, lowers the position of the second region, and lowers the position of the second region when the height of the user is lower than the reference height. At least one of increasing the size of the second region and changing the shape of the first region or the second region so that the degree of overlap between the first region and the second region is increased. The program according to claim 1 or 5 , which comprises performing.
前記第1領域は、前記第1オブジェクトに対して設定されているコリジョン領域である、請求項1、5、又は6のいずれか1項に記載のプログラム。 The program according to any one of claims 1, 5, or 6 , wherein the first area is a collision area set for the first object. 前記第2領域は、前記第2オブジェクトに対して設定されているコリジョン領域である、請求項1から7のいずれか1項に記載のプログラム。 The program according to any one of claims 1 to 7 , wherein the second area is a collision area set for the second object. 前記第2オブジェクトは、前記仮想視点からの視界内に含まれる、請求項1から8のいずれか1項に記載のプログラム。 The program according to any one of claims 1 to 8 , wherein the second object is included in the field of view from the virtual viewpoint. 前記第1オブジェクトは、前記ユーザに対応する前記仮想空間内のアバターであり、
更に、前記ユーザの身長に基づいて前記アバターの身長を調整するステップを含む、請求項1から9のいずれか1項に記載のプログラム。
The first object is an avatar in the virtual space corresponding to the user.
The program according to any one of claims 1 to 9 , further comprising a step of adjusting the height of the avatar based on the height of the user.
前記幾何学的特徴を特定するステップは、
前記ユーザの身体の少なくとも一部分をトラッキングするステップと、
前記トラッキングの結果に基づいて前記ユーザの身体の幾何学的特徴を決定するステップと、
を含む、請求項1から10のいずれか1項に記載のプログラム。
The step of identifying the geometric feature is
The step of tracking at least a part of the user's body,
Steps to determine the geometric features of the user's body based on the tracking results,
The program according to any one of claims 1 to 10 .
ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するための情報処理装置であって、
プロセッサと、
プログラムを格納するメモリと、
を備え、
前記プログラムは、前記プロセッサによって実行されると、前記プロセッサに、
前記ユーザの身体に関連する幾何学的特徴を特定するステップと、
前記仮想体験を提供するための仮想空間を特定するステップと、
前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、
前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、
前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップであって、前記第1オブジェクトと前記第2オブジェクトが所定の位置関係にある時の前記第1領域と前記第2領域との重なり度合いが所定の範囲内に収まらない場合、前記重なり度合いが前記所定の範囲内に収まるように、前記第1領域の大きさ又は形状、前記仮想空間内における前記第2オブジェクトの位置、前記仮想空間内における前記第2領域の位置、及び前記第2領域の大きさ又は形状のうちの少なくとも1つを調整することを含む、ステップと、
前記仮想視点からの視界を表す視界画像を生成するステップと、
前記視界画像を前記画像表示装置に表示させるステップと、
を実行させるように構成される、情報処理装置。
An information processing device for providing a virtual experience to a user via an image display device associated with the user's head.
With the processor
Memory for storing programs and
Equipped with
When the program is executed by the processor, the processor receives the program.
The steps to identify the geometric features associated with the user's body,
The steps to identify the virtual space to provide the virtual experience,
A step of controlling the field of view from a virtual viewpoint in the virtual space according to the movement of the user's head,
A step of moving the first object in the virtual space according to the movement of the user,
Based on the geometric feature, at least one of the first region determined according to the first object and the geometric feature, and the second region set for the second object in the virtual space. In the step of adjusting, when the degree of overlap between the first region and the second region when the first object and the second object are in a predetermined positional relationship does not fall within the predetermined range, the overlap is performed. The size or shape of the first region, the position of the second object in the virtual space, the position of the second region in the virtual space, and the second region so that the degree is within the predetermined range. With steps, including adjusting at least one of the size or shape of the area .
The step of generating a field of view image representing the field of view from the virtual viewpoint, and
The step of displaying the view image on the image display device,
An information processing device configured to execute.
ユーザの頭部に関連付けられた画像表示装置を介して当該ユーザに仮想体験を提供するための情報処理方法であって、
前記ユーザの身体に関連する幾何学的特徴を特定するステップと、
前記仮想体験を提供するための仮想空間を特定するステップと、
前記ユーザの頭部の動きに応じて、前記仮想空間における仮想視点からの視界を制御するステップと、
前記ユーザの動きに応じて、前記仮想空間内で第1オブジェクトを動かすステップと、
前記幾何学的特徴に基づいて、前記第1オブジェクトと前記幾何学的特徴とに応じて定まる第1領域、及び前記仮想空間内の第2オブジェクトに対して設定された第2領域の少なくとも一方を調整するステップであって、前記第1オブジェクトと前記第2オブジェクトが所定の位置関係にある時の前記第1領域と前記第2領域との重なり度合いが所定の範囲内に収まらない場合、前記重なり度合いが前記所定の範囲内に収まるように、前記第1領域の大きさ又は形状、前記仮想空間内における前記第2オブジェクトの位置、前記仮想空間内における前記第2領域の位置、及び前記第2領域の大きさ又は形状のうちの少なくとも1つを調整することを含む、ステップと、
前記仮想視点からの視界を表す視界画像を生成するステップと、
前記視界画像を前記画像表示装置に表示させるステップと、
を含む情報処理方法。
An information processing method for providing a virtual experience to a user via an image display device associated with the user's head.
The steps to identify the geometric features associated with the user's body,
The steps to identify the virtual space to provide the virtual experience,
A step of controlling the field of view from a virtual viewpoint in the virtual space according to the movement of the user's head,
A step of moving the first object in the virtual space according to the movement of the user,
Based on the geometric feature, at least one of the first region determined according to the first object and the geometric feature, and the second region set for the second object in the virtual space. In the step of adjusting, when the degree of overlap between the first region and the second region when the first object and the second object are in a predetermined positional relationship does not fall within the predetermined range, the overlap is performed. The size or shape of the first region, the position of the second object in the virtual space, the position of the second region in the virtual space, and the second region so that the degree is within the predetermined range. With steps, including adjusting at least one of the size or shape of the area .
The step of generating a field of view image representing the field of view from the virtual viewpoint, and
The step of displaying the view image on the image display device,
Information processing methods including.
JP2017228020A 2017-11-28 2017-11-28 Programs, information processing devices, and information processing methods for providing virtual experiences Active JP7064265B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017228020A JP7064265B2 (en) 2017-11-28 2017-11-28 Programs, information processing devices, and information processing methods for providing virtual experiences

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017228020A JP7064265B2 (en) 2017-11-28 2017-11-28 Programs, information processing devices, and information processing methods for providing virtual experiences

Publications (2)

Publication Number Publication Date
JP2019101468A JP2019101468A (en) 2019-06-24
JP7064265B2 true JP7064265B2 (en) 2022-05-10

Family

ID=66976905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017228020A Active JP7064265B2 (en) 2017-11-28 2017-11-28 Programs, information processing devices, and information processing methods for providing virtual experiences

Country Status (1)

Country Link
JP (1) JP7064265B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111228791A (en) * 2019-12-30 2020-06-05 塔普翊海(上海)智能科技有限公司 Real person AR shooting game equipment, and shooting fighting system and method based on AR technology

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002292123A (en) 2001-03-29 2002-10-08 Konami Co Ltd Game device, game method, game program, and game system
JP2017021799A (en) 2015-07-07 2017-01-26 学校法人幾徳学園 Information presentation system, information presentation device and program
JP6207691B1 (en) 2016-08-12 2017-10-04 株式会社コロプラ Information processing method and program for causing computer to execute information processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002292123A (en) 2001-03-29 2002-10-08 Konami Co Ltd Game device, game method, game program, and game system
JP2017021799A (en) 2015-07-07 2017-01-26 学校法人幾徳学園 Information presentation system, information presentation device and program
JP6207691B1 (en) 2016-08-12 2017-10-04 株式会社コロプラ Information processing method and program for causing computer to execute information processing method

Also Published As

Publication number Publication date
JP2019101468A (en) 2019-06-24

Similar Documents

Publication Publication Date Title
JP6470796B2 (en) Information processing method, program, and computer
JP6368411B1 (en) Method, program and computer executed on a computer to provide a virtual experience
US20180356880A1 (en) Information processing method and apparatus, and program for executing the information processing method on computer
JP6580619B2 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
JP2019133309A (en) Program, information processor and information processing method
JP2019086848A (en) Program, information processing device and method
JP2018028920A (en) Method for providing virtual space, program and recording medium
JP7064265B2 (en) Programs, information processing devices, and information processing methods for providing virtual experiences
JP2018097517A (en) Information processing method, device, and program for causing computer to execute the information processing method
JP6290490B1 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
JP6368404B1 (en) Information processing method, program, and computer
JP6965304B2 (en) Programs, information processing devices, and information processing methods
JP7138483B2 (en) Computer program, information processing device and information processing method
JP6703578B2 (en) Program, method and information processing apparatus
JP6298557B1 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
JP6856572B2 (en) An information processing method, a device, and a program for causing a computer to execute the information processing method.
JP6966336B2 (en) An information processing method, a device, and a program for causing a computer to execute the information processing method.
JP6275185B2 (en) Method, program, and recording medium for providing virtual space
JP2018175849A (en) Information processing method, apparatus, and program for implementing that information processing method in computer
JP2019016358A (en) Information processing method, program and computer
JP7386948B2 (en) Program, method and information processing device
JP7295045B2 (en) Programs, computer implemented methods and computers
JP6441517B1 (en) Program, information processing apparatus, and method
JP2019032715A (en) Information processing method, device, and program for causing computer to execute the method
JP6946084B2 (en) An information processing method, a device, and a program for causing a computer to execute the information processing method.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220419

R150 Certificate of patent or registration of utility model

Ref document number: 7064265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150