Program and information processing system

The system controls the display of second character movements to prevent uncomfortable reflections, ensuring a comfortable virtual space for the first user while maintaining interaction freedom for the second user.

JP2024178490AActive Publication Date: 2024-12-25COLOPL
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023093032
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-06
Publication Date
2024-12-25
Estimated Expiration
2043-06-06

AI Technical Summary

Technical Problem

Existing virtual spaces in interactive services do not provide a comfortable environment for users due to unwanted reflections of other users' movements or actions, leading to discomfort.

Method used

A system that controls the display of a second character's movements based on a first user's operation, preventing predetermined movements from being reflected in the display provided to the first user, using a control mechanism to ensure a comfortable virtual space.

Benefits of technology

Enables a comfortable virtual space experience by preventing uncomfortable movements from being displayed to the first user while allowing the second user the freedom to perform actions, thus enhancing user comfort and interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024178490000001_ABST
    Figure 2024178490000001_ABST
Patent Text Reader

Abstract

To provide a virtual space that can be utilized comfortably.SOLUTION: A program causes a computer to function as control means for performing a control on a second character that makes a motion based on operation through a second user in a display provided to a first user who operates a first character in such a way that a predetermined motion by the second character in accordance with the second user is not reflected on the second character in the display provided to the first user.SELECTED DRAWING: Figure 16
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a program and an information processing system. [Background technology]

[0002] 2. Description of the Related Art Services (eg, games, etc.) that allow users to interact with other users in a virtual space have been known (eg, see Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2021-114036 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, in such services, it is required to provide users with a virtual space that can be used comfortably.

[0005] An object of the present invention is to provide a virtual space that can be used comfortably. [Means for solving the problem]

[0006] According to one embodiment shown in the present disclosure, Computer, and functioning as a control means for controlling a second character that moves based on an operation of a second user in a display provided to a first user who operates a first character, so that a predetermined movement that the second user causes the second character to perform is not reflected in the second character in the display provided to the first user. The program is provided. Effect of the Invention

[0007] According to the present invention, a virtual space that can be used comfortably can be provided to a user. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an outline of the configuration of an HMD system according to an embodiment. [Diagram 2] FIG. 1 is a block diagram illustrating an example of a hardware configuration of a computer according to an embodiment. [Diagram 3] FIG. 2 is a diagram conceptually illustrating a uvw field of view coordinate system set in an HMD according to an embodiment. [Figure 4] FIG. 1 is a diagram conceptually illustrating one mode of expressing a virtual space according to an embodiment. [Diagram 5] 1 is a top view of the head of a user wearing an HMD according to one embodiment. [Figure 6] 1 is a diagram showing a YZ cross section of a field of view in a virtual space as viewed from an X direction. [Figure 7] 1 is a diagram showing an XZ cross section of a field of view in a virtual space as viewed from the Y direction. [Figure 8A] FIG. 2 is a diagram illustrating a schematic configuration of a controller according to an embodiment. [Figure 8B] FIG. 2 illustrates an example of yaw, roll, and pitch directions defined relative to a user's right hand according to one embodiment. [Figure 9] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a server according to an embodiment. [Figure 10] FIG. 1 is a block diagram illustrating a modular configuration of a computer according to an embodiment. [Figure 11] 1 is a sequence chart showing a process executed in an HMD set according to an embodiment. [Figure 12A] 1 is a schematic diagram showing a situation in which each HMD provides a virtual space to a user in a network. [Figure 12B] FIG. 12B is a diagram showing a field of view image of a user 5A in FIG. 12A. [Figure 13]1 is a sequence chart showing a process executed in an HMD system according to an embodiment. [Figure 14] FIG. 2 is a block diagram illustrating a detailed configuration of a module of a computer according to an embodiment. [Figure 15] FIG. 2 is a block diagram illustrating a server according to one embodiment in a modular configuration. [Figure 16] 11A to 11C are diagrams illustrating the movement of an avatar object that is not reflected to other users according to an embodiment. [Figure 17] 13 is a flowchart illustrating an example of a process for limiting reflection of a movement of an avatar object, which is executed in an HMD system according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the embodiment of this technical idea will be described in detail with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated. In one or more embodiments shown in this disclosure, the elements included in each embodiment can be combined with each other, and the combined result also forms part of the embodiment shown in this disclosure.

[0010] [HMD system configuration] The configuration of an HMD (Head-Mounted Device) system 100 will be described with reference to Fig. 1. Fig. 1 is a diagram showing an outline of the configuration of an HMD system 100 according to the present embodiment. The HMD system 100 is provided as a system for home use or a system for commercial use. The HMD system 100 provides a predetermined service to a user.

[0011] The HMD system 100 includes a server 600, HMD sets 110A, 110B, 110C, and 110D, an external device 700, and a network 2. Each of the HMD sets 110A, 110B, 110C, and 110D is configured to be able to communicate with the server 600 and the external device 700 via the network 2. Hereinafter, the HMD sets 110A, 110B, 110C, and 110D are collectively referred to as an HMD set 110. The number of HMD sets 110 constituting the HMD system 100 is not limited to four, and may be three or less, or five or more. The HMD set 110 includes an HMD 120, a computer 200, an HMD sensor 410, a display 430, and a controller 300. The HMD 120 includes a monitor 130, a gaze sensor 140, a first camera 150, a second camera 160, a microphone 170, and a speaker 180. The controller 300 may include a motion sensor 420.

[0012] In one aspect, the computer 200 can be connected to the Internet or other network 2, and can communicate with a server 600 or other computers connected to the network 2. Examples of the other computers include computers of other HMD sets 110 and external devices 700. In another aspect, the HMD 120 can include a sensor 190 instead of the HMD sensor 410.

[0013] The HMD 120 is worn on the head of the user 5 and can provide a virtual space to the user 5 during operation. More specifically, the HMD 120 displays an image for the right eye and an image for the left eye on the monitor 130. When each eye of the user 5 views the respective image, the user 5 can recognize the image as a three-dimensional image based on the parallax between the two eyes. The HMD 120 can include both a so-called head-mounted display equipped with a monitor and a head-mounted device to which a smartphone or other terminal having a monitor can be attached.

[0014] The monitor 130 is realized, for example, as a non-transmissive display device. In one aspect, the monitor 130 is disposed on the body of the HMD 120 so as to be located in front of both eyes of the user 5. Therefore, when the user 5 visually recognizes the three-dimensional image displayed on the monitor 130, the user 5 can be immersed in the virtual space. In one aspect, the virtual space includes, for example, images of a background, objects that the user 5 can operate, and menus that the user 5 can select. In one aspect, the monitor 130 can be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smartphone or other information display terminal.

[0015] In another aspect, the monitor 130 may be realized as a transmissive display device. Examples of the transmissive monitor 130 include glasses and contact lenses. The HMD 120 may be an open type that does not cover the eyes of the user 5, instead of a closed type that covers the eyes of the user 5 as shown in FIG. 1. The transmissive monitor 130 may be temporarily configured as a non-transmissive display device by adjusting the transmittance. The monitor 130 may include a configuration that simultaneously displays a part of an image that constitutes a virtual space and the real space. For example, the monitor 130 may display an image of the real space captured by a camera mounted on the HMD 120, or may make the real space visible by setting a part of the transmittance high.

[0016] In one aspect, the monitor 130 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye. In another aspect, the monitor 130 may be configured to integrally display an image for the right eye and an image for the left eye. In this case, the monitor 130 includes a high-speed shutter. The high-speed shutter operates to alternately display an image for the right eye and an image for the left eye so that the image is recognized by only one of the eyes.

[0017] In one aspect, the HMD 120 includes a plurality of light sources (not shown). Each light source is realized, for example, by an LED (Light Emitting Diode) that emits infrared rays. The HMD sensor 410 has a position tracking function for detecting the movement of the HMD 120. More specifically, the HMD sensor 410 reads a plurality of infrared rays emitted by the HMD 120 and detects the position and inclination of the HMD 120 in the real space.

[0018] In another aspect, the HMD sensor 410 may be realized by a camera. In this case, the HMD sensor 410 can detect the position and inclination of the HMD 120 by performing image analysis processing using image information of the HMD 120 output from the camera.

[0019] In another aspect, the HMD 120 may include a sensor 190 as a position detector instead of or in addition to the HMD sensor 410. The HMD 120 may detect the position and tilt of the HMD 120 itself using the sensor 190. For example, if the sensor 190 is an angular velocity sensor, a geomagnetic sensor, or an acceleration sensor, the HMD 120 may detect the position and tilt of the HMD 120 itself using any of these sensors instead of the HMD sensor 410. As an example, if the sensor 190 is an angular velocity sensor, the angular velocity sensor detects the angular velocity of the HMD 120 around three axes in real space over time. The HMD 120 calculates the change in angle of the HMD 120 around the three axes over time based on each angular velocity, and further calculates the tilt of the HMD 120 based on the change in angle over time.

[0020] The gaze sensor 140 detects the direction in which the gaze of the right eye and the left eye of the user 5 are directed. That is, the gaze sensor 140 detects the gaze of the user 5. The detection of the gaze direction is realized, for example, by a known eye tracking function. The gaze sensor 140 is realized by a sensor having the eye tracking function. In a certain aspect, 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 irradiates the right eye and the left eye of the user 5 with infrared light and detects the rotation angle of each eyeball by receiving reflected light from the cornea and the iris of the irradiated light. The gaze sensor 140 can detect the gaze of the user 5 based on each detected rotation angle.

[0021] The first camera 150 photographs the lower part of the face of the user 5. More specifically, the first camera 150 photographs the nose, mouth, and the like of the user 5. The second camera 160 photographs the eyes, eyebrows, and the like of the user 5. The housing of the HMD 120 on the user 5 side is defined as the inside of the HMD 120, and the housing of the HMD 120 on the opposite side to the user 5 is defined as the outside of the HMD 120. In one aspect, the first camera 150 may be disposed outside the HMD 120, and the second camera 160 may be disposed inside the HMD 120. Images generated by the first camera 150 and the second camera 160 are input to the computer 200. In another aspect, the first camera 150 and the second camera 160 may be realized as a single camera, and the face of the user 5 may be photographed by this single camera.

[0022] The microphone 170 converts the speech of the user 5 into an audio signal (electrical signal) and outputs it to the computer 200. The speaker 180 converts the audio signal into sound and outputs it to the user 5. In another aspect, the HMD 120 may include earphones instead of the speaker 180.

[0023] The controller 300 is connected to the computer 200 by wire or wirelessly. The controller 300 accepts input of a command from the user 5 to the computer 200. In one aspect, the controller 300 is configured to be held by the user 5. In another aspect, the controller 300 is configured to be attached to a part of the body or clothing of the user 5. In yet another aspect, the controller 300 may be configured to output at least one of vibration, sound, and light based on a signal transmitted from the computer 200. In yet another aspect, the controller 300 accepts an operation from the user 5 to control the position and movement of an object placed in a virtual space.

[0024] In one aspect, the controller 300 includes a plurality of light sources. Each light source is realized, for example, by an LED that emits infrared rays. The HMD sensor 410 has a position tracking function. In this case, the HMD sensor 410 reads a plurality of infrared rays emitted by the controller 300 and detects the position and tilt of the controller 300 in the real space. In another aspect, the HMD sensor 410 may be realized by a camera. In this case, the HMD sensor 410 can detect the position and tilt of the controller 300 by performing an image analysis process using image information of the controller 300 output from the camera.

[0025] In a certain aspect, the motion sensor 420 is attached to the hand of the user 5 to detect the movement of the hand of the user 5. Attaching to the hand of the user 5 means, for example, that the motion sensor 420 is provided in a controller 300 configured to be held by the user 5. An example of the hold-type controller 300 will be described later with reference to FIG. 8. The motion sensor 420 may also be provided in a glove-type device (in other words, a glove-type controller 300) configured to be worn by the user 5. The glove-type controller 300 is not easily blown away compared to the hold-type controller 300, so safety in the real space can be ensured. The motion sensor 420 detects, for example, the rotation speed, number of rotations, and finger movement of the hand. The detected signal is sent to the computer 200. The glove-type controller 300 may be configured to be able to detect the movement of a larger number of fingers (for example, all fingers) compared to the hold-type controller 300. In another aspect, a sensor that is not worn by the user 5 may detect the hand movement of the user 5. For example, a signal from a camera that captures an image of the user 5 may be input to the computer 200 as a signal representing the movement of the user 5. As an example, the motion sensor 420 and the computer 200 are connected to each other wirelessly. In the case of wireless communication, the communication format is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication methods may be used.

[0026] The display 430 displays an image similar to the image displayed on the monitor 130. This allows users other than the user 5 wearing the HMD 120 to view the same image as the user 5. The image displayed on the display 430 does not need to be a three-dimensional image, and may be an image for the right eye or an image for the left eye. Examples of the display 430 include a liquid crystal display and an organic EL monitor.

[0027] The server 600 may transmit a program to the computer 200. In another aspect, the server 600 may communicate with other computers 200 for providing a virtual reality to the HMD 120 used by other users. For example, in an amusement facility, when multiple users play a participatory game, each computer 200 communicates a signal based on the operation of each user with the other computers 200 via the server 600, enabling multiple users to enjoy a common game in the same virtual space. Each computer 200 may communicate a signal based on the operation of each user with the other computers 200 without going through the server 600.

[0028] The external device 700 may be any device capable of communicating with the computer 200. The external device 700 may be, for example, a device capable of communicating with the computer 200 via the network 2, or a device capable of directly communicating with the computer 200 via short-distance wireless communication or a wired connection. The external device 700 may also be, for example, a device capable of communicating with the server 600 via the network 2. Examples of the external device 700 include, but are not limited to, a smart device, a PC (Personal Computer), and a peripheral device of the computer 200.

[0029] [Computer hardware configuration] A computer 200 according to this embodiment will be described with reference to Fig. 2. Fig. 2 is a block diagram showing an example of a hardware configuration of computer 200 according to this embodiment. Computer 200 includes, as main components, a processor 210, a memory 220, a storage 230, an input / output interface 240, and a communication interface 250. Each component is connected to a bus 260.

[0030] Processor 210 executes a series of instructions included in a program stored in memory 220 or storage 230, based on a signal provided to computer 200 or based on the establishment of a predetermined condition. In one aspect, processor 210 is realized as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (MPU), a field-programmable gate array (FPGA), or other device.

[0031] The memory 220 temporarily stores programs and data. The programs are loaded from, for example, the storage 230. The data includes data input to the computer 200 and data generated by the processor 210. In one aspect, the memory 220 is realized as a random access memory (RAM) or other volatile memory.

[0032] The storage 230 permanently holds programs and data. The storage 230 is realized, for example, as a ROM (Read-Only Memory), a hard disk drive, a flash memory, or other non-volatile storage device. The programs stored in the storage 230 include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with other computers 200. The data stored in the storage 230 includes data and objects for defining the virtual space.

[0033] In another aspect, the storage 230 may be realized as a removable storage device such as a memory card. In yet another aspect, a configuration may be used in which programs and data stored in an external storage device are used instead of the storage 230 built into the computer 200. With such a configuration, for example, in a scene where a plurality of HMD systems 100 are used, such as an amusement facility, it becomes possible to collectively update the programs and data.

[0034] The input / output interface 240 communicates signals between the HMD 120, the HMD sensor 410, the motion sensor 420, and the display 430. The monitor 130, the gaze sensor 140, the first camera 150, the second camera 160, the microphone 170, and the speaker 180 included in the HMD 120 can communicate with the computer 200 via the input / output interface 240 of the HMD 120. In one aspect, the input / output interface 240 is realized using a terminal such as a Universal Serial Bus (USB), a Digital Visual Interface (DVI), a High-Definition Multimedia Interface (HDMI (registered trademark)), or the like. The input / output interface 240 is not limited to those described above.

[0035] In one aspect, the input / output interface 240 may further communicate with the controller 300. For example, the input / output interface 240 receives input of signals output from the controller 300 and the motion sensor 420. In another aspect, the input / output interface 240 sends an instruction output from the processor 210 to the controller 300. The instruction instructs the controller 300 to vibrate, output sound, emit light, or the like. Upon receiving the instruction, the controller 300 executes one of the vibration, sound output, or light emission in response to the instruction.

[0036] The communication interface 250 is connected to the network 2 and communicates with other computers (e.g., the server 600) connected to the network 2. In one aspect, the communication interface 250 is realized as, for example, a wired communication interface such as a local area network (LAN), or a wireless communication interface such as Wi-Fi (registered trademark), Bluetooth (registered trademark), or near field communication (NFC). The communication interface 250 is not limited to those mentioned above.

[0037] In one aspect, the processor 210 accesses the storage 230, loads one or more programs stored in the storage 230 into the memory 220, and executes a series of instructions included in the programs. The one or more programs may include an operating system of the computer 200, an application program for providing a virtual space, game software executable in the virtual space, and the like. The processor 210 sends a signal for providing the virtual space to the HMD 120 via the input / output interface 240. The HMD 120 displays an image on the monitor 130 based on the signal.

[0038] 2 shows a configuration in which the computer 200 is provided outside the HMD 120, but in another aspect, the computer 200 may be built into the HMD 120. As an example, a portable information and communication terminal (e.g., a smartphone) including the monitor 130 may function as the computer 200.

[0039] The computer 200 may be configured to be shared by multiple HMDs 120. With such a configuration, for example, the same virtual space can be provided to multiple users, allowing each user to enjoy the same application as other users in the same virtual space.

[0040] In one embodiment, in the HMD system 100, a real coordinate system, which is a coordinate system in real space, is set in advance. The real coordinate system has three reference directions (axes) that are parallel to the vertical direction in real space, the horizontal direction perpendicular to the vertical direction, and the front-rear direction perpendicular to both the vertical direction and the horizontal direction. The horizontal direction, the vertical direction (up-down direction), and the front-rear direction in the real coordinate system are defined as the x-axis, y-axis, and z-axis, respectively. More specifically, in the real coordinate system, the x-axis is parallel to the horizontal direction in real space. The y-axis is parallel to the vertical direction in real space. The z-axis is parallel to the front-rear direction in real space.

[0041] In one aspect, the HMD sensor 410 includes an infrared sensor. When the infrared sensor detects infrared rays emitted from each light source of the HMD 120, it detects the presence of the HMD 120. The HMD sensor 410 further detects the position and tilt (orientation) of the HMD 120 in the real space according to the movement of the user 5 wearing the HMD 120 based on the value of each point (each coordinate value in the real coordinate system). More specifically, the HMD sensor 410 can detect the temporal change in the position and tilt of the HMD 120 using each value detected over time.

[0042] Each tilt of the HMD 120 detected by the HMD sensor 410 corresponds to each tilt around the three axes of the HMD 120 in the real coordinate system. The HMD sensor 410 sets a uvw field of view coordinate system for the HMD 120 based on the tilt of the HMD 120 in the real coordinate system. The uvw field of view coordinate system set for the HMD 120 corresponds to a viewpoint coordinate system when the user 5 wearing the HMD 120 views an object in a virtual space.

[0043] [uvw field of view coordinate system] The uvw field of view coordinate system will be described with reference to Fig. 3. Fig. 3 is a conceptual diagram showing the uvw field of view coordinate system set in the HMD 120 according to an embodiment. The HMD sensor 410 detects the position and inclination of the HMD 120 in the real coordinate system when the HMD 120 is started up. The processor 210 sets the uvw field of view coordinate system in the HMD 120 based on the detected values.

[0044] 3, the HMD 120 sets a three-dimensional uvw visual coordinate system with the head of the user 5 wearing the HMD 120 as its center (origin). More specifically, the HMD 120 tilts the horizontal, vertical, and front-back directions (x-axis, y-axis, z-axis) that define the real coordinate system around each axis by the tilt of the HMD 120 around each axis in the real coordinate system, and sets the three newly obtained directions as the pitch axis (u-axis), yaw axis (v-axis), and roll axis (w-axis) of the uvw visual coordinate system in the HMD 120.

[0045] In a certain situation, when the user 5 wearing the HMD 120 stands upright and looks straight ahead, the processor 210 sets a uvw field of view coordinate system parallel to the real coordinate system in the HMD 120. In this case, the horizontal direction (x-axis), vertical direction (y-axis), and front-back direction (z-axis) in the real coordinate system coincide with the pitch axis (u-axis), yaw axis (v-axis), and roll axis (w-axis) of the uvw field of view coordinate system in the HMD 120.

[0046] After the uvw visual coordinate system is set in the HMD 120, the HMD sensor 410 can detect the tilt of the HMD 120 in the set uvw visual coordinate system based on the movement of the HMD 120. In this case, the HMD sensor 410 detects the pitch angle (θu), yaw angle (θv), and roll angle (θw) of the HMD 120 in the uvw visual coordinate system as the tilt of the HMD 120. The pitch angle (θu) represents the tilt angle of the HMD 120 around the pitch axis in the uvw visual coordinate system. The yaw angle (θv) represents the tilt angle of the HMD 120 around the yaw axis in the uvw visual coordinate system. The roll angle (θw) represents the tilt angle of the HMD 120 around the roll axis in the uvw visual coordinate system.

[0047] The HMD sensor 410 sets, in the HMD 120, a uvw visual field coordinate system in the HMD 120 after the HMD 120 moves, based on the detected tilt of the HMD 120. The relationship between the HMD 120 and the uvw visual field coordinate system of the HMD 120 is always constant, regardless of the position and tilt of the HMD 120. When the position and tilt of the HMD 120 change, the position and tilt of the uvw visual field coordinate system of the HMD 120 in the real coordinate system change in conjunction with the change in the position and tilt.

[0048] In one aspect, the HMD sensor 410 may specify the position of the HMD 120 in the real space as a relative position with respect to the HMD sensor 410 based on the light intensity of the infrared light acquired based on the output from the infrared sensor and the relative positional relationship between a plurality of points (e.g., the distance between each point, etc.). The processor 210 may determine the origin of the uvw field of view coordinate system of the HMD 120 in the real space (actual coordinate system) based on the specified relative position.

[0049] [Virtual space] The virtual space will be further described with reference to FIG. 4. FIG. 4 is a diagram conceptually showing one mode of expressing the virtual space 11 according to an embodiment. The virtual space 11 has a spherical structure covering the entire 360-degree direction of the center 12. In FIG. 4, in order to avoid complicating the description, the upper half of the celestial sphere in the virtual space 11 is illustrated. Each mesh is defined in the virtual space 11. The position of each mesh is defined in advance as a coordinate value in the XYZ coordinate system, which is a global coordinate system defined in the virtual space 11. The computer 200 associates each partial image constituting the panoramic image 13 (still image, video, etc.) that can be deployed in the virtual space 11 with each corresponding mesh in the virtual space 11.

[0050] In a certain aspect, an XYZ coordinate system is defined in the virtual space 11 with the center 12 as the origin. The XYZ coordinate system is, for example, parallel to the real coordinate system. The horizontal direction, vertical direction (up-down direction), and front-back direction in the XYZ coordinate system are defined as the X-axis, Y-axis, and Z-axis, respectively. Therefore, the X-axis (horizontal direction) of the XYZ coordinate system is parallel to the x-axis of the real coordinate system, the Y-axis (vertical direction) of the XYZ coordinate system is parallel to the y-axis of the real coordinate system, and the Z-axis (front-back direction) of the XYZ coordinate system is parallel to the z-axis of the real coordinate system.

[0051] When the HMD 120 is started up, that is, in the initial state of the HMD 120, the virtual camera 14 is placed at the center 12 of the virtual space 11. In a certain aspect, the processor 210 displays an image captured by the virtual camera 14 on the monitor 130 of the HMD 120. The virtual camera 14 moves in the virtual space 11 in conjunction with the movement of the HMD 120 in the real space. This allows changes in the position and inclination of the HMD 120 in the real space to be reproduced in the virtual space 11 in the same manner.

[0052] A uvw field of view coordinate system is defined for the virtual camera 14, similarly to the case of the HMD 120. The uvw field of view coordinate system of the virtual camera 14 in the virtual space 11 is defined so as to be linked to the uvw field of view coordinate system of the HMD 120 in the real space (actual coordinate system). Therefore, when the inclination of the HMD 120 changes, the inclination of the virtual camera 14 also changes accordingly. The virtual camera 14 can also move in the virtual space 11 in conjunction with the movement in the real space of the user 5 wearing the HMD 120.

[0053] Processor 210 of computer 200 defines viewing area 15 in virtual space 11 based on the position and inclination (reference line of sight 16) of virtual camera 14. Viewing area 15 corresponds to the area of ​​virtual space 11 that is visually recognized by user 5 wearing HMD 120. In other words, the position of virtual camera 14 can be said to be the viewpoint of user 5 in virtual space 11.

[0054] The line of sight of the user 5 detected by the gaze sensor 140 is a direction in the viewpoint coordinate system when the user 5 views an object. The uvw field of view coordinate system of the HMD 120 is equal to the viewpoint coordinate system when the user 5 views the monitor 130. The uvw field of view coordinate system of the virtual camera 14 is linked to the uvw field of view coordinate system of the HMD 120. Therefore, in a certain aspect, the HMD system 100 can consider the line of sight of the user 5 detected by the gaze sensor 140 as the line of sight of the user 5 in the uvw field of view coordinate system of the virtual camera 14.

[0055] [User's gaze] Determination of the line of sight of the user 5 will be described with reference to Fig. 5. Fig. 5 is a top view of the head of the user 5 wearing the HMD 120 according to an embodiment.

[0056] In one aspect, the gaze sensor 140 detects the gaze of each of the right eye and the left eye of the user 5. In one aspect, when the user 5 is looking at something close, the gaze sensor 140 detects the gazes R1 and L1. In another aspect, when the user 5 is looking at something far away, the gaze sensor 140 detects the gazes R2 and L2. In this case, the angle that the gazes R2 and L2 make with respect to the roll axis w is smaller than the angle that the gazes R1 and L1 make with respect to the roll axis w. The gaze sensor 140 transmits the detection result to the computer 200.

[0057] When the computer 200 receives the detection values ​​of the lines of sight R1 and L1 from the gaze sensor 140 as the gaze detection result, the computer 200 identifies the gaze point N1, which is the intersection of the lines of sight R1 and L1, based on the detection values. On the other hand, when the computer 200 receives the detection 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 gaze N0 of the user 5 based on the position of the identified gaze point N1. For example, the computer 200 detects the direction of the line passing through the midpoint of the line connecting the right eye R and the left eye L of the user 5 and the gaze point N1 as the gaze N0. The gaze N0 is the direction in which the user 5 actually looks with both eyes. The gaze N0 corresponds to the direction in which the user 5 actually looks with respect to the field of view 15.

[0058] In another aspect, the HMD system 100 may include a television broadcast receiving tuner. With such a configuration, the HMD system 100 can display television programs in the virtual space 11.

[0059] In yet 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.

[0060] [Visibility area] The field of view 15 will be described with reference to Fig. 6 and Fig. 7. Fig. 6 is a diagram showing a YZ cross section of the field of view 15 in the virtual space 11 as viewed from the X direction. Fig. 7 is a diagram showing an XZ cross section of the field of view 15 in the virtual space 11 as viewed from the Y direction.

[0061] 6, the field of view 15 in the YZ cross section includes an area 18. The area 18 is defined by the position of the virtual camera 14, the reference line of sight 16, and the YZ cross section of the virtual space 11. The processor 210 defines as the area 18 a range including the polar angle α centered on the reference line of sight 16 in the virtual space.

[0062] 7, the field of view 15 in the XZ cross section includes an area 19. The area 19 is defined by the position of the virtual camera 14, the reference line of sight 16, and the XZ cross section of the virtual space 11. The processor 210 defines a range including an azimuth angle β centered on the reference line of sight 16 in the virtual space 11 as the area 19. The polar angles α and β are determined according to the position of the virtual camera 14 and the inclination (direction) of the virtual camera 14.

[0063] In a certain aspect, the HMD system 100 provides the user 5 with a field of view in the virtual space 11 by displaying a field of view image 17 on the monitor 130 based on a signal from the computer 200. The field of view image 17 is an image corresponding to a portion of the panoramic image 13 that corresponds to the field of view area 15. When the user 5 moves the HMD 120 worn on the head, the virtual camera 14 also moves in conjunction with the movement. As a result, the position of the field of view area 15 in the virtual space 11 changes. As a result, the field of view image 17 displayed on the monitor 130 is updated to an image of the panoramic image 13 that is superimposed on the field of view area 15 in the direction in which the user 5 is facing in the virtual space 11. The user 5 can view a desired direction in the virtual space 11.

[0064] In this way, the inclination of virtual camera 14 corresponds to the line of sight (reference line of sight 16) of user 5 in virtual space 11, and the position at which virtual camera 14 is placed corresponds to the viewpoint of user 5 in virtual space 11. Therefore, by changing the position or inclination of virtual camera 14, the image displayed on monitor 130 is updated and the field of view of user 5 is moved.

[0065] While wearing the HMD 120, the user 5 can view only the panoramic image 13 deployed in the virtual space 11, without viewing the real world. Therefore, the HMD system 100 can give the user 5 a high sense of immersion in the virtual space 11.

[0066] In one aspect, the processor 210 may move the virtual camera 14 in the virtual space 11 in conjunction with the movement in real space of the user 5 wearing the HMD 120. In this case, the processor 210 specifies the image area (field of view area 15) to be projected onto the monitor 130 of the HMD 120 based on the position and inclination of the virtual camera 14 in the virtual space 11.

[0067] In one aspect, the virtual camera 14 may include two virtual cameras, that is, a virtual camera for providing an image for the right eye and a virtual camera for providing an image for the left eye. An appropriate parallax is set for the two virtual cameras so that the user 5 can recognize the three-dimensional virtual space 11. In another aspect, the virtual camera 14 may be realized by one virtual camera. In this case, an image for the right eye and an image for the left eye may be generated from an image obtained by one virtual camera. In this embodiment, the technical idea according to the present disclosure is illustrated by assuming that the virtual camera 14 includes two virtual cameras and is configured so that a roll axis (w) generated by combining the roll axes of the two virtual cameras is adapted to the roll axis (w) of the HMD 120.

[0068] [controller] An example of the controller 300 will be described with reference to Fig. 8. Fig. 8 is a diagram showing a schematic configuration of the controller 300 according to an embodiment.

[0069] As shown in FIG. 8, in one aspect, the controller 300 may include a right controller 300R and a left controller (not shown). The right controller 300R is operated by the right hand of the user 5. The left controller is operated by the left hand of the user 5. In one aspect, the right controller 300R and the left controller are configured symmetrically as separate devices. Therefore, the user 5 can freely move the right hand holding the right controller 300R and the left hand holding the left controller. In another aspect, the controller 300 may be an integrated controller that accepts operations from both hands. The right controller 300R will be described below.

[0070] The right controller 300R includes a grip 310, a frame 320, and a top surface 330. The grip 310 is configured to be held by the right hand of the user 5. For example, the grip 310 can be held by the palm and three fingers (middle finger, ring finger, and little finger) of the right hand of the user 5.

[0071] The grip 310 includes buttons 340 and 350 and a motion sensor 420. The button 340 is disposed on a side of the grip 310 and is operated by the middle finger of the right hand. The button 350 is disposed on the front of the grip 310 and is operated by the index finger of the right hand. In one aspect, the buttons 340 and 350 are configured as trigger-type buttons. The motion sensor 420 is built into the housing of the grip 310. In a case where the movement of the user 5 can be detected from around the user 5 by a camera or other device, the grip 310 does not need to include the motion sensor 420.

[0072] The frame 320 includes a plurality of infrared LEDs 360 arranged along its circumferential direction. The infrared LEDs 360 emit infrared light in accordance with the progress of a program using the controller 300 during execution of the program. The infrared light emitted from the infrared LEDs 360 can be used to detect the positions and attitudes (tilt, direction) of the right controller 300R and the left controller. In the example shown in FIG. 8, the infrared LEDs 360 are arranged in two rows, but the number of rows is not limited to that shown in FIG. 8. An arrangement in one row or three or more rows may be used.

[0073] The top surface 330 includes buttons 370, 380 and an analog stick 390. The buttons 370, 380 are configured as push buttons. The buttons 370, 380 are operated by the thumb of the right hand of the user 5. The analog stick 390, in a certain situation, is operated in any direction within 360 degrees from an initial position (neutral position). The operation includes, for example, an operation for moving an object placed in the virtual space 11.

[0074] In one aspect, the right controller 300R and the left controller include a battery for driving the infrared LED 360 and other components. The battery may be, but is not limited to, a rechargeable battery, a button battery, or a dry cell battery. In another aspect, the right controller 300R and the left controller may be connected to, for example, a USB interface of the computer 200. In this case, the right controller 300R and the left controller do not require a battery.

[0075] 8, for example, the yaw, roll, and pitch directions are defined for the right hand of the user 5. When the user 5 extends his / her thumb and index finger, the extending direction of the thumb is defined as the yaw direction, the extending direction of the index finger is defined as the roll direction, and the direction perpendicular to the plane defined by the axis of the yaw direction and the axis of the roll direction is defined as the pitch direction.

[0076] [Server hardware configuration] Server 600 according to this embodiment will be described with reference to Fig. 9. Fig. 9 is a block diagram showing an example of a hardware configuration of server 600 according to an embodiment. Server 600 includes, as main components, a processor 610, a memory 620, a storage 630, an input / output interface 640, and a communication interface 650. Each component is connected to a bus 660.

[0077] The processor 610 executes a series of instructions included in a program stored in the memory 620 or the storage 630 based on a signal provided to the server 600 or based on the establishment of a predetermined condition. In one aspect, the processor 610 is realized as a CPU, a GPU, an MPU, an FPGA, or other device.

[0078] The memory 620 temporarily stores programs and data. The programs are loaded from, for example, the storage 630. The data includes data input to the server 600 and data generated by the processor 610. In one aspect, the memory 620 is realized as a RAM or other volatile memory.

[0079] The storage 630 permanently holds programs and data. The storage 630 is realized, for example, as a ROM, a hard disk drive, a flash memory, or other non-volatile storage device. The programs stored in the storage 630 may include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with the computer 200. The data stored in the storage 630 may include data and objects for defining the virtual space.

[0080] In another aspect, the storage 630 may be realized as a removable storage device such as a memory card. In yet another aspect, a configuration may be used in which programs and data stored in an external storage device are used instead of the storage 630 built into the server 600. With such a configuration, for example, in a scene where a plurality of HMD systems 100 are used, such as an amusement facility, it becomes possible to collectively update programs and data.

[0081] The input / output interface 640 communicates signals with input / output devices. In one aspect, the input / output interface 640 is realized using a terminal such as a USB, a DVI, an HDMI (registered trademark), etc. The input / output interface 640 is not limited to the above.

[0082] The communication interface 650 is connected to the network 2 and communicates with the computer 200 connected to the network 2. In one aspect, the communication interface 650 is realized as, for example, a LAN or other wired communication interface, or a wireless communication interface such as Wi-Fi, Bluetooth, NFC, etc. The communication interface 650 is not limited to the above.

[0083] In one aspect, the processor 610 accesses the storage 630, loads one or more programs stored in the storage 630 into the memory 620, and executes a series of instructions included in the programs. The one or more programs may include an operating system of the server 600, an application program for providing a virtual space, game software executable in the virtual space, etc. The processor 610 may send a signal for providing the virtual space to the computer 200 via the input / output interface 640.

[0084] [HMD control device] The control device of the HMD 120 will be described with reference to Fig. 10. In one embodiment, the control device is realized by a computer 200 having a known configuration. Fig. 10 is a block diagram showing the computer 200 according to one embodiment as a modular configuration.

[0085] 10, the computer 200 includes a control module 510, a rendering module 520, a memory module 530, and a communication control module 540. In one aspect, the control module 510 and the rendering module 520 are implemented by the processor 210. In another aspect, a plurality of processors 210 may operate as the control module 510 and the rendering module 520. The memory module 530 is implemented by the memory 220 or the storage 230. The communication control module 540 is implemented by the communication interface 250.

[0086] The control module 510 controls the virtual space 11 provided to the user 5. The control module 510 defines the virtual space 11 in the HMD system 100 by using virtual space data representing the virtual space 11. The virtual space data is stored in, for example, the memory module 530. The control module 510 may generate the virtual space data or obtain the virtual space data from the server 600 or the like.

[0087] The control module 510 places the object in the virtual space 11 using object data representing the object. The object data is stored in, for example, the memory module 530. The control module 510 may generate the object data or obtain the object data from the server 600 or the like. The object may include, for example, an avatar object (in other words, a character object of the user 5) which is an avatar of the user 5, a character object, an operation object such as a virtual hand operated by the controller 300, landscapes including forests, mountains, and the like, cityscapes, animals, and the like which are placed according to the progress of the story of the game.

[0088] Control module 510 places an avatar object of user 5 of another computer 200 connected via network 2 in virtual space 11. In one aspect, control module 510 places an avatar object of user 5 in virtual space 11. In one aspect, control module 510 places an avatar object imitating user 5 in virtual space 11 based on an image including user 5. In another aspect, control module 510 places an avatar object selected by user 5 from among a plurality of types of avatar objects (e.g., objects imitating animals and deformed human objects) in virtual space 11.

[0089] The control module 510 determines the inclination of the HMD 120 based on the output of the HMD sensor 410. In another aspect, the control module 510 determines the inclination of the HMD 120 based on the output of the sensor 190 functioning as a motion sensor. The control module 510 detects organs (e.g., mouth, eyes, eyebrows) constituting the face of the user 5 from the image of the face of the user 5 generated by the first camera 150 and the second camera 160. The control module 510 detects the movement (shape) of each detected organ.

[0090] The control module 510 detects the line of sight of the user 5 in the virtual space 11 based on a signal from the gaze sensor 140. The control module 510 detects a viewpoint position (coordinate value in the XYZ coordinate system) where the detected line of sight of the user 5 intersects with the celestial sphere of the virtual space 11. More specifically, the control module 510 detects the viewpoint position based on the line of sight of the user 5 defined in the uvw coordinate system and the position and inclination of the virtual camera 14. The control module 510 transmits the detected viewpoint position to the server 600. In another aspect, the control module 510 may be configured to transmit line of sight information representing the line of sight of the user 5 to the server 600. In such a case, the server 600 may calculate the viewpoint position based on the line of sight information received.

[0091] The control module 510 reflects the movement of the HMD 120 detected by the HMD sensor 410 in the avatar object. For example, the control module 510 detects that the HMD 120 is tilted and tilts and arranges the avatar object. The control module 510 reflects the detected movement of the facial organs in the face of the avatar object arranged in the virtual space 11. The control module 510 receives gaze information of the other user 5 from the server 600 and reflects it in the gaze of the avatar object of the other user 5. In a certain aspect, the control module 510 reflects the movement of the controller 300 in the avatar object or the operation object. In this case, the controller 300 may include a motion sensor, an acceleration sensor, or a plurality of light-emitting elements (e.g., infrared LEDs) for detecting the movement of the controller 300. The movement of the controller 300 may be the movement of the analog stick 390, the movement of the buttons 370 and 380, or the like. The control module 510 may then move the avatar object within the virtual space 11 based on, for example, the movement of the analog stick 390 (in other words, the user's operation on the analog stick 390).

[0092] The control module 510 places an operation object in the virtual space 11 for receiving an operation of the user 5 in the virtual space 11. The user 5 operates the operation object to, for example, operate an object placed in the virtual space 11. In one aspect, the operation object may include, for example, a hand object that is a virtual hand corresponding to the hand of the user 5. In one aspect, the control module 510 moves the hand object in the virtual space 11 in conjunction with the movement of the hand of the user 5 in the real space based on the output of the motion sensor 420. In one aspect, the operation object may correspond to a part of the hand of an avatar object.

[0093] The control module 510 detects a collision when each of the objects arranged in the virtual space 11 collides with another object. The control module 510 can detect, for example, the timing when a collision area of ​​a certain object touches a collision area of ​​another object, and performs a predetermined process when the detection is made. The control module 510 can detect the timing when an object is no longer in contact with another object, and performs a predetermined process when the detection is made. The control module 510 can detect a state in which an object is in contact with another object. For example, when an operation object touches another object, the control module 510 detects that the operation object has touched the other object, and performs a predetermined process.

[0094] In one aspect, the control module 510 controls image display on the monitor 130 of the HMD 120. For example, the control module 510 places a virtual camera 14 in the virtual space 11. The control module 510 controls the position of the virtual camera 14 in the virtual space 11 and the tilt (direction) of the virtual camera 14. The control module 510 defines a field of view 15 according to the tilt of the head of the user 5 wearing the HMD 120 and the position of the virtual camera 14. The rendering module 520 generates a field of view image 17 to be displayed on the monitor 130 based on the determined field of view 15. The field of view image 17 generated by the rendering module 520 is output to the HMD 120 by the communication control module 540.

[0095] When the control module 510 detects an utterance by the user 5 using the microphone 170 from the HMD 120, it identifies the computer 200 to which voice data corresponding to the utterance is to be transmitted. The voice data is transmitted to the computer 200 identified by the control module 510. When the control module 510 receives voice data from another user's computer 200 via the network 2, it outputs a voice (utterance) corresponding to the voice data from the speaker 180.

[0096] The memory module 530 holds data used by the computer 200 to provide the virtual space 11 to the user 5. In one aspect, the memory module 530 holds space information, object information, and user information.

[0097] The spatial information holds one or more templates defined to provide the virtual space 11 .

[0098] The object information includes a plurality of panoramic images 13 constituting the virtual space 11, and object data for arranging objects in the virtual space 11. The panoramic images 13 may include still images and moving images. The panoramic images 13 may include images of unreal spaces and images of real spaces. Examples of images of unreal spaces include images generated by computer graphics.

[0099] The user information holds a user ID for identifying the user 5. The user ID may be, for example, an Internet Protocol (IP) address or a Media Access Control (MAC) address set in the computer 200 used by the user. In another aspect, the user ID may be set by the user. The user information includes a program for causing the computer 200 to function as a control device for the HMD system 100. The user information also includes information managed for each service account (in other words, for each user ID).

[0100] The data and programs stored in the memory module 530 are input by the user 5 of the HMD 120. Alternatively, the processor 210 downloads the programs or data from a computer (e.g., the server 600) operated by the operator providing the content, and stores the downloaded programs or data in the memory module 530.

[0101] The communication control module 540 can communicate with the server 600 and other information communication devices via the network 2.

[0102] In one aspect, the control module 510 and the rendering module 520 may be realized using, for example, Unity (registered trademark) provided by Unity Technologies, Inc. In another aspect, the control module 510 and the rendering module 520 may be realized as a combination of circuit elements that realize each process.

[0103] The processing in the computer 200 is realized by hardware and software executed by the processor 210. Such software may be stored in advance in a hard disk or other memory module 530. The software may be stored in a CD-ROM or other computer-readable non-volatile data recording medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other networks. Such software is read from a data recording medium by an optical disk drive or other data reading device, or downloaded from the server 600 or other computer via the communication control module 540, and then temporarily stored in the memory module 530. The software is read from the memory module 530 by the processor 210 and stored in the RAM in the form of an executable program. The processor 210 executes the program.

[0104] [HMD system control structure] The control structure of the HMD set 110 will be described with reference to Fig. 11. Fig. 11 is a sequence chart showing a part of the processing executed in the HMD set 110 according to an embodiment.

[0105] As shown in FIG. 11, in step S1110, the processor 210 of the computer 200, acting as the control module 510, specifies virtual space data and defines the virtual space 11.

[0106] In step S1120, the processor 210 initializes the virtual camera 14. For example, the processor 210 places the virtual camera 14 at a center 12 defined in advance in the virtual space 11 in a work area of ​​the memory, and directs the line of sight of the virtual camera 14 in the direction in which the user 5 is facing.

[0107] In step S1130, the processor 210, functioning as the rendering module 520, generates field of view image data for displaying an initial field of view image. The generated field of view image data is output to the HMD 120 by the communication control module 540.

[0108] In step S1132, the monitor 130 of the HMD 120 displays a field of view image based on the field of view image data received from the computer 200. The user 5 wearing the HMD 120 can recognize the virtual space 11 by visually recognizing the field of view image.

[0109] In step S1134, the HMD sensor 410 detects the position and inclination of the HMD 120 based on the multiple infrared lights emitted from the HMD 120. The detection result is output to the computer 200 as motion detection data.

[0110] In step S1140, the processor 210 identifies the viewing direction of the user 5 wearing the HMD 120 based on the position and tilt included in the motion detection data of the HMD 120.

[0111] In step S1150, the processor 210 executes an application program, and creates an object in the virtual space 11 based on an instruction included in the application program. Place the following.

[0112] In step S1160, controller 300 detects an operation by user 5, and outputs detection data representing the detected operation to computer 200. In another aspect, the operation by user 5 may be detected based on an image from a camera arranged around user 5.

[0113] In step S1170, processor 210 detects an operation of controller 300 by user 5 based on the detection data acquired from controller 300.

[0114] In step S1180, the processor 210 generates field of view image data based on the operation of the controller 300 by the user 5. The generated field of view image data is output to the HMD 120 by the communication control module 540.

[0115] In step S1190, the HMD 120 updates the field of view image based on the received field of view image data, and displays the updated field of view image on the monitor 130.

[0116] [Avatar Object] Avatar objects according to the present embodiment will be described with reference to Figs. 12(A) and (B). Hereinafter, avatar objects of each user 5 of HMD sets 110A and 110B will be described. Hereinafter, the user of HMD set 110A will be represented as user 5A, the user of HMD set 110B as user 5B, the user of HMD set 110C as user 5C, and the user of HMD set 110D as user 5D. A is added to the reference symbol of each component related to HMD set 110A, B is added to the reference symbol of each component related to HMD set 110B, C is added to the reference symbol of each component related to HMD set 110C, and D is added to the reference symbol of each component related to HMD set 110D. For example, HMD 120A is included in HMD set 110A.

[0117] FIG. 12(A) is a schematic diagram showing a situation in which each HMD 120 provides a virtual space 11 to a user 5 in a network 2. Computers 200A to 200D provide virtual spaces 11A to 11D to users 5A to 5D via HMDs 120A to 120D, respectively. In the example shown in FIG. 12(A), virtual space 11A and virtual space 11B are configured by the same data. In other words, computer 200A and computer 200B share the same virtual space. In virtual space 11A and virtual space 11B, an avatar object 6A of user 5A and an avatar object 6B of user 5B exist. Although avatar object 6A in virtual space 11A and avatar object 6B in virtual space 11B each wear an HMD 120, this is for the sake of easy understanding of the explanation, and in reality, these objects do not wear an HMD 120.

[0118] In one aspect, the processor 210A may place a virtual camera 14A that captures a field of view image 17A of the user 5A at the eye position of the avatar object 6A.

[0119] Fig. 12(B) is a diagram showing a field of view image 17A of user 5A in Fig. 12(A). Field of view image 17A is an image displayed on monitor 130A of HMD 120A. This field of view image 17A is an image generated by virtual camera 14A. An avatar object 6B of user 5B is displayed in field of view image 17A. Although not particularly shown, avatar object 6A of user 5A is also displayed in the field of view image of user 5B.

[0120] 12(B), the user 5A can communicate with the user 5B by dialogue via the virtual space 11A. More specifically, the voice of the user 5A acquired by the microphone 170A is transmitted to the HMD 120B of the user 5B via the server 600 and output from the speaker 180B provided in the HMD 120B. The voice of the user 5B is transmitted to the HMD 120A of the user 5A via the server 600 and output from the speaker 180A provided in the HMD 120A.

[0121] The movements of the user 5B (the movements of the HMD 120B and the controller 300B) are reflected in the avatar object 6B placed in the virtual space 11A by the processor 210A. As a result, the avatar object 6B that moves as operated by the user 5B is visually recognized by the user 5A.

[0122] Fig. 13 is a sequence chart showing a part of the processing executed in the HMD system 100 according to the present embodiment. Although the HMD set 110D is not shown in Fig. 13, the HMD set 110D operates in the same manner as the HMD sets 110A, 110B, and 110C. In the following description, A is added to the reference symbol of each component related to the HMD set 110A, B is added to the reference symbol of each component related to the HMD set 110B, C is added to the reference symbol of each component related to the HMD set 110C, and D is added to the reference symbol of each component related to the HMD set 110D.

[0123] In step S1310A, the processor 210A in the HMD set 110A acquires avatar information for determining the movement of the avatar object 6A in the virtual space 11A. The avatar information includes information about the avatar, such as, for example, movement information, face tracking data, and voice data. The movement information includes information indicating a temporal change in the position and inclination of the HMD 120A, information indicating the hand movement of the user 5A detected by the motion sensor 420A, and information indicating the user's operation detected by the controller 300. The face tracking data includes data specifying the position and size of each part of the face of the user 5A. The face tracking data includes data indicating the movement of each organ constituting the face of the user 5A and gaze data. The voice data includes data indicating the voice of the user 5A acquired by the microphone 170A of the HMD 120A. The avatar information may include information specifying the avatar object 6A, or the user 5A associated with the avatar object 6A, and information specifying the virtual space 11A in which the avatar object 6A exists. An example of the information for identifying the avatar object 6A or the user 5A is a user ID. An example of the information for identifying the virtual space 11A in which the avatar object 6A exists is a room ID. The processor 210A transmits the avatar information acquired as described above to the server 600 via the network 2.

[0124] In step S1310B, similar to the process in step S1310A, processor 210B in HMD set 110B obtains avatar information for determining the movement of avatar object 6B in virtual space 11B and transmits it to server 600. Similarly, in step S1310C, processor 210C in HMD set 110C obtains avatar information for determining the movement of avatar object 6C in virtual space 11C and transmits it to server 600.

[0125] In step S1320, the server 600 temporarily stores the avatar information received from each of the HMD sets 110A, 110B, and 110C. The server 600 integrates the avatar information of all users (users 5A to 5C in this example) associated with the common virtual space 11 based on the user ID and room ID included in each piece of avatar information. Then, the server 600 transmits the integrated avatar information to all users associated with the virtual space 11 at a predetermined timing. This executes a synchronization process. This synchronization process allows the HMD sets 110A, 110B, and 110C to share their avatar information at approximately the same timing.

[0126] Subsequently, each of the HMD sets 110A to 110C executes the processes of steps S1330A to S1330C based on the avatar information transmitted to each of the HMD sets 110A to 110C from the server 600. The process of step S1330A corresponds to the process of step S1180 in FIG.

[0127] In step S1330A, the processor 210A in the HMD set 110A updates information on the avatar objects 6B and 6C of the other users 5B and 5C in the virtual space 11A. Specifically, the processor 210A updates the position, orientation, and the like of the avatar object 6B in the virtual space 11 based on the motion information included in the avatar information transmitted from the HMD set 110B. For example, the processor 210A updates information (position, orientation, and the like) of the avatar object 6B included in the object information stored in the memory module 530. Similarly, the processor 210A updates information (position, orientation, and the like) of the avatar object 6C in the virtual space 11 based on the motion information included in the avatar information transmitted from the HMD set 110C.

[0128] In step S1330B, processor 210B in HMD set 110B updates information on avatar objects 6A and 6C of users 5A and 5C in virtual space 11B, similar to the process in step S1330A. Similarly, in step S1330C, processor 210C in HMD set 110C updates information on avatar objects 6A and 6B of users 5A and 5B in virtual space 11C.

[0129] [Module detailed configuration] The details of the module configuration of computer 200 will be described with reference to Fig. 14. Fig. 14 is a block diagram showing the detailed configuration of modules of computer 200 according to an embodiment.

[0130] 14, the control module 510 includes a virtual camera control module 1421, a field of view determination module 1422, a reference gaze identification module 1423, a face organ detection module 1424, a motion detection module 1425, a virtual space definition module 1426, a virtual object generation module 1427, an operation object control module 1428, and an avatar control module 1429. The rendering module 520 includes a field of view image generation module 1438.

[0131] The virtual camera control module 1421 places the virtual camera 14 in the virtual space 11. The virtual camera control module 1421 controls the placement position of the virtual camera 14 in the virtual space 11 and the orientation (tilt) of the virtual camera 14. The field of view area determination module 1422 defines the field of view 15 according to the orientation of the head of the user wearing the HMD 120 and the placement position of the virtual camera 14. The field of view image generation module 1438 generates the field of view image 17 to be displayed on the monitor 130 based on the determined field of view area 15.

[0132] The reference gaze identification module 1423 identifies the gaze of the user 5 based on a signal from the gaze sensor 140. The face organ detection module 1424 detects organs (e.g., mouth, eyes, eyebrows) constituting the face of the user 5 from the image of the face of the user 5 generated by the first camera 150 and the second camera 160. The movement detection module 1425 detects the movement (shape) of each organ detected by the face organ detection module 1424.

[0133] The virtual space definition module 1426 defines the virtual space 11 in the HMD system 100 by generating virtual space data representing the virtual space 11.

[0134] The virtual object generation module 1427 generates objects to be placed in the virtual space 11. The objects may include, for example, scenery including forests, mountains, and the like, animals, and the like that are placed according to the progress of the story of the game.

[0135] The operation object control module 1428 places an operation object in the virtual space 11 for receiving an operation by the user in the virtual space 11. The user operates the operation object to operate, for example, an object placed in the virtual space 11. In one aspect, the operation object may include, for example, a hand object corresponding to the hand of the user wearing the HMD 120. In one aspect, the operation object may correspond to the hand portion of an avatar object described later.

[0136] The avatar control module 1429 generates data for placing an avatar object 6 of a user of another computer 200 connected via the network 2 in the virtual space 11. In one aspect, the avatar control module 1429 generates data for placing an avatar object 6 of a user 5 in the virtual space 11. In one aspect, the avatar control module 1429 generates an avatar object 6 that imitates the user 5 based on an image including the user 5. In another aspect, the avatar control module 1429 generates data for placing an avatar object 6 selected by the user 5 from among a plurality of types of avatar objects 6 (for example, objects imitating animals or deformed human objects) in the virtual space 11.

[0137] The avatar control module 1429 reflects the movement of the HMD 120 detected by the HMD sensor 410 to the avatar object 6. For example, the avatar control module 1429 detects that the HMD 120 is tilted and generates data for tilting and arranging the avatar object 6. In one aspect, the avatar control module 1429 reflects the movement of the controller 300 to the avatar object 6. In another aspect, the avatar control module 1429 reflects the movement of the facial organs detected by the movement detection module 1425 to the face of the avatar object 6 arranged in the virtual space 11. That is, the avatar control module 1429 reflects the movement of the face of the user 5A to the avatar object 6. In this way, the avatar object 6 is operated (in other words, moved) by the movement detected by the HMD sensor 410, the controller 300, or the movement detection module 1425.

[0138] [Server module configuration] The module configuration of server 600 will be described with reference to Fig. 15. Fig. 15 is a block diagram showing the module configuration of server 600 according to an embodiment. As shown in Fig. 15, server 600 includes a control module 1610, a memory module 1630, and a communication control module 1640. In one aspect, control module 1610 is realized by processor 610. Memory module 1630 is realized by memory 620 or storage 630. Communication control module 1640 is realized by communication interface 650.

[0139] The memory module 1630 holds data used by the computer 200 to provide the virtual space 11 to the user 5. In one aspect, the memory module 1630 holds space information, object information, and user information. The space information, object information, and user information of the memory module 1630 may include the space information, object information, and user information of the memory module 530 described above, respectively. Therefore, a description thereof will be omitted here.

[0140] The communication control module 1640 receives various information and various requests from each HMD set 110. As an example, the information that the communication control module 1640 receives from each HMD set 110 may include spatial information, object information, user information, and avatar information. The communication control module 1640 transmits various information and various requests to each HMD set 110. As an example, the information that the communication control module 1640 transmits to each HMD set 110 may include spatial information, object information, user information, and avatar information.

[0141] The processing in the server 600 is realized by hardware and software executed by the processor 610. Such software may be stored in advance in a hard disk or other memory module 1630. The software may be stored in a CD-ROM or other computer-readable non-volatile data recording medium and distributed as a program product. Alternatively, the software may be provided as a downloadable program product by an information provider connected to the Internet or other networks. Such software is read from a data recording medium by an optical disk drive or other data reading device, or downloaded from a predetermined computer via the communication control module 1640, and then temporarily stored in the memory module 1630. The software is read from the memory module 1630 by the processor 610 and stored in the RAM in the form of an executable program. The processor 610 executes the program.

[0142] The above-mentioned module configurations of the computer 200 and the server 600 are merely examples. Each of the devices of the computer 200 and the server 600 may include at least a part of the modules (in other words, functions) included in the other devices. Furthermore, each of the devices such as the computer 200 and the server 600 may not be realized by an integrated device, and may be realized by, for example, a plurality of devices connected via a network or the like.

[0143] In this embodiment, the processor 210 of the computer 200 or the processor 610 of the server 600 executes a program stored in the HMD system 100 to perform the above-mentioned or later-described processes. However, at least a part of the above-mentioned or later-described processes performed by the processor 210 may be executed by a processor other than the processor 210. Also, at least a part of the above-mentioned or later-described processes performed by the processor 610 may be executed by a processor other than the processor 610. In other words, the computer that executes the program in this embodiment may be either the computer 200 or the server 600, or may be realized by a combination of multiple devices.

[0144] [Processing according to this embodiment] When the control module 510 of the computer 200 detects an utterance using the microphone 170, it identifies the computer 200 to which voice data corresponding to the utterance is to be transmitted, and transmits the voice data. When the control module 510 receives voice data from the computer 200 of another user, it outputs a voice corresponding to the voice data from the speaker 180. For example, in the state shown in FIG. 12(B), the voice of the user 5A acquired by the microphone 170A is transmitted to the HMD 120B of the user 5B, and is output from the speaker 180B provided in the HMD 120B. On the other hand, the voice of the user 5B is transmitted to the HMD 120A of the user 5A, and is output from the speaker 180A provided in the HMD 120A. In this way, in the virtual space 11, the user 5A and the user 5B can converse with each other via the avatar object 6A and the avatar object 6B. The avatar control module 1429 (character control means) included in the control module 510 of each computer 200 makes an avatar object 6 (character) appear in the virtual space 11, and enables a conversation via the avatar object 6. Note that the conversation between the user 5A and the user 5B in the virtual space 11 (in other words, the conversation via the avatar object 6A and the avatar object 6B) may be by exchanging text messages, etc.

[0145] Hereinafter, a case will be described in which each HMD 120 provides a virtual space 11 to a user 5 as shown in Fig. 12(A). Also, a case will be described in which an avatar object 6B (in other words, a user 5B) harasses (in other words, makes unpleasant remarks or actions) an avatar object 6A (in other words, a user 5A) in the virtual space 11 shown in Fig. 12(A).

[0146] The avatar control module 1429A of the HMD set 110A places the avatar object 6A and the avatar object 6B in the virtual space 11. Then, the avatar control module 1429A moves the avatar object 6A based on the operation of the user 5A (in other words, the movement of the user 5A), and moves the avatar object 6B based on the operation of the user 5B (in other words, the movement of the user 5B). Then, the user 5A sees the movements of the avatar object 6A and the avatar object 6B moved by the avatar control module 1429A. That is, the control module 510A controls the display provided to the user 5A.

[0147] Moreover, the avatar control module 1429B of the HMD set 110B places the avatar object 6A and the avatar object 6B in the virtual space 11. Then, the avatar control module 1429B moves the avatar object 6A based on the operation of the user 5A (in other words, the movement of the user 5A), and moves the avatar object 6B based on the operation of the user 5B (in other words, the movement of the user 5B). Then, the user 5B sees the movements of the avatar object 6A and the avatar object 6B moved by the avatar control module 1429B. That is, the control module 510B performs control related to the display provided to the user 5A.

[0148] In this embodiment, the control module 510 controls so that a predetermined movement that the user 5B causes the avatar object 6B to perform is not reflected in the avatar object 6B in the display provided to the user 5A. In other words, the HMD system 100 does not reflect a part of the operation of the user 5B in the avatar object 6B that moves based on the operation of the user 5B in the display provided to the user 5A. In this embodiment, the control module 510 controls so that a predetermined movement based on the operation of the user 5B is not reflected in the avatar object 6B in the display provided to the first user, for the avatar object 6B that exists within a predetermined range from the avatar object 6A in the virtual space 11.

[0149] In this embodiment, a personal space is set for each avatar object 6 (in other words, each user 5), and certain movements of the avatar objects 6 of other specified users 5 are not reflected within the personal space.

[0150] Specifically, for example, as shown in FIG. 16, when an avatar object 6B in a personal space P of an avatar object 6A makes a specific movement to touch the avatar object 6A in the virtual space 11B, the control module 510 controls the avatar object 6B not to make the specific movement in the virtual space 11A and not to touch the avatar object 6A. That is, in the display provided to the user 5B, the avatar object 6B can be moved based on the operation of the user 5B and can touch the avatar object 6A. On the other hand, in the display provided to the user 5A, the movement of the avatar object 6B is restricted and the avatar object 6A cannot be touched. Note that in the content in which the user enters the virtual space 11 from a first-person perspective, there may be cases where the user cannot see the figure of the avatar object 6 (specifically, only a part of the avatar object 6, such as a hand, or even a part of the avatar object 6 cannot be seen), but even in such cases, the movement of the avatar object 6 of the user can be said to be the movement of the avatar object 6 in the display provided to the user.

[0151] Here, for the avatar object 6B in the virtual space 11A in which the predetermined movement is not reflected, the control module 510 may, for example, make the avatar object 6B stand upright and immobile within the personal space P of the avatar object 6A. In addition, for example, when the avatar object 6B reaches out its hand toward the avatar object 6A, the control module 510 may stop the movement of the hand (in other words, stiffen it) at the point when the hand of the avatar object 6B is about to touch the avatar object 6A, and fix the position of the hand at this point. Alternatively, the control module 510 may change the trajectory of the hand movement at the point when the hand of the avatar object 6B is about to touch the avatar object 6A, and may, for example, control the hand so that it moves toward the avatar object 6B itself (for example, toward the head, shoulders, or the position before movement of the avatar object 6B). Furthermore, the control module 510 may cause the avatar object 6B in the virtual space 11A, in which the predetermined movement is not reflected, to perform a predetermined specific movement (for example, a natural movement such as a movement of moderately moving arms and legs while standing upright). Furthermore, a plurality of patterns may be prepared as the specific movement, and the control module 510 may cause the avatar object 6B to perform a movement selected from the plurality of patterns of movement, instead of the predetermined movement that is not reflected.

[0152] The control module 510 may, for example, perform the following control to prevent a predetermined movement from being reflected for the avatar object 6B in the virtual space 11A. That is, as described above, the control module 510A moves the avatar object 6B in the virtual space 11A based on the avatar information transmitted from the control module 510B, but when the avatar information is avatar information related to the predetermined movement, the control module 510A does not move the avatar object 6B based on the avatar information. In other words, when the avatar information is avatar information related to the predetermined movement, the control module 510A discards or modifies the avatar information, and moves the avatar object 6B with a movement different from the movement based on the avatar information, or does not move the avatar object 6B. Here, "modification" includes, for example, changing (in other words, replacing) the avatar information that causes the avatar object 6B to make a movement touching the avatar object 6A to a movement that causes the avatar object 6B to make a predetermined movement that does not touch the avatar object 6A.

[0153] Alternatively, the control module 510 may prevent a predetermined movement from being reflected in the avatar object 6B in the virtual space 11A, for example, by the following control. That is, as described above, the control module 510A moves the avatar object 6B in the virtual space 11A based on the avatar information transmitted from the control module 510B, but when the avatar information is avatar information related to the predetermined movement, the control module 510B does not transmit the avatar information to the control module 510A, or transmits information in which the avatar information has been modified.

[0154] At least a part of the control for preventing a predetermined movement from being reflected for avatar object 6B in virtual space 11A may be executed by control module 1610 of server 600. That is, for example, when the avatar information indicating the movement of avatar object 6B transmitted from control module 510B is avatar information related to the predetermined movement, control module 1610 may not transmit the avatar information to control module 510A, or may transmit information in which the avatar information has been modified. Alternatively, in a configuration in which the control module 1610 places and moves an avatar object 6 in the virtual space 11 based on avatar information sent from each HMD set 110, and generates a field of view image 17 to be displayed on the monitor 130 of each HMD set 110 and transmits it to each HMD set 110, if the avatar information transmitted from the control module 510B is avatar information relating to the specified movement, the control module 1610 may discard or modify the avatar information, and move the avatar object 6B in a movement different from the movement based on the avatar information, or may not move the avatar object 6B.

[0155] In this embodiment, "not reflecting a movement" means that, for a certain avatar object 6, a predetermined movement executed in the virtual space 11 of one user 5 is not executed in the virtual space 11 of the other user 5. In other words, a process for not reflecting a movement (e.g., a process for determining whether or not to reflect a movement) may be performed before or after the predetermined movement is executed in the virtual space 11 of the one user 5 (in other words, a display related to the predetermined movement is made).

[0156] The range of the personal space P is variable for each user. Specifically, the range of the personal space P can be set by each user 5. The control module 510 changes the size of the personal space P for the user 5 (in other words, the avatar object 6 of the user 5) based on the operation of the user 5. In other words, if the personal space P is a position from the avatar object 6 to a position a predetermined distance away, the control module 510 can change the predetermined distance based on the operation of the user 5. The control module 510 may change the size of the personal space P according to the attributes of the user 5 or the avatar object 6 (for example, the number of friends or followers, occupation, or gender, etc.). In other words, the control module 510 may automatically change the size of the personal space P (not based on the operation of the user 5) based on the satisfaction of a predetermined condition. Information indicating the range of the personal space P set for each user 5 may be stored in the memory module 530, for example, or in the memory module 1630. The range of the personal space P may not be variable. Furthermore, the range of the personal space P may not be set by each user 5.

[0157] The friends and following can be the same as those in conventional games and SNS (Social Networking Service). In this embodiment, each user 5 may be able to register other users 5 as friends. Also, each user 5 may be able to follow other users 5. For example, when user 5A applies for friend registration to user 5B and user 5B accepts the application, the control module 1610 may register user 5A and user 5B as friends of each other. Also, when user 5A applies for follow to user 5B, the control module 1610 may register user 5A as a follower of user 5B. Each application and its acceptance can be made by each user 5 operating the controller 300. Also, the friend relationship between avatar object 6A and avatar object 6B may be referred to as user 5A and user 5B being friends.

[0158] Also, the personal space P may be formed along the shape of the avatar object 6. Specifically, for example, a range of 10 cm from the avatar object 6A is set as the personal space P along the shape of the avatar object 6A. In this case, when the hand of the avatar object 6B tries to enter within 10 cm of the avatar object 6A, the control module 510 may control so that, while allowing the hand of the avatar object 6B to enter within 10 cm of the avatar object 6A in the virtual space 11B, the control module 510 does not allow the hand of the avatar object 6B to enter within 10 cm of the avatar object 6A in the virtual space 11A (for example, the movement of the hand of the avatar object 6B stops at a position 10 cm away from the avatar object 6A).

[0159] In other words, in this embodiment, a predetermined movement of the avatar object 6B within a predetermined range from the avatar object 6A is not reflected in the display provided to the user 5A, but the predetermined movement may be prevented from being reflected while allowing the avatar object 6B to enter the predetermined range, or the predetermined movement may be prevented from being reflected by making it impossible for the avatar object 6B to enter the predetermined range. In other words, the predetermined range may be a range into which the avatar object 6B can enter, or may be a range into which it cannot enter. In other words, the predetermined movement may be a specific movement that can be performed within the predetermined range, or may be a movement that causes at least a part of the avatar object 6B (for example, a specific part of the body, or the whole body, etc.) to enter the predetermined range.

[0160] Hereinafter, a specific movement that a user 5 (e.g., user 5B) operating a specific avatar object 6 (e.g., avatar object 6B) causes the specific avatar object 6 to perform, and that is not reflected in the specific avatar object 6 in the display provided to another specific user 5 (e.g., user 5A), is also referred to as a "non-reflected movement."

[0161] The control module 510 determines an avatar object 6 that does not reflect a predetermined movement in a display provided to a predetermined user 5 based on an operation of the predetermined user 5. Specifically, for example, the control module 510A may receive an operation by the user 5A to select a user 5 to be blocked, and when the avatar object 6 of the selected user 5 performs a non-reflecting action, control the avatar object 6 in the virtual space 11A not to perform the non-reflecting action. Alternatively, for example, the control module 510A may receive an operation by the user 5A to select a user 5 that does not refuse reflection of a non-reflecting action, and when the avatar object 6 of the selected user 5 performs a non-reflecting action, control the avatar object 6 in the virtual space 11A not to perform the non-reflecting action, while when the avatar object 6 of a non-selected user 5 performs a non-reflecting action, control the avatar object 6 in the virtual space 11A not to perform the non-reflecting action. In other words, the avatar object 6 that does not reflect the non-reflected action may be determined based on an operation of selecting a user 5 that does not reflect the non-reflected action, or may be determined based on an operation of selecting a user 5 that reflects the non-reflected action. In addition, for example, the control module 510 may control the avatar object 6 in the virtual space 11A to perform the non-reflected action when the avatar object 6 of a user 5 (e.g., a friend, etc.) having a predetermined relationship with the user 5A performs the non-reflected action, while controlling the avatar object 6 in the virtual space 11A not to perform the non-reflected action when the avatar object 6 of a user 5 that does not have a predetermined relationship with the user 5A performs the non-reflected action. In this case, the control module 510 may accept an operation of registering another user 5 as a friend as an operation for determining the avatar object 6 that does not reflect the non-reflected action. Alternatively, the control module 510 may accept an operation of selecting an attribute of a target that reflects the non-reflected action (for example, an operation of setting "reflect only friends" or "reflect all users").Information indicating avatar objects 6 that do not reflect the non-reflected actions set for each user 5 (in other words, other users 5 that do not reflect the non-reflected actions) may be stored, for example, in memory module 530 or in memory module 1630.

[0162] In this embodiment, a conversation is possible even between the user 5 who is set as a user 5 for whom the non-reflected action is not reflected. In other words, when the non-reflected action of the avatar object 6B is not reflected in the display provided to the user 5A, the user 5A and the user 5B can talk to each other in the virtual space 11 via the avatar object 6A and the avatar object 6B.

[0163] Note that the user may not be able to set which avatar object 6 to limit the reflection of the movement. For example, a predetermined movement may not be reflected for all avatar objects 6 operated by other users. That is, in the present embodiment, for example, a predetermined movement that user 5B causes avatar object 6B to perform is not reflected in the display provided to user 5A, but the predetermined movement may be reflected in the display provided to users other than user 5A and user 5B (for example, user 5C), or may not be reflected in the display provided to users other than user 5B.

[0164] The control module 510 may increase the types of movements that a user 5 (e.g., user 5B) operating a specific avatar object 6 (e.g., avatar object 6B) causes the specific avatar object 6 to perform, the types of movements that are not reflected in the specific avatar object 6 in the display provided to another specific user 5 (e.g., user 5A), as the specific avatar object 6 approaches the avatar object 6 (e.g., avatar object 6A) of the other specific user 5. In other words, the control module 510 may change the strength of the restriction on the movement of the specific avatar object 6 depending on the distance between the specific avatar object 6 and the other avatar object 6.

[0165] Specifically, for example, when the distance between avatar object 6A and avatar object 6B is a first distance, control module 510 may perform control so as not to reflect the line of sight of avatar object 6B (in other words, eye movement indicating where one is looking, for example, eye movement looking at a specific part of the body of avatar object 6A) on avatar object 6B in virtual space 11A. On the other hand, for example, when the distance between avatar object 6A and avatar object 6B is a first distance, control module 510 may perform control so as to reflect all hand movements of avatar object 6B without any restrictions on avatar object 6B in virtual space 11A.

[0166] In response to this, for example, the control module 510 may perform control so as not to reflect the line of sight of the avatar object 6B (in other words, the movement of the eyes indicating where the avatar object 6B is looking, for example, the movement of the eyes looking at a specific part of the body of the avatar object 6A) on the avatar object 6B in the virtual space 11A, even when the distance between the avatar object 6A and the avatar object 6B is a second distance that is closer than the first distance. Also, for example, the control module 510 may perform control so as not to reflect the hand movement of the avatar object 6B on the avatar object 6B in the virtual space 11A, when the distance between the avatar object 6A and the avatar object 6B is the second distance.

[0167] In other words, multiple types of personal spaces P may be set for one avatar object 6 (or one user 5). Different movements may be set as non-reflected movements for each personal space P.

[0168] In other words, for example, when the distance between the avatar object 6A and the avatar object 6B is a first distance, the control module 510 may control so that the first movement of the avatar object 6B is reflected in the avatar object 6B in the display provided to the user 5A, but the second movement of the avatar object 6B is not reflected in the avatar object 6B in the display provided to the user 5A, whereas when the distance between the avatar object 6A and the avatar object 6B is a second distance, the control module 510 may control so that the first movement of the avatar object 6B is not reflected in the avatar object 6B in the display provided to the user 5A. Here, when the distance between the avatar object 6A and the avatar object 6B is the second distance, the control module 510 may or may not reflect the first movement in the avatar object 6B in the display provided to the user 5A.

[0169] Furthermore, the control module 510 may, based on a specific movement made by a specific avatar object 6 (e.g., avatar object 6B) operated by another user 5 (e.g., user 5B), change the specific avatar object 6 to an avatar object 6 that does not reflect the specific movement in the display provided to the user 5 (e.g., user 5A). Note that, hereinafter, the specific movement is also referred to as a "prohibited behavior." Note that the prohibited behavior may be a harassing behavior (in other words, a specific nuisance behavior).

[0170] Specifically, for example, when the hand of avatar object 6B enters within 10 cm along avatar object 6A, while avatar object 6B is within 5 m from avatar object 6A (in other words, within personal space P), control module 510 may not reflect a predetermined movement of avatar object 6B in the display provided to user 5A (for example, control avatar object 6B to stand still upright, etc.). In other words, control module 510 may impose a restriction on reflection of the movement of avatar object 6B when avatar object 6B performs a prohibited action of entering its hand within 10 cm along avatar object 6A.

[0171] Also, for example, the control module 510 may limit the reflection of the movement of the avatar object 6B when the avatar object 6B takes a prohibited action of looking at the avatar object 6A for a predetermined time or more. In this case, for example, the control module 510 may determine whether the avatar object 6B has been looking at the avatar object 6A for a predetermined time or more by determining the time during which the avatar object 6A is included in the field of view based on information on the field of view of the user 5B received from the HMD set 110B. In other words, whether the avatar object 6B has taken a prohibited action may be determined based on an operation of the user 5B.

[0172] The prohibited behavior may be set by the user 5. In other words, for example, based on the avatar object 6B making a specific movement set by the user 5A as a prohibited behavior, the control module 510 may prevent the avatar object 6B from reflecting a predetermined movement in the display provided to the user 5A.

[0173] Furthermore, when a specific avatar object 6 (e.g., avatar object 6B) operated by another user 5 (e.g., user 5B) performs a prohibited action a specific number of times (e.g., a specific number of times equal to or greater than two), the control module 510 may change the specific avatar object 6 to an avatar object 6 that does not reflect the specific movement in the display provided to the user 5 (e.g., user 5A). With this configuration, it is possible to control so that the specific movement is not reflected based on multiple prohibited actions that are likely to be intentional. The specific number of times may be set by the user 5.

[0174] Next, an example of a process for restricting the reflection of the movement of an avatar object will be described with reference to the flowchart shown in FIG.

[0175] In step S1510, the control module 510A of the HMD set 110A sets the avatar object 6 of a specific user 5 as an avatar object 6 that does not reflect a non-reflected action in the display provided to the user 5A, based on an operation of the user 5A. Here, it is assumed that the avatar object 6B is set as the avatar object 6 that does not reflect a non-reflected action, and the avatar object 6C is not set as the avatar object 6 that does not reflect a non-reflected action.

[0176] Next, in step S1520, the control module 510A receives the avatar information transmitted from the other user's HMD set 110. In other words, the control module 510A obtains the avatar information indicating the movement of each avatar object 6 existing in the virtual space 11.

[0177] Next, in step S1530, control module 510A determines whether the received avatar information relates to an avatar object 6 that has been set in step S1510 as an avatar object 6 that does not reflect a non-reflecting action.

[0178] If the received avatar information is related to an avatar object 6 that does not reflect a non-reflected action (YES in step S1530), i.e., for example, avatar object 6B, control module 510A moves avatar object 6B without causing the avatar object 6B to perform a non-reflected action (step S1540). In other words, when the avatar information is related to avatar object 6B and is related to a non-reflected action, control module 510A controls avatar object 6B not to perform a non-reflected action.

[0179] On the other hand, if the received avatar information does not relate to an avatar object that does not reflect the unreflected action (YES in step S1530), i.e., for example, if the avatar information relates to avatar object 6C, control module 510A moves avatar object 6C while allowing the unreflected action (step S1550). In other words, if the avatar information relates to avatar object 6C, control module 510A does not restrict the movement of avatar object 6C even if the avatar information relates to the unreflected action, and moves avatar object 6C so that the unreflected action is reflected.

[0180] The configuration according to this embodiment can also be applied to various games that allow multiplayer. The avatar object 6 can also be said to be a character corresponding to the user.

[0181] The present invention is not limited to the above-described embodiment, and can be modified in various ways without departing from the gist of the present invention. Within the scope of the present invention, the components can be freely combined, any components can be modified, or any components can be omitted. The process flow described in this specification is merely an example, and the order and configuration of each process may be different. In addition, some processes such as the various determination processes shown in each flowchart may not exist. In other words, the process flow and specific determination processes may be different from those exemplified in this specification.

[0182] [Note] The matters described in the above embodiment can also be described as follows.

[0183] (Appendix 1) Computer, A control module (e.g., control module 510 or control module 1610) that controls a second character that moves based on an operation of a second user in a display provided to a first user who operates a first character so that a predetermined movement that the second user causes the second character to perform is not reflected in the second character in the display provided to the first user. program. According to such a configuration, while allowing the second user to freely move the second character, a predetermined restriction can be imposed on the movement of the second character in the display provided to the first user. Therefore, for example, the movement of the second character that the first user finds unpleasant (for example, a movement that constitutes harassment to the first user, etc.) is not reflected in the display provided to the first user, and a virtual space that can be used comfortably by the first user can be provided. On the other hand, since the second user can make the second character execute a movement that is not reflected to the first user in this way, the second user's freedom of action in the virtual space is not narrowed in order to prevent the first user from feeling uncomfortable. Therefore, a virtual space that can be used comfortably by the second user can also be provided. Such a configuration can be effectively used, for example, in cases where the second character cannot be prevented from being displayed in the display provided to the first user (for example, the relationship between the first user and the second user cannot be completely severed by a so-called block, etc.), specifically, for example, when the virtual space is used as a metaverse office, etc.

[0184] (Appendix 2) The control means determines, based on an operation of the first user, a character that does not reflect the predetermined movement in a display provided to the first user. 2. The program described in Appendix 1. With this configuration, the first user can select characters whose movements are reflected or not reflected in the display provided to the first user. Therefore, it is possible to impose a predetermined restriction on the movements of characters that cause discomfort to the first user, while not imposing the predetermined restriction on characters that are unlikely to cause discomfort.

[0185] (Appendix 3) The control means performs control so that the predetermined movement of the second character within a predetermined range from the first character is not reflected in the second character in the display provided to the first user. 2. The program described in Appendix 1. With this configuration, movement of the second character within a predetermined range from the first character, which is movement that is particularly likely to cause discomfort to the first user, can be prevented from being reflected in the display provided to the first user.

[0186] (Appendix 4) The control means is capable of setting the size of the predetermined range to a different size for each user. 2. The program described in Appendix 3. With such a configuration, it is possible to make the size of the specified range relatively large for users who are likely to be subjected to unpleasant behavior from others (e.g., based on the user's operation), and to make the size of the specified range relatively small for users who are unlikely to be subjected to unpleasant behavior (e.g., based on the user's operation).

[0187] (Appendix 5) The movements that the second user can cause the second character to execute include a first movement and a second movement; The control means When a distance between the first character and the second character is a first distance, the first movement of the second character is reflected in the second character in the display provided to the first user, while the second movement of the second character is not reflected in the second character in the display provided to the first user; When the distance between the first character and the second character is a second distance, the first movement of the second character is controlled not to be reflected in the second character in the display provided to the first user. 2. The program described in Appendix 1. Even the same movement may be unpleasant depending on the distance between the characters, but with this configuration, it is possible to impose appropriate restrictions on the reflection of the character's movement depending on the distance.

[0188] (Appendix 6) The control means sets a specific character operated by another user to a character in which the specific movement is not reflected in a display provided to the first user, based on the fact that the specific character operated by the other user has performed a specific movement. 2. The program described in Appendix 1. According to such a configuration, a predetermined character is permitted to make a predetermined movement until the character makes a specific movement, and the predetermined movement is not reflected based on the character making the specific movement. Therefore, for example, it is possible to determine whether a character is unpleasant based on whether or not the character makes a specific movement, and to limit the reflection of the movement.

[0189] (Appendix 7) The control means (e.g., control module 510 or control module 1610) controls a second character that moves based on an operation of a second user in a display provided to a first user who operates a first character so that a predetermined movement that the second user causes the second character to perform is not reflected in the second character in the display provided to the first user. Information processing system. According to this configuration, the same effects as those of the program described in Supplementary Note 1 can be achieved. [Explanation of symbols]

[0190] 5 User, 6 Avatar object, 11 Virtual space, 100 HMD system, 110 HMD set, 120 HMD, 130 Monitor, 200 Computer, 210 Processor, 220 Memory, 230 Storage, 240 Input / output interface, 250 Communication interface, 300 Controller, 410 HMD sensor, 420 Motion sensor, 510 Control module, 520 Rendering module, 530 Memory module, 540 Communication control module, 600 Server, 610 Processor, 620 Memory, 630 Storage, 640 Input / output interface, 650 Communication interface, 700 External device, 1421 Virtual camera control module, 1422 Viewing area determination module, 1423 Reference line of sight identification module, 1424 Face organ detection module, 1425 Motion detection module, 1426 Virtual space definition module, 1427 Virtual object generation module, 1428 Operation object control module, 1429 avatar control module, 1438 field of view image generation module, 1610 control module, 1630 memory module, 1640 communication control module

Claims

1. Computer, and functioning as a control means for controlling a second character that moves based on an operation of a second user in a display provided to a first user who operates a first character so that a predetermined movement that the second user causes the second character to perform is not reflected in the second character in the display provided to the first user. program.

2. The control means determines, based on an operation of the first user, a character that does not reflect the predetermined movement in a display provided to the first user. The program according to claim 1.

3. The control means performs control so that the predetermined movement of the second character within a predetermined range from the first character is not reflected in the second character in a display provided to the first user. The program according to claim 1.

4. The control means is capable of setting the size of the predetermined range to a different size for each user. The program according to claim 3.

5. The movements that the second user can cause the second character to execute include a first movement and a second movement; The control means When a distance between the first character and the second character is a first distance, the first movement of the second character is reflected in the second character in the display provided to the first user, while the second movement of the second character is not reflected in the second character in the display provided to the first user; When the distance between the first character and the second character is a second distance, the first movement of the second character is controlled not to be reflected in the second character in the display provided to the first user. The program according to claim 1.

6. The control means sets a specific character operated by another user to a character in which the specific movement is not reflected in a display provided to the first user, based on the fact that the specific character operated by the other user has performed a specific movement. The program according to claim 1.

7. The game device further includes a control means for controlling a second character that moves based on an operation of a second user in a display provided to a first user who operates a first character, so that a predetermined movement that the second user causes the second character to perform is not reflected in the second character in the display provided to the first user. Information processing system.

Citation Information

Patent Citations

  • Program, method executed by computer, and computer

    JP2021114036A