WO2017213218A1 - 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム - Google Patents

仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム Download PDF

Info

Publication number
WO2017213218A1
WO2017213218A1 PCT/JP2017/021305 JP2017021305W WO2017213218A1 WO 2017213218 A1 WO2017213218 A1 WO 2017213218A1 JP 2017021305 W JP2017021305 W JP 2017021305W WO 2017213218 A1 WO2017213218 A1 WO 2017213218A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
virtual space
virtual
processor
view
Prior art date
Application number
PCT/JP2017/021305
Other languages
English (en)
French (fr)
Inventor
友輝 高野
功淳 馬場
Original Assignee
株式会社コロプラ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2016116444A external-priority patent/JP6126273B1/ja
Priority claimed from JP2016116437A external-priority patent/JP6177965B1/ja
Application filed by 株式会社コロプラ filed Critical 株式会社コロプラ
Priority to CN201780023847.3A priority Critical patent/CN109069927A/zh
Publication of WO2017213218A1 publication Critical patent/WO2017213218A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2250/00Miscellaneous game characteristics
    • A63F2250/02Miscellaneous game characteristics having an effect on the human senses
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Definitions

  • This disclosure relates to a technology that provides virtual reality, and more specifically, to a technology that reduces video sickness in virtual reality.
  • a technology for providing virtual reality using a head mounted display (HMD) device is known.
  • HMD head mounted display
  • video sickness called VR (Virtual Reality) sickness may occur. Therefore, a technique for reducing video sickness is required.
  • Patent Document 1 states that “when a visual field image of a virtual space in which a user is immersed is provided to a head-mounted display, the amount of information visually recognized by the wearer of the HMD is suppressed. Discloses a technique for “image generation” (see [Summary]).
  • Patent Document 2 discloses a technique for “appropriately controlling image blur by accurately determining panning and tilting operations performed by a photographer”. (See [Summary]).
  • One of the virtual reality application targets is a game using a user's action, for example, a hand action, wearing an HMD device. Therefore, there is a need for a technique that reduces video sickness in accordance with user actions.
  • the present disclosure has been made to solve the above-described problems, and an object in one aspect is to provide a method for reducing video sickness (VR sickness) when providing virtual reality. is there. An object in another aspect is to provide a program that reduces video sickness when providing virtual reality. Still another object of the present invention is to provide a system that can reduce motion sickness when providing virtual reality.
  • VR sickness video sickness
  • An object in another aspect is to provide a program that reduces video sickness when providing virtual reality.
  • Still another object of the present invention is to provide a system that can reduce motion sickness when providing virtual reality.
  • a method for a computer to provide virtual space to a head mounted display device.
  • a computer processor defines a virtual space, and the processor determines a flight direction of an object flying in the virtual space according to a user operation of the head mounted display device based on the user operation. And a step of causing the processor to display the field of view on the head mounted display device so that the user's field of view in the virtual space moves in the flight direction.
  • FIG. 1 It is a figure showing the outline of a structure of the HMD system 100 according to a certain embodiment. It is a block diagram showing an example of the hardware constitutions of the computer 200 according to one situation. It is a figure which represents notionally the uvw visual field coordinate system set to the HMD apparatus 110 according to an embodiment. It is a figure which represents notionally the one aspect
  • FIG. 1 is a diagram showing the outline of a structure of the HMD system 100 according to a certain embodiment. It is a block diagram showing an example of the hardware constitutions of the computer 200 according to one situation. It is a figure which represents notionally the uvw visual field coordinate system set to the HMD apparatus 110 according to an embodiment. It is a
  • FIG. 3 is a diagram illustrating an XZ cross section of a visual field region 23 viewed from a Y direction in a virtual space 2.
  • FIG. FIG. 10 is a block diagram showing a functional configuration realized by computer 200 according to an embodiment. It is a sequence chart showing a part of process performed in the HMD system 100 according to an embodiment. 6 is a flowchart showing a part of processing executed by the computer 200 when a virtual user throws a lasso or other object to an object in the virtual space 2.
  • 3 is a diagram illustrating a state in which a mountain and a tree exist in a virtual space 2.
  • FIG. It is a figure for demonstrating a state when a virtual user throws the rope 1120 toward the tree 1110.
  • FIG. 10 is a diagram for explaining that a virtual user has moved to the vicinity of a tree 1110 in response to a ring of a rope 1120 being caught by the tree 1110;
  • FIG. It is a figure showing the state where the mountain exists in the virtual space 2 and the horse is running.
  • FIG. 5 is a diagram illustrating an image 1500 that displays a state in which an object has moved in a virtual space. It is a figure for demonstrating the state which the virtual user moved to the moving object at high speed in one situation. It is a figure showing the outline of a structure of HMD system 100A according to a certain embodiment. It is a block diagram showing an example of the hardware constitutions of computer 200A according to one situation.
  • FIG. 5 is a diagram illustrating an image 1500 that displays a state in which an object has moved in a virtual space. It is a figure for demonstrating the state which the virtual user moved to the moving object at high speed in one situation. It is a figure showing the outline of a structure of HMD system 100A according
  • FIG. 3 is a block diagram representing a computer 200A according to an embodiment as a module configuration. It is a sequence chart showing a part of process performed in the HMD system 100A according to an embodiment. 10 is a flowchart showing a part of processing executed by computer 200A in accordance with the operation of user 190 seated on board 180.
  • FIG. 6 is a diagram illustrating a state in which a user 190 is seated on a board 180 in an embodiment.
  • FIG. 5 is a diagram illustrating a state in which a user 190 stands on a board 180 in an embodiment. In one embodiment, user 190 is seated on sled 1300A.
  • FIG. 1 is a diagram representing an outline of a configuration of an HMD system 100 according to an embodiment.
  • the HMD system 100 is provided as a home system or a business system.
  • an HMD system 100 includes an HMD device 110, an HMD sensor 120, a controller 160, and a computer 200.
  • the HMD device 110 includes a monitor 112 and a gaze sensor 140.
  • the controller 160 includes a motion sensor 130.
  • the computer 200 can be connected to the network 19 and can communicate with the server 150 connected to the network 19.
  • the HMD device 110 may include a sensor 114 instead of the HMD sensor 120.
  • the HMD device 110 is mounted on the user's head and can provide a virtual space to the user during operation. More specifically, the HMD device 110 displays a right-eye image and a left-eye image on the monitor 112, respectively. When each eye of the user visually recognizes each image, the user can recognize the image as a three-dimensional image based on the parallax of both eyes.
  • the monitor 112 is realized as, for example, a non-transmissive display device.
  • the monitor 112 is disposed on the main body of the HMD device 110 so as to be positioned in front of both eyes of the user. Therefore, when the user visually recognizes the three-dimensional image displayed on the monitor 112, the user can be immersed in the virtual space.
  • the virtual space includes, for example, a background, an object that can be operated by the user, and an image of a menu that can be selected by the user.
  • the monitor 112 may be realized as a liquid crystal monitor or an organic EL (Electro Luminescence) monitor provided in a so-called smartphone or other information display terminal.
  • the monitor 112 may include a sub-monitor for displaying an image for the right eye and a sub-monitor for displaying an image for the left eye.
  • the monitor 112 may be configured to display a right-eye image and a left-eye image together.
  • the monitor 112 includes a high-speed shutter. The high-speed shutter operates so that an image for the right eye and an image for the left eye can be displayed alternately so that the image is recognized only by one of the eyes.
  • the HMD sensor 120 includes a plurality of light sources (not shown). Each light source is realized by, for example, an LED that emits infrared rays.
  • the HMD sensor 120 has a position tracking function for detecting the movement of the HMD device 110.
  • the HMD sensor 120 detects the position and inclination of the HMD device 110 in the real space using this function.
  • the HMD sensor 120 may be realized by a camera.
  • the HMD sensor 120 can detect the position and inclination of the HMD device 110 by executing image analysis processing using image information of the HMD device 110 output from the camera.
  • the HMD device 110 may include a sensor 114 instead of the HMD sensor 120 as a position detector.
  • the HMD device 110 can detect the position and inclination of the HMD device 110 itself using the sensor 114.
  • the sensor 114 is an angular velocity sensor, a geomagnetic sensor, an acceleration sensor, a gyro sensor, or the like
  • the HMD device 110 uses any one of these sensors instead of the HMD sensor 120 to detect its position and inclination. Can be detected.
  • the angular velocity sensor detects angular velocities around the three axes of the HMD device 110 in real space over time.
  • the HMD device 110 calculates the temporal change of the angle around the three axes of the HMD device 110 based on each angular velocity, and further calculates the inclination of the HMD device 110 based on the temporal change of the angle.
  • the motion sensor 130 is attached to the user's hand and detects the movement of the user's hand.
  • the motion sensor 130 detects the rotation speed, rotation speed, etc. of the hand.
  • the detected signal is sent to the computer 200.
  • the motion sensor 130 is provided in a glove-type controller 160, for example.
  • the controller 160 be mounted on something that does not fly easily by being mounted on the hand of the user 190, such as a glove shape.
  • a sensor that is not worn by the user 190 may detect the hand movement of the user 190.
  • a signal from a camera that captures the user 190 may be input to the computer 200 as a signal representing the operation of the user 190.
  • the motion sensor 130 and the computer 200 are connected to each other by wire or wirelessly.
  • the communication form is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication methods are used.
  • Gaze sensor 140 detects the direction (gaze direction) in which the gaze of the user 190's right eye and left eye is directed.
  • the detection of the direction is realized by, for example, a known eye tracking function.
  • the gaze sensor 140 is realized by a sensor having the eye tracking function.
  • the gaze sensor 140 preferably includes a right eye sensor and a left eye sensor.
  • the gaze sensor 140 may be, for example, a sensor that irradiates the right eye and the left eye of the user 190 with infrared light and detects the rotation angle of each eyeball by receiving reflected light from the cornea and iris with respect to the irradiated light. .
  • the gaze sensor 140 can detect the line-of-sight direction of the user 190 based on each detected rotation angle.
  • the server 150 can transmit a program to the computer 200.
  • the server 150 may communicate with other computers 200 for providing virtual reality to HMD devices used by other users. For example, when a plurality of users play a participatory game in an amusement facility, each computer 200 communicates a signal based on each user's operation with another computer 200, and a plurality of users are common in the same virtual space. Allows you to enjoy the game.
  • FIG. 2 is a block diagram illustrating an example of a hardware configuration of computer 200 according to one aspect.
  • the computer 200 includes a processor 10, a memory 11, a storage 12, an input / output interface 13, and a communication interface 14 as main components. Each component is connected to the bus 15.
  • the processor 10 executes a series of instructions included in the program stored in the memory 11 or the storage 12 based on a signal given to the computer 200 or when a predetermined condition is established.
  • the processor 10 is implemented as a CPU (Central Processing Unit), MPU (Micro Processor Unit), FPGA (Field-Programmable Gate Array), or other device.
  • the memory 11 temporarily stores programs and data.
  • the program is loaded from the storage 12, for example.
  • the data includes data input to the computer 200 and data generated by the processor 10.
  • the memory 11 is realized as a RAM (Random Access Memory) or other volatile memory.
  • Storage 12 holds programs and data permanently.
  • the storage 12 is realized as, for example, a ROM (Read-Only Memory), a hard disk device, a flash memory, and other nonvolatile storage devices.
  • the programs stored in the storage 12 include a program for providing a virtual space in the HMD system 100, a simulation program, a game program, a user authentication program, and a program for realizing communication with another computer 200.
  • the data stored in the storage 12 includes data and objects for defining the virtual space.
  • the storage 12 may be realized as a removable storage device such as a memory card.
  • a configuration using a program and data stored in an external storage device may be used instead of the storage 12 built in the computer 200. According to such a configuration, for example, in a scene where a plurality of HMD systems 100 are used as in an amusement facility, it is possible to update programs and data collectively.
  • the input / output interface 13 communicates signals with the HMD device 110, the HMD sensor 120, the motion sensor 130, and the server 150.
  • the input / output interface 13 is realized using a USB (Universal Serial Bus) interface, DVI (Digital Visual Interface), HDMI (registered trademark) (High-Definition Multimedia Interface), or other terminals.
  • the input / output interface 13 is not limited to that described above.
  • the communication interface 14 is connected to the network 19 and communicates with other computers (for example, the server 150) connected to the network 19.
  • the communication interface 14 is realized as, for example, a local area network (LAN) or other wired communication interface, or a wireless communication interface such as WiFi (Wireless Fidelity), Bluetooth (registered trademark), NFC (Near Field Communication), or the like. Is done.
  • the communication interface 14 is not limited to the above.
  • the processor 10 loads one or more programs stored in the storage 12 into the memory 11 and executes a series of instructions included in the program.
  • the one or more programs may include an operating system of the computer 200, an application program for providing a virtual space, game software that can be executed in the virtual space using the controller 160, and the like.
  • the processor 10 sends a signal for providing a virtual space to the HMD device 110 via the input / output interface 13.
  • the HMD device 110 displays an image on the monitor 112 based on the signal.
  • the computer 200 is configured to be provided outside the HMD device 110.
  • the computer 200 may be incorporated in the HMD device 110.
  • a portable information communication terminal for example, a smartphone
  • the monitor 112 may function as the computer 200.
  • the computer 200 may be configured to be used in common for a plurality of HMD devices 110.
  • the same virtual space can be provided to a plurality of users, so that each user can enjoy the same application as other users in the same virtual space.
  • a global coordinate system is set in advance.
  • the global coordinate system has three reference directions (axes) parallel to the vertical direction in the real space, the horizontal direction orthogonal to the vertical direction, and the front-rear direction orthogonal to both the vertical direction and the horizontal direction.
  • the global coordinate system is one of the viewpoint coordinate systems. Therefore, the horizontal direction, the vertical direction (vertical direction), and the front-rear direction in the global coordinate system are defined as an x-axis, a y-axis, and a z-axis, respectively. More specifically, in the global coordinate system, the x axis is parallel to the horizontal direction of the real space.
  • the y axis is parallel to the vertical direction of the real space.
  • the z axis is parallel to the front-rear direction of the real space.
  • the HMD sensor 120 includes an infrared sensor.
  • the infrared sensor detects each infrared ray emitted from each light source of the HMD device 110, the presence of the HMD device 110 is detected.
  • the HMD sensor 120 further detects the position and inclination of the HMD device 110 in the real space according to the movement of the user wearing the HMD device 110 based on the value of each point (each coordinate value in the global coordinate system). To do. More specifically, the HMD sensor 120 can detect temporal changes in the position and tilt of the HMD device 110 using each value detected over time.
  • the global coordinate system is parallel to the real space coordinate system. Therefore, each inclination of the HMD device 110 detected by the HMD sensor 120 corresponds to each inclination around the three axes of the HMD device 110 in the global coordinate system.
  • the HMD sensor 120 sets the uvw visual field coordinate system to the HMD device 110 based on the inclination of the HMD device 110 in the global coordinate system.
  • the uvw visual field coordinate system set in the HMD device 110 corresponds to a viewpoint coordinate system when a user wearing the HMD device 110 views an object in the virtual space.
  • a method for the computer 200 to provide the virtual space 2 to the HMD device 110 is provided.
  • the processor 10 of the computer 200 defines the process of defining the virtual space 2, and the processor 10 determines the flight direction of an object flying in the virtual space 2 according to the operation of the user 190 of the HMD device 110.
  • movement and the process in which the processor 10 displays a visual field on the HMD apparatus 110 so that the visual field of the user 190 in the virtual space 2 may move to a flight direction are included.
  • the determining process includes a process of determining a flight distance of an object in the virtual space 2 based on the operation of the user 190.
  • the process of displaying the field of view on the HMD device 110 includes the process of displaying on the monitor 112 the field of view from the position moved according to the flight distance in the virtual space 2.
  • Configuration 3 Preferably, in an embodiment, in addition to Configuration 1 or 2, the method is configured such that when the object reaches an object in the virtual space 2, the processor 10 causes the user 190 in the virtual space 2 to Is further included.
  • Configuration 4 Preferably, in an embodiment, in addition to Configuration 3, in the process of moving the user 190 to the target object, the user 190 is moved to the stationary object in the virtual space 2 when the object reaches the stationary object. Including moving up to.
  • Configuration 5 Preferably, in an embodiment, in addition to Configuration 3, the process of moving the user 190 to the object moves the user 190 in the traveling direction of the moving object when the object reaches the moving object. Including.
  • the process of moving the user 190 to the target object is that the landscape around the user 190 in the virtual space 2 is Including displaying a field of view on the HMD device 110 to approach.
  • Arrangement 7 Preferably, in an embodiment, in addition to Arrangement 1 or 2, when the object reaches the object in the virtual space 2, the processor 10 is drawn toward the user 190. As described above, a process of displaying the field of view of the user 190 on the HMD device 110 is further included.
  • the process of determining the flight direction of the object is based on a physical quantity according to the movement of the hand of the user 190, or And determining a flight direction of the object based on an operation on a controller connected to the computer 200.
  • the process of determining the flight distance of the object is based on a physical quantity corresponding to the hand movement of the user 190, or And determining the flight distance of the object based on an operation on a controller connected to the computer 200.
  • the HMD system 100 includes an HMD device 110 and a computer 200 for providing the virtual space 2 to the HMD device 110.
  • the computer 200 includes a memory for storing a series of instructions and a processor 10 for executing the series of instructions.
  • the processor 10 defines the virtual space 2, and determines the flight direction of the object flying in the virtual space 2 according to the operation of the user 190 of the HMD device 110.
  • the visual field is displayed on the HMD device 110 so that the visual field of the user 190 in the virtual space 2 moves in the flight direction.
  • FIG. 3 is a diagram conceptually showing a uvw visual field coordinate system set in HMD device 110 according to an embodiment.
  • the HMD sensor 120 detects the position and inclination of the HMD device 110 in the global coordinate system when the HMD device 110 is activated.
  • the processor 10 sets the uvw visual field coordinate system in the HMD device 110 based on the detected value.
  • the HMD device 110 sets a three-dimensional uvw visual field coordinate system with the head (origin) of the user wearing the HMD device 110 as the center (origin). More specifically, the HMD device 110 uses the horizontal direction, the vertical direction, and the front-rear direction (x axis, y axis, z axis) that define the global coordinate system around each axis of the HMD device 110 in the global coordinate system.
  • the three new directions obtained by inclining around the respective axes by the inclination of the pitch are the pitch direction (u-axis), yaw direction (v-axis), and roll direction (w-axis) of the uvw visual field coordinate system in the HMD device 110. Set as.
  • the processor 10 sets the uvw visual field coordinate system parallel to the global coordinate system in the HMD device 110.
  • the horizontal direction (x-axis), vertical direction (y-axis), and front-rear direction (z-axis) in the global coordinate system are the pitch direction (u-axis) and yaw direction (v Axis) and the roll direction (w-axis).
  • the HMD sensor 120 can detect the inclination of the HMD device 110 in the set uvw visual field coordinate system based on the movement of the HMD device 110. .
  • the HMD sensor 120 detects the pitch angle ( ⁇ u), yaw angle ( ⁇ v), and roll angle ( ⁇ w) of the HMD device 110 in the uvw visual field coordinate system as the inclination of the HMD device 110.
  • the pitch angle ( ⁇ u) represents the tilt angle of the HMD device 110 around the pitch direction in the uvw visual field coordinate system.
  • the yaw angle ( ⁇ v) represents the tilt angle of the HMD device 110 around the yaw direction in the uvw visual field coordinate system.
  • the roll angle ( ⁇ w) represents the tilt angle of the HMD device 110 around the roll direction in the uvw visual field coordinate system.
  • the HMD sensor 120 sets, in the HMD device 110, the uvw visual field coordinate system in the HMD device 110 after the HMD device 110 moves based on the detected tilt angle of the HMD device 110.
  • the relationship between the HMD device 110 and the uvw visual field coordinate system of the HMD device 110 is always constant regardless of the position and inclination of the HMD device 110.
  • the position and inclination of the HMD device 110 change, the position and inclination of the uvw visual field coordinate system of the HMD device 110 in the global coordinate system change in conjunction with the change of the position and inclination.
  • the HMD sensor 120 is based on the infrared light intensity acquired based on the output from the infrared sensor and the relative positional relationship between a plurality of points (for example, the distance between the points).
  • the position of the device 110 in the real space may be specified as a relative position with respect to the HMD sensor 120.
  • the processor 10 may determine the origin of the uvw visual field coordinate system of the HMD device 110 in the real space (global coordinate system) based on the specified relative position.
  • FIG. 4 is a diagram conceptually showing one aspect of expressing virtual space 2 according to an embodiment.
  • the virtual space 2 has a spherical structure that covers the entire 360 ° direction of the center 21.
  • the upper half of the celestial sphere in the virtual space 2 is illustrated in order not to make the description complicated.
  • each mesh is defined.
  • the position of each mesh is defined in advance as coordinate values in the XYZ coordinate system defined in the virtual space 2.
  • the computer 200 associates each partial image constituting content (still image, moving image, etc.) that can be developed in the virtual space 2 with each corresponding mesh in the virtual space 2, and the virtual space image 22 that can be visually recognized by the user. Is provided to the user.
  • the virtual space 2 defines an XYZ coordinate system with the center 21 as the origin.
  • the XYZ coordinate system is, for example, parallel to the global coordinate system. Since the XYZ coordinate system is a kind of viewpoint coordinate system, the horizontal direction, vertical direction (vertical direction), and front-rear direction in the XYZ coordinate system are defined as an X axis, a Y axis, and a Z axis, respectively.
  • the X axis (horizontal direction) of the XYZ coordinate system is parallel to the x axis of the global coordinate system
  • the Y axis (vertical direction) of the XYZ coordinate system is parallel to the y axis of the global coordinate system
  • the Z axis (front-rear direction) is parallel to the z axis of the global coordinate system.
  • the virtual camera 1 When the HMD device 110 is activated, that is, in the initial state of the HMD device 110, the virtual camera 1 is arranged at the center 21 of the virtual space 2.
  • the virtual camera 1 similarly moves in the virtual space 2 in conjunction with the movement of the HMD device 110 in the real space. Thereby, changes in the position and orientation of the HMD device 110 in the real space are similarly reproduced in the virtual space 2.
  • the uvw visual field coordinate system is defined for the virtual camera 1 as in the case of the HMD device 110.
  • the uvw visual field coordinate system of the virtual camera in the virtual space 2 is defined so as to be linked to the uvw visual field coordinate system of the HMD device 110 in the real space (global coordinate system). Therefore, when the inclination of the HMD device 110 changes, the inclination of the virtual camera 1 also changes accordingly.
  • the virtual camera 1 can also move in the virtual space 2 in conjunction with the movement of the user wearing the HMD device 110 in the real space.
  • the reference line of sight (reference line of sight 5) when the user visually recognizes the virtual space image 22 depends on the orientation of the virtual camera 1. Determined.
  • the processor 10 of the computer 200 defines the visual field region 23 in the virtual space 2 based on the reference line of sight 5.
  • the view area 23 corresponds to the view of the user wearing the HMD device 110 in the virtual space 2.
  • the gaze direction of the user 190 detected by the gaze sensor 140 is a direction in the viewpoint coordinate system when the user 190 visually recognizes the object.
  • the uvw visual field coordinate system of the HMD device 110 is equal to the viewpoint coordinate system when the user 190 visually recognizes the monitor 112.
  • the uvw visual field coordinate system of the virtual camera 1 is linked to the uvw visual field coordinate system of the HMD device 110. Therefore, the HMD system 100 according to a certain aspect can regard the line-of-sight direction of the user 190 detected by the gaze sensor 140 as the line-of-sight direction of the user in the uvw visual field coordinate system of the virtual camera 1.
  • FIG. 5 is a diagram showing the head of user 190 wearing HMD device 110 according to an embodiment from above.
  • the gaze sensor 140 detects each line of sight of the user 190's right eye and left eye. In a certain aspect, when the user 190 is looking near, the gaze sensor 140 detects the lines of sight R1 and L1. In another aspect, when the user 190 is looking far away, the gaze sensor 140 detects the lines of sight R2 and L2. In this case, the angle formed by the lines of sight R2 and L2 with respect to the roll direction w is smaller than the angle formed by the lines of sight R1 and L1 with respect to the roll direction w. The gaze sensor 140 transmits the detection result to the computer 200.
  • the computer 200 When the computer 200 receives the detection values of the lines of sight R1 and L1 from the gaze sensor 140 as the line-of-sight detection result, the computer 200 identifies the point of sight N1 that is the intersection of the lines of sight R1 and L1 based on the detection value. On the other hand, when the detected values of the lines of sight R2 and L2 are received from the gaze sensor 140, the computer 200 specifies the intersection of the lines of sight R2 and L2 as the point of sight. The computer 200 specifies the line-of-sight direction N0 of the user 190 based on the specified position of the gazing point N1.
  • the computer 200 detects the direction in which the straight line passing through the midpoint of the straight line connecting the right eye R and the left eye L of the user 190 and the gazing point N1 extends as the line-of-sight direction N0.
  • the line-of-sight direction N0 is a direction in which the user 190 is actually pointing the line of sight with both eyes.
  • the line-of-sight direction N0 corresponds to the direction in which the user 190 actually directs his / her line of sight with respect to the view field area 23.
  • the HMD system 100 may include a microphone and a speaker in any part of the HMD system 100.
  • the user can give a voice instruction to the virtual space 2 by speaking to the microphone.
  • the HMD system 100 may include a television broadcast receiving tuner. According to such a configuration, the HMD system 100 can display a television program in the virtual space 2.
  • the HMD system 100 may include a communication circuit for connecting to the Internet or a call function for connecting to a telephone line.
  • FIG. 6 is a diagram illustrating a YZ cross section of the visual field region 23 viewed from the X direction in the virtual space 2.
  • FIG. 7 is a diagram illustrating an XZ cross section of the visual field region 23 viewed from the Y direction in the virtual space 2.
  • the field-of-view region 23 in the YZ section includes a region 24.
  • the region 24 is defined by the reference line of sight 5 of the virtual camera 1 and the YZ cross section of the virtual space 2.
  • the processor 10 defines a range including the polar angle ⁇ around the reference line of sight 5 in the virtual space as the region 24.
  • the field-of-view region 23 in the XZ section includes a region 25.
  • the region 25 is defined by the reference line of sight 5 and the XZ cross section of the virtual space 2.
  • the processor 10 defines a range including the azimuth angle ⁇ around the reference line of sight 5 in the virtual space 2 as a region 25.
  • the HMD system 100 provides a virtual space to the user 190 by displaying the view image 26 on the monitor 112 based on a signal from the computer 200.
  • the view image 26 corresponds to a portion of the virtual space image 22 that is superimposed on the view region 23.
  • the virtual camera 1 also moves in conjunction with the movement.
  • the position of the visual field area 23 in the virtual space 2 changes.
  • the view image 26 displayed on the monitor 112 is updated to an image that is superimposed on the view region 23 in the direction in which the user faces in the virtual space 2 in the virtual space image 22.
  • the user can visually recognize a desired direction in the virtual space 2.
  • the user 190 can visually recognize only the virtual space image 22 developed in the virtual space 2 without visually recognizing the real world while wearing the HMD device 110. Therefore, the HMD system 100 can give the user a high sense of immersion in the virtual space 2.
  • the processor 10 can move the virtual camera 1 in the virtual space 2 in conjunction with the movement of the user 190 wearing the HMD device 110 in the real space.
  • the processor 10 specifies an image region (that is, the visual field region 23 in the virtual space 2) projected on the monitor 112 of the HMD device 110 based on the position and orientation of the virtual camera 1 in the virtual space 2.
  • the virtual camera 1 preferably includes two virtual cameras, that is, a virtual camera for providing a right-eye image and a virtual camera for providing a left-eye image. Moreover, it is preferable that appropriate parallax is set in the two virtual cameras so that the user 190 can recognize the three-dimensional virtual space 2.
  • the virtual camera 1 includes two virtual cameras, and the roll direction (w) generated by combining the roll directions of the two virtual cameras is the roll direction (w) of the HMD device 110. The technical idea concerning this indication is illustrated as what is constituted so that it may be adapted.
  • Control device for HMD device A control device of the HMD device 110 will be described with reference to FIG.
  • the control device is realized by a computer 200 having a known configuration.
  • FIG. 8 is a block diagram representing a computer 200 according to an embodiment as a module configuration.
  • the computer 200 includes a display control module 220, a virtual space control module 230, a memory module 240, and a communication control module 250.
  • the display control module 220 includes a virtual camera control module 221, a visual field region determination module 222, a visual field image generation module 223, and a reference visual line identification module 224 as submodules.
  • the virtual space control module 230 includes a virtual space definition module 231, a virtual object generation module 232, and an object control module 233 as submodules.
  • the memory module 240 holds space information 241, object information 242, and user information 243.
  • the display control module 220 and the virtual space control module 230 are realized by the processor 10. In another embodiment, multiple processors 10 may operate as the display control module 220 and the virtual space control module 230.
  • the memory module 240 is realized by the memory 11 or the storage 12.
  • the communication control module 250 is realized by the communication interface 14.
  • the display control module 220 controls image display on the monitor 112 of the HMD device 110.
  • the virtual camera control module 221 arranges the virtual camera 1 in the virtual space 2 and controls the behavior, orientation, and the like of the virtual camera 1.
  • the view area determination module 222 defines the view area 23.
  • the view image generation module 223 generates a view image 26 to be displayed on the monitor 112 based on the determined view area 23.
  • the reference gaze identification module 224 identifies the gaze of the user 190 based on the signal from the gaze sensor 140.
  • the virtual space control module 230 controls the virtual space 2 provided to the user 190.
  • the virtual space definition module 231 defines the virtual space 2 in the HMD system 100 by generating virtual space data representing the virtual space 2.
  • the virtual object generation module 232 generates an object displayed in the virtual space 2.
  • the object includes, for example, a forest, a mountainous landscape, an animal, and the like displayed according to the progress of the game story.
  • the object control module 233 controls the operation of the object held by the user in the virtual space 2.
  • the object may include, for example, a rope, a stone, a throwing ring, and other throwing objects that are thrown in the virtual space 2 in conjunction with the movement of the user 190 in the real space.
  • the memory module 240 holds data used by the computer 200 to provide the virtual space 2 to the user 190.
  • the memory module 240 holds space information 241, object information 242, and user information 243.
  • the space information 241 holds one or more templates defined for providing the virtual space 2.
  • the object information 242 holds information for displaying content reproduced in the virtual space 2 and objects used in the content.
  • the content can include, for example, content representing a scene similar to a game or a real society.
  • the user information 243 holds a program for causing the computer 200 to function as a control device of the HMD system 100, an application program that uses each content held in the object information 242, and the like. Data and programs stored in the memory module 240 are input by the user of the HMD device 110.
  • the computer 200 downloads from a computer (for example, the server 150) operated by a provider that provides the content and stores it in the memory module 240.
  • the communication control module 250 can communicate with the server 150 and other information communication devices via the network 19.
  • the display control module 220 and the virtual space control module 230 can be realized using Unity (registered trademark) provided by Unity Technologies.
  • FIG. 9 is a sequence chart representing a part of processing executed in HMD system 100 according to an embodiment.
  • step S910 the processor 10 of the computer 200 specifies virtual space image data as the virtual space definition module 231.
  • step S920 the processor 10 initializes the virtual camera 1.
  • the virtual camera 1 is arranged at a predetermined center point in the virtual space 2 and the line of sight of the virtual camera 1 is directed in the direction in which the user 190 is facing.
  • step S930 the processor 10 generates an initial view image as the view image generation module 223.
  • the generated view field image is sent to the HMD device 110 by the communication control module 250 via the view field image generation module 223.
  • step S932 the monitor 112 of the HMD device 110 displays a view field image based on the signal received from the computer 200.
  • the user 190 wearing the HMD device 110 can recognize the virtual space 2 when viewing the visual field image.
  • step S934 the HMD sensor 120 detects the position and inclination of the HMD device 110 based on a plurality of infrared lights transmitted from the HMD device 110.
  • the detection result is sent to the computer 200 as motion detection data.
  • step S940 the processor 10 specifies the viewing direction of the user 190 wearing the HMD device 110 based on the position and inclination of the HMD device 110.
  • the processor 10 executes the application program and displays objects in the virtual space 2 based on instructions included in the application program.
  • the user 190 enjoys content that is visible in the virtual space 2 by executing the application program.
  • the content includes, for example, ball games, rope throwing and other games, guided tours in sightseeing spots, and the like.
  • step S942 the motion sensor 130 detects the hand movement of the user 190.
  • a signal indicating the detected movement is sent to the computer 200.
  • the signal includes hand rotation speed, acceleration, and the like.
  • a ball game application program when executed, there may be a scene in which a virtual user in the virtual space 2 throws a ball in response to the swing of the arm of the user 190. In this case, when the user 190 actually moves the arm, the rotation direction and speed of the arm are detected.
  • a rope throwing game when the user 190 rotates the arm, the rotation speed of the arm while the rope is rotated and the swing direction of the arm when the rope is thrown are detected. .
  • a virtual user in the virtual space 2 may function as a tourist guide.
  • the movement of the right arm and the direction indicated by the right arm when the tourist guide in the virtual space 2 talks to the traveler, for example, “Look at the direction of the right hand” are detected.
  • the processor 10 specifies the flight direction based on the signal output from the motion sensor 130.
  • the flying direction includes a direction in which a virtual object such as a ball, a ring, a stone or the like flies in the virtual space 2 or a direction indicated by the virtual user's arm, finger, indicator bar or other object.
  • step S960 the processor 10 determines the visual field after the movement of the virtual user based on the specified flight direction.
  • step S970 the processor 10 determines the orientation of the virtual camera 1 based on the identified flight direction.
  • step S980 the processor 10 determines the field of view based on the determined orientation of the virtual camera 1.
  • the visual field area represents a range in which a virtual space in the virtual space 2 can be visually recognized.
  • step S990 the computer 200 generates view image data for displaying a view image in accordance with the determined view area, and outputs the generated view image data to the HMD device 110.
  • step S992 the monitor 112 of the HMD device 110 updates the view image based on the received view image data, and displays the updated view image.
  • the user 190 can recognize the updated view image, that is, the view after the line of sight moves in the flight direction.
  • FIG. 10 is a flowchart showing a part of processing executed by the computer 200 when a virtual user throws a lasso or other object to the target in the virtual space 2.
  • step S1010 the processor 10 defines the virtual space 2 in the memory 11 as the virtual space definition module 231.
  • step S1020 the processor 10 detects the operation of the user 190 wearing the HMD device 110 based on the signal from the motion sensor 130.
  • the processor 10 determines the flight direction of the object flying in the virtual space 2 based on the operation of the user 190. For example, the processor 10 determines parameters such as an initial speed and a flying direction when the object flies based on the rotation speed and throwing direction of the right hand of the user 190. In another aspect, the processor 10 may determine the parameter based on the number of rotations of the right hand of the user 190 and the throwing direction. When the number of rotations is considered rather than when the rotation speed is considered, the controller 160 can easily control the object to fly before leaving the hand of the user 190, so that the HMD device 110 is safer. Can be used for
  • step S1040 the processor 10 generates, as the virtual object generation module 232, visual field image data for causing the HMD device 110 to display a visual field image so that the visual field of the user 190 in the virtual space 2 moves in the flight direction.
  • the processor 10 transmits the generated view image data to the HMD device 110 and causes the monitor 112 to display the view image based on the view image data.
  • step S1050 the processor 10 determines whether or not the object has reached the target in the virtual space 2 based on the virtual distance between the virtual user and the target in the virtual space and the rotation operation of the arm of the user 190. to decide.
  • the object may be a tree, a rock or other stationary object displayed in the virtual space 2 or a moving object running in the virtual space 2 such as a car, a dog or a horse.
  • Whether or not the object has reached the object can be determined based on, for example, the initial speed and flight direction of the object in the virtual space 2 and the virtual distance from the virtual user to the object. Since this determination is applied in the virtual space 2, the presence of air resistance and other physical quantities to be considered in the real space may be ignored.
  • processor 10 determines that the object has reached the object in virtual space 2 (YES in step S1050)
  • processor 10 switches control to step S1060. Otherwise (NO in step S1050), processor 10 returns control to step S1020.
  • step S1060 as the object control module 233, the processor 10 moves the position of the virtual user in the virtual space 2 to the target object.
  • the determination in step S1050 may take into account, for example, physical operations executed in the game software.
  • the size, mass, gravity or air resistance in the virtual space 2 can be considered. In this way, the interest provided in virtual reality can increase.
  • the processor 10 may execute a process for specifying an object on which the object has arrived.
  • objects include, for example, trees, rocks, ground and other stationary objects, and animals, vehicles and other moving objects.
  • the processor 10 may generate a visual field image so that the virtual user moves through the virtual space 2 to the target object at high speed. In this way, it is possible to suppress the occurrence of VR sickness for the user 190 even in a scene unique to virtual reality of high-speed movement.
  • a tree is exemplified as a stationary object, but the stationary object is not limited to that illustrated.
  • any object that can be visually recognized at least in the virtual space 2, such as a building or the other side of a river, may be used.
  • FIG. 11 is a diagram illustrating a state where mountains and trees exist in the virtual space 2.
  • the user recognizes a tree on the right front side and recognizes a mountain on the left front side.
  • the partial diagram A represents an image 1100 that the user 190 wearing the HMD device 110 is viewing in the virtual space 2.
  • the partial diagram B represents a state in which the virtual space 2 is viewed from above (Y direction).
  • the HMD system 100 causes a virtual user to throw a rope in the virtual space 2 and moves ahead of the rope.
  • the user 190 wearing the HMD device 110 attaches a sensor to the right hand.
  • the sensor detects the movement (rotation or throwing motion) of the right hand, and the detection result is input to the computer 200.
  • the computer 200 executes an application program that realizes the scenario, and transmits a signal for displaying an image to the monitor 112.
  • the monitor 112 displays an image according to the signal
  • the user 190 recognizes the image.
  • the virtual user in the virtual space 2 is viewing the mountain and the tree 1110.
  • the user 190 moves the hand on which the controller 160 is mounted according to the progress of the scenario, when the user 190 performs a predetermined operation to display the rope, the rope 1120 is displayed.
  • FIG. 12 is a diagram for explaining a state when the virtual user throws the rope 1120 toward the tree 1110.
  • the partial diagram A represents a state in which the rope 1120 is flying toward the tree 1110.
  • the virtual camera 1 is directed toward the tree 1110 according to the throwing of the rope 1120.
  • the processor 10 switches the image displayed on the monitor 112 based on the signal output from the sensor attached to the right hand. More specifically, the view field image in the virtual space 2 is switched to an image centered on the tree 1110.
  • the virtual user throws the rope 1120, the virtual user can visually recognize the view field image as if the line of sight was switched to the direction of the tree 1110. Since the user 190 can predict the direction in which the rope 1120 flies, the so-called video sickness (VR sickness) can be prevented without impairing the sense of immersion.
  • VR sickness video sickness
  • FIG. 13 is a diagram for explaining that the virtual user has moved to the vicinity of the tree 1110 in response to the ring of the rope 1120 being caught by the tree 1110.
  • the partial diagram A is a diagram showing an image visually recognized by a virtual user who has moved near the tree 1110.
  • FIG. B is a diagram showing the position and orientation of the virtual camera 1 in the virtual space 2.
  • the image 1300 displays a state in which the virtual user has moved near the tree 1110.
  • the user 190 performs an operation of pulling the rope 1120 closer to the tree 1110 after the rope 1120 thrown by the virtual user existing in the virtual space 2 is caught on the branch of the tree 1110
  • the virtual user moves to the tree 1110 in the virtual space 2. It can move at high speed. More specifically, the virtual user can move faster than the moving speed according to the temporal change in the position of the HMD device 110 detected by the HMD sensor 120.
  • the view field image may be displayed so that the scenery around the virtual user and the tree 1110 moves toward the virtual user at high speed.
  • the user 190 can visually recognize as if the virtual user has instantaneously moved to the tree 1110.
  • the visual field image visually recognized by the virtual user is the direction in which the object flies, that is, the virtual user. Switches to the direction in which the field of view moves.
  • the operation of the user 190 includes the rotation of the arm and the gesture of throwing an object.
  • the direction in which the view image is switched corresponds to such an operation. Therefore, since the user 190 can visually recognize the field-of-view image in the virtual space 2 according to his / her own operation, video sickness can be suppressed.
  • a horse is exemplified as a moving object, but the moving object is not limited to the illustrated example. For example, it may be anything moving in the real space, such as other animals, automobiles, other vehicles, birds, airplanes, rockets, and the like.
  • FIG. 14 is a diagram showing a state in which a mountain exists in the virtual space 2 and a horse is running.
  • the partial diagram A shows a view image 1400 that the user 190 wearing the HMD device 110 is viewing in the virtual space 2.
  • the partial diagram B represents a state in which the virtual space 2 is viewed from above (Y direction).
  • the user 190 wearing the HMD device 110 is viewing the view field image 1400 as a virtual user.
  • the view image 1400 displays a mountain and a horse 1410.
  • the processor 10 of the HMD device 110 displays a rope 1120 in the field-of-view image 1400.
  • the motion sensor 130 detects the movement, and the processor 10 displays an image on the monitor 112 so that the rope 1120 flies toward the running horse 1410.
  • the monitor 112 displays an image so that the horse 1410 is at the center of the field-of-view image 1400 according to the operation of the user 190. Therefore, since the direction in which the user 190 performs the operation and the direction displayed in the view field image 1400 are substantially the same direction, VR sickness can be suppressed.
  • FIG. 15 is a diagram illustrating an image 1500 that displays a state in which the object has moved in the virtual space 2.
  • the partial diagram A is a diagram illustrating a state in which the horse 1410 in the virtual space 2 has run and the location has moved.
  • the partial diagram B represents a state in which the virtual space 2 is viewed from above (Y direction).
  • the motion sensor 130 detects the operation and moves. Detect direction. For example, when the horse 1410 is running from right to left in the image 1500, the user 190 performs an operation of throwing the right hand to the left front. Therefore, the processor 10 generates a signal so that the view field image is switched to the left direction, and transmits the signal to the monitor 112.
  • FIG. B the orientation of the virtual camera 1 corresponding to the virtual user is switched to a direction centered on the horse 1410.
  • the monitor 112 displays an image in this state, the user 190 can visually recognize the horse 1410 at the center of the image in the virtual space 2 as a virtual user.
  • the user 190 when the rope 1120 is caught by the horse 1410, the user 190 can move the virtual user toward the horse 1410 at high speed by performing an operation of pulling the rope 1120.
  • FIG. 16 is a diagram for explaining a state in which the virtual user has moved to the moving object at a high speed in one aspect.
  • a partial diagram A represents a view field image 1600 viewed by a virtual user.
  • the partial diagram B represents a state in which the virtual space 2 is viewed from above (Y direction).
  • the virtual user can move to the object at high speed.
  • the user 190 pulls the rope 1120, for example, pulls the hand with the motion sensor 130 attached to the front.
  • the processor 10 causes the monitor 112 to display a screen that allows the virtual user to approach the horse 1410 at high speed.
  • a screen that allows the virtual user to approach the horse 1410 at high speed.
  • an image in which the scenery around the virtual user passes behind the virtual user at a high speed is displayed as the view field image.
  • the user 190 who has visually recognized the field-of-view image can predict the moving direction based on his / her own motion even in the virtual space 2, so that VR sickness can be prevented from occurring.
  • the movement direction of the virtual user in the virtual space 2 is displayed based on the movement of the user 190 in the real space, the movement of the user 190 and the movement direction in the virtual space 2 are displayed. And will be linked. As a result, even if a virtual user moves in the virtual space 2, the occurrence of VR sickness for the user 190 who visually recognizes the image at that time can be suppressed. Note that the features disclosed above may be combined as appropriate.
  • FIG. 17 schematically shows a configuration of HMD system 100A according to an embodiment.
  • the HMD system 100A is provided as a home system or a business system. Note that the same components as those in the HMD system 100 described above are denoted by the same reference numerals, and description overlapping with those functions will not be repeated.
  • an HMD system 100A includes the aforementioned HMD device 110, the aforementioned HMD sensor 120, a board 180, and a computer 200A.
  • the HMD device 110 includes the monitor 112 described above and the gaze sensor 140 described above.
  • the board 180 includes a tilt sensor 170.
  • the computer 200A can be connected to the network 19 and can communicate with the server 150 connected to the network 19.
  • the HMD device 110 may include the aforementioned sensor 114 instead of the HMD sensor 120.
  • the HMD system 100A may further include a controller 160A.
  • the controller 160A can include a motion sensor 130A.
  • the controller 160A receives an instruction input from the user 190 to the computer 200A.
  • the controller 160A is configured to be gripped by the user 190.
  • controller 160A is configured to be attachable to the body of user 190 or a part of clothing.
  • the controller 160A may be configured to output at least one of vibration, sound, and light based on a signal sent from the computer 200A.
  • the motion sensor 130A is attached to the user's hand in a certain situation and detects the movement of the user's hand. For example, the motion sensor 130A detects the rotation speed, the number of rotations, and the like of the hand. The detected signal is sent to the computer 200A.
  • the motion sensor 130A is provided in, for example, a glove-type controller 160A. In one embodiment, for safety in real space, it is desirable that the controller 160A is attached to a thing that does not fly easily by being attached to the hand of the user 190, such as a glove shape. In another aspect, a sensor that is not worn by the user 190 may detect the hand movement of the user 190.
  • a signal from a camera that captures the user 190 may be input to the computer 200A as a signal representing the operation of the user 190.
  • the motion sensor 130A and the computer 200A are connected to each other by wire or wirelessly.
  • the communication form is not particularly limited, and for example, Bluetooth (registered trademark) or other known communication methods are used.
  • the tilt sensor 170 is realized by, for example, an acceleration sensor, a touch sensor, or the like.
  • an acceleration sensor is used as the tilt sensor 170 for a member having a spherical bottom, such as the board 180.
  • a touch sensor is arranged on the left and right side walls as a tilt sensor in addition to or instead of the acceleration sensor. May be. In this case, it can be detected that the instrument is tilted toward the side wall touched by the user 190.
  • the board 180 is configured to tilt according to the load acting on the upper surface. For example, in one aspect, an arcuate inclination is formed on the bottom surface of the board 180. In another aspect, the board 180 includes a plurality of springs or other elastic members arranged to transmit the acting load to the floor on which the board 180 is installed.
  • FIG. 18 is a block diagram illustrating an example of a hardware configuration of computer 200A according to one aspect.
  • the computer 200 ⁇ / b> A includes the processor 10, the memory 11, the storage 12, the input / output interface 13, and the communication interface 14 as main components. Each component is connected to the bus 15 described above.
  • the input / output interface 13 communicates signals with the HMD device 110, the HMD sensor 120, the motion sensor 130A, and the tilt sensor 170.
  • the input / output interface 13 is realized using a USB (Universal Serial Bus) interface, DVI (Digital Visual Interface), HDMI (registered trademark) (High-Definition Multimedia Interface), or other terminals.
  • the input / output interface 13 is not limited to that described above.
  • the input / output interface 13 may further communicate with the controller 160A.
  • the input / output interface 13 receives a signal output from the motion sensor 130A.
  • the input / output interface 13 sends the instruction output from the processor 10 to the controller 160A. This command instructs the controller 160A to vibrate, output sound, emit light, and the like.
  • the controller 160A executes vibration, sound output, or light emission according to the command.
  • the processor 10 loads one or more programs stored in the storage 12 into the memory 11 and executes a series of instructions included in the program.
  • the one or more programs may include an operating system of the computer 200A, an application program for providing a virtual space, game software that can be executed in the virtual space using the controller 160A, and the like.
  • the processor 10 sends a signal for providing a virtual space to the HMD device 110 via the input / output interface 13.
  • the HMD device 110 displays an image on the monitor 112 based on the signal.
  • a method for a computer to provide virtual space to a head mounted display device.
  • at least one processor defines a virtual space
  • at least one processor detects a direction in which the user of the head mounted display device is tilted (eg, either left or right or front and back).
  • at least one processor determines a moving direction of a virtual user corresponding to the user 190 in the virtual space based on a direction in which the user 190 is inclined, and the at least one processor is a virtual user in the virtual space. Displaying the field of view on the head-mounted display device so that the field of view moves in the determined moving direction of the virtual user.
  • the step of determining the moving direction includes determining the moving direction according to the time during which the user 190 is inclined.
  • the step of determining the movement direction includes determining the movement direction according to the degree of inclination of the user 190.
  • the method further comprises the step of the at least one processor determining a moving distance of the virtual user in the virtual space based on the detected inclination of the user 190.
  • the step of displaying the visual field includes displaying the visual field so that the visual field of the virtual user moves in the moving direction by the moving distance.
  • a method for a computer to provide virtual space to a head mounted display device includes: at least one processor defining the virtual space; and at least one processor being a user of the head mounted display device. Detecting the direction in which the virtual user is inclined, at least one processor determining a moving distance of the virtual user in the virtual space based on the detected inclination of the user 190, and at least one processor including the virtual Displaying the field of view on the head mounted display device so that the field of view of the virtual user in the space moves by the determined moving distance of the virtual user.
  • the step of determining the movement distance includes determining the movement distance according to a time during which the inclination of the user 190 continues.
  • the step of determining the movement distance includes determining the movement distance according to the degree of inclination of the user 190.
  • the step of detecting the direction in which the user 190 is tilted includes the step of detecting an acceleration based on an action or posture accompanied by weight shift by the user 190.
  • the step of detecting the direction in which the user 190 is tilted includes detecting a load acting from the user 190.
  • the processor defines a virtual space, detects a direction in which a user of the head mounted display device is tilted, and determines a moving direction of the virtual user in the virtual space based on the detected direction.
  • the visual field of the virtual user in the virtual space is determined, and the visual field is displayed on the head mounted display device so that the virtual user's visual field moves in the determined moving direction of the virtual user.
  • the processor is further configured to determine a moving distance of the virtual user in the virtual space based on the detected inclination of the user 190. Displaying the field of view includes displaying the field of view such that the field of view of the virtual user moves in the movement direction by the movement distance.
  • the processor defines a virtual space, detects a direction in which a user of the head mounted display device is tilted, and determines a moving distance of the virtual user in the virtual space based on the detected direction. Then, the field of view of the virtual user in the virtual space is configured to display the field of view on the head mounted display device so as to move by the determined moving distance of the virtual user.
  • Control device for HMD device A control device of the HMD device 110 will be described with reference to FIG.
  • the control device is realized by a computer 200A having a known configuration.
  • FIG. 19 is a block diagram showing a computer 200A according to an embodiment as a module configuration.
  • the computer 200A includes the display control module 220, the virtual space control module 230, the memory module 240, and the communication control module 250.
  • the display control module 220 includes the virtual camera control module 221, the visual field area determination module 222, the visual field image generation module 223, and the reference visual line identification module 224 described above as submodules.
  • the virtual space control module 230 includes, as submodules, the virtual space definition module 231, the virtual object generation module 232, the object control module 233, the movement direction determination module 234, and the movement distance determination module 235. including.
  • the moving direction determination module 234 determines the moving direction of the virtual user in the virtual space 2 based on the output from the tilt sensor 170. According to an embodiment, the movement direction determination module 234 detects a direction in which a load applied by the user 190 acts based on a signal output from the tilt sensor 170, and determines the direction as a direction in which the virtual user should move. .
  • the movement distance determination module 235 determines the movement distance of the virtual user based on the output from the tilt sensor 170. For example, when the board 180 in a horizontal state is tilted, the moving distance determination module 235 determines a moving distance according to the tilt angle. In one aspect, the moving distance determination module 235 determines the moving distance of the virtual user based on the virtual moving distance per tilt angle defined in advance in the program executed by the processor 10 and the tilt angle. . According to another embodiment, the travel distance determination module 235 determines the travel distance of the virtual user based on the time during which the slope continues. For example, the moving distance of the virtual user can be determined based on the product of the virtual moving distance per time specified in advance in the program executed by the processor 10 and the time during which the inclination continues.
  • FIG. 20 is a sequence chart representing a part of processing executed in HMD system 100A according to an embodiment.
  • processes other than step S942A are the same as those described above, and therefore, repeated description will not be repeated.
  • step S940 the processor 10 specifies the viewing direction of the user 190 wearing the HMD device 110 based on the position and inclination of the HMD device 110.
  • the processor 10 executes the application program and displays objects in the virtual space 2 based on instructions included in the application program.
  • the user 190 enjoys content that is visible in the virtual space 2 by executing the application program.
  • the content includes, for example, sports using a bobsled or other sled, skiing, snowboarding, and the like.
  • the user 190 can sit on the board 180 and change his / her posture according to the transition of the image displayed on the monitor 112.
  • step S942A the tilt sensor 170 detects the direction in which the user 190 is tilted.
  • a signal indicating the detected inclination is sent to the computer 200A.
  • the signal includes the tilt angle of the board 180.
  • the tilt sensor 170 detects the tilt direction.
  • step S950 the processor 10 determines the moving direction and moving distance of the virtual user based on the signal output from the tilt sensor 170.
  • the moving direction includes a direction in which a virtual user or a sled or other instrument on which the virtual user is seated travels in the virtual space 2.
  • the processor 10 can determine only the moving direction as the moving direction determination module 234.
  • the processor 10 may determine only the travel distance as the travel distance determination module 235.
  • the processor 10 may be configured to determine the moving direction and moving speed of the virtual user based on a signal output from the tilt sensor 170.
  • the moving speed of the virtual user can be set faster as the inclination angle of the board 180 is larger.
  • step S960 the processor 10 determines the visual field after the movement of the virtual user based on the determined moving direction and moving distance.
  • step S970 the processor 10 determines the position and orientation of the virtual camera 1 in the virtual space 2 based on the determined moving direction and moving distance.
  • step S980 the processor 10 determines the field of view based on the determined position and orientation of the virtual camera 1.
  • the visual field area represents a range in which the virtual user can visually recognize in the virtual space 2.
  • step S990 the computer 200A generates view image data for displaying a view image in accordance with the determined view area, and outputs the generated view image data to the HMD device 110.
  • the field-of-view image data is configured to be able to display an aspect in which the scenery around the virtual user is moving toward the virtual user at high speed so that the virtual user moves at high speed in the determined moving direction.
  • step S992 the monitor 112 of the HMD device 110 updates the view image based on the received view image data, and displays the updated view image.
  • the user 190 can recognize the updated view image, that is, the view after the line of sight moves in the moving direction.
  • FIG. 21 is a flowchart showing a part of processing executed by computer 200A according to the operation of user 190 seated on board 180.
  • step S1010A the processor 10 defines the virtual space 2 in the memory 11 as the virtual space definition module 231.
  • step S1020A the processor 10 determines, based on the signal from the tilt sensor 170, the direction in which the user 190 wearing the HMD device 110 and seated on the board 180 is tilted, specifically, right, left, Detect before or after.
  • step S1030A the processor 10 determines the moving direction of the virtual user traveling in the virtual space 2 based on the inclination of the user 190. For example, when the user 190 leans to the right for a certain time, the processor 10 determines that the virtual user or the vehicle on which the virtual user is seated moves to the right. In another aspect, the processor 10 determines the direction in which the virtual user moves to the right according to the number of times that the user 190 has performed an action of temporarily tilting the body to the right. For example, when the user 190 performs one operation for tilting the body within a predetermined time, the processor 10 determines that the virtual user moves once to the right with respect to the traveling direction. If the user 190 performs the operation ten times, the processor 10 determines that the virtual user moves 10 degrees to the right.
  • the processor 10 determines the moving direction on the left side as in the case of tilting the body to the right side.
  • the tilt sensor 170 can detect that the user 190 has tilted the body forward.
  • the processor 10 may detect that the user 190 has tilted the body forward according to a signal from the tilt sensor 170 and may determine the moving distance based on the tilt angle. For example, when it is preliminarily specified in the program executed by the processor 10 that the virtual user is moved 10 m when a forward tilt of 1 degree is detected, the processor 10 causes the user 190 to move forward. When it is detected that the tilt is 5 degrees, it is determined to move the virtual user 50 m in the virtual space 2.
  • step S1040A the processor 10 causes the HMD device 110 to display a visual field image so that the virtual user's visual field in the virtual space 2 moves in the moving direction determined in step S1030A as the virtual object generation module 232.
  • Field of view image data is generated.
  • the processor 10 generates visual field image data in which a moving distance corresponding to a time during which the user 190 continues to tilt is reflected in addition to the moving direction.
  • the processor 10 transmits the generated view image data to the HMD device 110 and causes the monitor 112 to display the view image based on the view image data.
  • FIG. 22 is a diagram illustrating a mode in which the user 190 is seated on the board 180 in an embodiment.
  • the partial diagram A represents a mode in which the user 190 wearing the HMD device 110 (not shown) is seated on the board 180 while maintaining a horizontal state.
  • the partial diagram B shows a state in which the user 190 moves the weight and the board 180 is tilted to the left as viewed from the user 190.
  • the partial diagram C represents a state in which the user moves the weight and tilts the board 180 to the right as viewed from the user 190.
  • the tilt sensor 170 outputs a signal corresponding to the direction.
  • the output signal is input to the computer 200A.
  • the direction in which the inclination is detected is not limited to the left shown in the division diagram B and the right shown in the division diagram C.
  • the inclination sensor 170 is used when the user 190 moves weight forward.
  • the forward tilt or the backward tilt when the user 190 moves the weight backward can also be detected.
  • FIG. 23 is a diagram illustrating a state in which the user 190 stands on the board 180 in an embodiment.
  • the partial diagram A represents a mode in which the user 190 wearing the HMD device 110 (not shown) is standing on the board 180 while maintaining a horizontal state.
  • the partial diagram B shows a state in which the user 190 moves the weight and the board 180 is tilted to the left as viewed from the user 190.
  • the partial diagram C represents a state in which the user moves the weight and tilts the board 180 to the right as viewed from the user 190.
  • the tilt sensor 170 outputs a signal corresponding to the direction.
  • the output signal is input to the computer 200A.
  • the direction in which the inclination is detected is not limited to the left shown in the division diagram B and the right shown in the division diagram C.
  • the inclination sensor 170 is used when the user 190 moves weight forward.
  • the forward tilt or the backward tilt when the user 190 moves the weight backward can also be detected. Since the user 190 can predict the moving direction of the virtual user in the virtual space 2 according to his / her weight shift, so-called video sickness (VR sickness) can be prevented without impairing the sense of immersion.
  • VR sickness video sickness
  • FIG. 24 is a diagram illustrating an aspect in which a user 190 is seated on a sled 1300A in an embodiment.
  • Touch sensors 1370 and 1371 are arranged on both sides of the sled 1300A. Outputs of the touch sensors 1370 and 1371 are connected to an input interface of the computer 200A.
  • one or more sleds 1300A may be provided at a playground.
  • FIG. A shows a state in which the user 190 wearing the HMD device 110 (not shown) is seated while maintaining a horizontal state on the sled 1300A. At this time, the user 190 is not touching the touch sensors 1370 and 1371.
  • FIG. B shows a state in which the user 190 moves weight and tilts the sled 1300A to the right as viewed from the user 190.
  • the signal output from the touch sensor 1370 is input to the computer 200A.
  • the processor 10 detects that the sled 1300A is tilted to the right. Further, the processor 10 generates view image data so that the user 190 can recognize the view from the right front of the virtual user in the virtual space 2.
  • the processor 10 transmits the view image data to the HMD device 110, and the monitor 112 displays an image based on the view image data. When viewing the image, the user 190 recognizes that the user 190 is moving rightward in the virtual space 2.
  • FIG. C shows a state in which the user 190 moves weight and tilts the sled 1300A to the left as viewed from the user 190.
  • a signal output from the touch sensor 1371 is input to the computer 200A.
  • the processor 10 detects that the sled 1300A is tilted to the left. Further, the processor 10 generates view image data so that the user 190 can recognize the view from the left front of the virtual user in the virtual space 2.
  • the processor 10 transmits the view image data to the HMD device 110, and the monitor 112 displays an image based on the view image data. When viewing the image, the user 190 recognizes that it is moving leftward in the virtual space 2.
  • the tilt sensor 170 may be arranged at the bottom of the sled 1300A as in FIG. 22 or FIG.
  • the user 190 wearing the HMD device 110 is viewing the visual field image 1400A in the virtual space 2 as a virtual user.
  • FIG. 25 is a diagram for explaining a case where the board 180 or the sled 1300A on which the user 190 is seated or standing is maintained horizontally.
  • the processor 10 determines that the user 190 is maintaining a horizontal state based on a signal output from the tilt sensor 170 or the touch sensors 1370 and 1371. Furthermore, the processor 10 generates view image data such that a horizontal image is visually recognized in the virtual space 2, and transmits the view image data to the monitor 112 of the HMD device 110.
  • the monitor 112 displays an image based on the view image data
  • the user 190 recognizes the view image 1400A as a virtual user.
  • the virtual camera 1 corresponding to the virtual user captures the visual field region 23 corresponding to the visual field of the virtual user.
  • FIG. 26 is a diagram for explaining a case where the user 190 who has maintained the horizontal state tilts to the right side and tilts the board 180 or the sled 1300A to the right side.
  • the processor 10 determines that the user 190 is tilted to the right based on a signal output from the tilt sensor 170 or the touch sensors 1370 and 1371. Further, the processor 10 generates view field image data that is recognized as moving to the right side from the place where the virtual user is in the virtual space 2 (see, for example, FIG. 25). For example, the processor 10 generates view image data for displaying a view image in which an image recognized in the virtual space 2 flows from right to left, and transmits the view image data to the HMD device 110.
  • the monitor 112 displays a view field image 1500A based on the view field image data.
  • the tree 1410A displayed on the right in the view field image 1400A has moved to the center of the view field image 1500A.
  • such movement corresponds to the movement of the virtual camera 1 assumed in the virtual space 2 to the front of the tree 1410A, for example.
  • the processor 10 generates view field image data in order to display an image similar to the image recognized in accordance with the movement of the virtual camera 1.
  • Transition from the view image 1400A to the view image 1500A is performed based on the fact that the user 190 has moved the weight to the right side.
  • the user 190 can recognize the movement in the virtual space 2 due to the transition of the view image according to his / her own movement of weight to the right side, so that the inclination of the user 190 and the moving direction in the virtual space 2 are determined. It will be linked. As a result, the occurrence of so-called VR sickness can be suppressed.
  • FIG. 27 is a diagram for explaining a case where the user 190 who has maintained the horizontal state leans to the left and tilts the board 180 or the sled 1300A to the left.
  • the processor 10 determines that the user 190 is tilted to the left based on a signal output from the tilt sensor 170 or the touch sensors 1370 and 1371. Further, the processor 10 generates view field image data that is recognized as moving to the left side from the place (for example, see FIG. 25) where the virtual user is located in the virtual space 2. For example, the processor 10 generates view image data for displaying a view image in which an image recognized in the virtual space 2 flows from left to right, and transmits the view image data to the HMD device 110.
  • the monitor 112 displays a view image 1600A based on the view image data.
  • the mountain 1420A displayed on the left in the view image 1400A has moved to the center of the view image 1600A.
  • such movement corresponds to, for example, the virtual camera 1 assumed in the virtual space 2 moving to the front of the mountain 1420A.
  • the processor 10 generates view field image data in order to display an image similar to the image recognized in accordance with the movement of the virtual camera 1.
  • Transition from the view image 1400A to the view image 1600A is performed based on the fact that the user 190 has moved his / her weight to the left side.
  • the user 190 can recognize the movement in the virtual space 2 due to the transition of the field-of-view image in accordance with his / her own movement of weight to the left, so that the inclination of the user 190 and the movement direction in the virtual space 2 are determined. It will be linked. As a result, the occurrence of so-called VR sickness can be suppressed.
  • FIG. 28 is a diagram for explaining a case where the user 190 who has maintained the horizontal state leans forward and tilts the board 180 forward.
  • the processor 10 determines that the user 190 is tilted forward based on the signal output from the tilt sensor 170. Furthermore, the processor 10 generates view field image data that is recognized as moving forward from the location (for example, see FIG. 25) where the virtual user is located in the virtual space 2. For example, the processor 10 generates visual field image data for displaying a visual field image such that an image recognized in the virtual space 2 approaches at high speed, and transmits the visual field image data to the HMD device 110.
  • the monitor 112 displays a view image 1700 based on the view image data.
  • the tree 1410A and the mountain 1420A that have been displayed small in the distance in the view field image 1400A are each displayed large according to the moving distance in the virtual space 2.
  • the movement distance in the virtual space 2 can be calculated based on, for example, a forward tilt angle by the user 190 and a predetermined movement distance per unit angle in a certain situation.
  • the moving distance may be calculated based on the time during which the forward leaning state has continued and a predetermined moving distance per unit time.
  • the movement of the visual field image in the virtual space 2 corresponds to, for example, the virtual camera 1 assumed in the virtual space 2 moving at high speed toward the tree 1410A or the mountain 1420A.
  • the processor 10 generates view field image data in order to display an image similar to the image recognized in accordance with the movement of the virtual camera 1.
  • Transition from the view image 1400A to the view image 1700 is performed based on the fact that the user 190 has moved the weight forward. Since the user 190 can recognize the movement in the virtual space 2 according to his / her own movement of weight, the inclination of the user 190 and the moving direction in the virtual space 2 are linked. As a result, the occurrence of so-called VR sickness can be suppressed.
  • FIG. 29 is a diagram for explaining a case where the user 190 who has maintained the horizontal state tilts rearward and tilts the board 180 rearward.
  • the processor 10 determines that the user 190 is tilted backward based on the signal output from the tilt sensor 170. Further, the processor 10 generates view field image data that is recognized as moving backward from the location (for example, see FIG. 25) where the virtual user is located in the virtual space 2. For example, the processor 10 generates visual field image data for displaying a visual field image such that an image recognized in the virtual space 2 moves away at high speed, and transmits the visual field image data to the HMD device 110.
  • the monitor 112 displays a view field image 1800 based on the view field image data.
  • the tree 1410A and the mountain 1420A displayed in the view field image 1400A are each displayed smaller than the case shown in FIG.
  • the tree 1410 ⁇ / b> A and the mountain 1420 ⁇ / b> A are displayed small according to the moving distance in the virtual space 2.
  • the movement distance in the virtual space 2 can be calculated based on, for example, an angle of backward tilt by the user 190 and a movement distance per predetermined unit angle in a certain situation.
  • the movement distance may be calculated based on a time during which the backward tilt state has continued and a predetermined movement distance per unit time.
  • the movement of the view field image in the virtual space 2 corresponds to, for example, the virtual camera 1 assumed in the virtual space 2 moving at a high speed in a direction away from the tree 1410A and the mountain 1420A.
  • the processor 10 generates view field image data in order to display an image similar to the image recognized in accordance with the movement of the virtual camera 1.
  • the transition from the view image 1400A to the view image 1800 is performed based on the fact that the user 190 has moved his weight later. Since the user 190 can recognize the movement in the virtual space 2 according to his / her own movement of weight movement, the inclination of the user 190 and the moving direction in the virtual space 2 are linked as in the case of the forward inclination. . As a result, the occurrence of so-called VR sickness can be suppressed.
  • the moving direction of the virtual user in the virtual space 2 is determined based on the direction in which the user 190 is inclined in the real space, the inclination of the user 190 and the virtual space 2 are determined.
  • the movement direction in is linked.
  • the virtual user moves forward or backward in the direction of the reference line of sight 5 of the virtual camera 1 in the virtual space 2.
  • the moving distance is calculated as moving, and the virtual camera 1 can be rotated around the yaw direction (v-axis) according to the degree of inclination by which the user tilts the board 180 to the right or left.
  • a method for a computer to provide virtual space to a head mounted display device comprising: Defining a virtual space; Detecting a direction in which a user of the head mounted display device is tilted; Determining the direction of movement of the user in the virtual space based on the detected tilted direction; Causing the head-mounted display device to display the field of view so that the field of view of the user in the virtual space moves in the determined direction of movement of the user.
  • the step of determining the moving direction includes determining the moving direction according to a time during which the user's inclination continues.
  • step 3 The method according to claim 1, wherein the step of determining the moving direction includes determining the moving direction according to a direction in which the user is inclined.
  • step 4 Determining a moving distance of the user in the virtual space based on the detected inclination of the user; The method according to any one of items 1 to 3, wherein the step of displaying the field of view includes displaying the field of view so that the field of view of the user moves in the moving direction by the moving distance.
  • a method for a computer to provide virtual space to a head mounted display device comprising: Defining a virtual space; Detecting a tilt of a user of the head mounted display device; Determining a moving distance of the user in the virtual space based on the detected inclination of the user; Displaying the field of view on the head-mounted display device so that the field of view of the user in the virtual space moves by the determined movement distance of the user.
  • the method according to item 4 or 5, wherein the step of determining the movement distance includes determining the movement distance according to a time during which the inclination of the user continues. (Item 7) 6.
  • the method according to item 4 or 5, wherein the step of determining the moving distance includes determining the moving distance according to a degree of inclination of the user.
  • the step of detecting the inclination of the user includes a step of detecting an acceleration based on an action or posture accompanied by weight movement by the user.
  • the step of detecting the user's inclination includes detecting a load acting from the user.
  • a system A head-mounted display device; A computer for providing a virtual space to the head mounted display device; A sensor for detecting that the user of the head mounted display device is tilted, The computer A memory for storing a series of instructions; A processor for executing the series of instructions, When the sequence of instructions is executed by the processor, The processor is Define a virtual space, Detecting the direction in which the user of the head-mounted display device is tilted; Based on the tilted direction, determine the direction of movement of the user in the virtual space, A system configured to display the field of view on the head mounted display device so that the field of view of the user in the virtual space moves in the determined moving direction of the user.
  • the processor is further configured to determine a distance traveled by the user in the virtual space based on the detected inclination of the user; 12.
  • displaying the field of view includes displaying the field of view so that the field of view of the user moves in the moving direction by the moving distance.
  • a system A head-mounted display device; A computer for providing a virtual space to the head mounted display device; A sensor for detecting a tilt of a user of the head mounted display device, The computer A memory for storing a series of instructions; A processor for executing the series of instructions, When the sequence of instructions is executed by the processor, The processor is Define a virtual space, Detecting the tilt of the user of the head mounted display device; Determining the moving distance of the user in the virtual space based on the detected inclination of the user; The system configured to display the field of view on the head mounted display device such that the field of view of the user in the virtual space moves by the determined moving distance of the user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Cardiology (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Computing Systems (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

仮想現実の提供の際に映像酔い(VR酔い)が低減される技術を提供する。仮想現実を提供するコンピュータのプロセッサが実行する処理は、メモリにおいて仮想空間を定義するステップ(S1010)と、HMD装置を装着したユーザの動作を検出するステップ(S1020)と、ユーザの動作に基づいて、仮想空間を飛翔する物体の飛翔方向を決定するステップ(S1030)と、仮想空間におけるユーザの視界が飛翔方向に移動するように、HMD装置に視界画像を表示させるための視界画像データを生成し、生成した視界画像データに基づいて視界画像をモニタに表示させるステップ(S1040)と、物体が仮想空間の対象物に到達した場合に(ステップS1050にてYES)、仮想ユーザの位置を対象物まで高速に移動させるステップ(S1060)とを含む。

Description

仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
 本開示は仮想現実を提供する技術に関し、より特定的には、仮想現実における映像酔いを低減する技術に関する。
 ヘッドマウントディスプレイ(HMD)装置を用いて仮想現実を提供する技術が知られている。仮想現実を提供する際、所謂VR(Virtual Reality)酔い(Virtual Reality Sickness)と呼ばれる映像酔いが生じる場合がある。そのため、映像酔いを低減するための技術が必要とされている。
 例えば、特許第5,869,177号公報(特許文献1)は、「ユーザが没入する仮想空間の視野画像をヘッドマウント・ディスプレイに提供するときに、HMDの装着者が視認する情報量を抑える画像生成を行う」技術を開示している([要約]参照)。
 また、特開2007-116309号公報(特許文献2)は、「撮影者が行っているパーンやチルト方向の動作を的確に判断して画像ぼけを適切に制御する」ための技術を開示している([要約]参照)。
特許第5,869,177号公報 特開2007-116309号公報
 仮想現実の適用対象の一つにHMD装置を装着したユーザの動作、例えば手の動作を利用したゲームがある。そのため、ユーザの動作に応じて映像酔いを低減する技術が必要とされている。
 本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、仮想現実の提供の際に映像酔い(VR酔い)が低減される方法を提供することである。他の局面における目的は、仮想現実の提供の際に映像酔いが低減されるプログラムを提供することである。さらに他の局面における目的は、仮想現実の提供の際に映像酔いが低減されるシステムを提供することである。
 ある実施の形態に従うと、コンピュータがヘッドマウントディスプレイ装置に仮想空間を提供するための方法が提供される。この方法は、コンピュータのプロセッサが、仮想空間を定義するステップと、プロセッサが、ヘッドマウントディスプレイ装置のユーザの動作に応じて仮想空間を飛翔する物体の飛翔方向を、ユーザの動作に基づいて決定するステップと、プロセッサが、仮想空間におけるユーザの視界が飛翔方向に移動するように、ヘッドマウントディスプレイ装置に視界を表示させるステップとを含む。
 この発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解されるこの発明に関する次の詳細な説明から明らかとなるであろう。
ある実施の形態に従うHMDシステム100の構成の概略を表す図である。 一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。 ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。 ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。 ある実施の形態に従うHMD装置110を装着するユーザ190の頭部を上から表した図である。 仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。 仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。 ある実施の形態に従うコンピュータ200によって実現される機能的構成を表わすブロック図である。 ある実施の形態に従うHMDシステム100において実行される処理の一部を表わすシーケンスチャートである。 仮想空間2において仮想ユーザが投げ輪その他の物体を対象物に投げる場合にコンピュータ200が実行する処理の一部を表わすフローチャートである。 仮想空間2に山と木が存在している状態を表す図である。 仮想ユーザがロープ1120を木1110に向かって投げた時の状態を説明するための図である。 ロープ1120の輪が木1110に引っかかったことに応答して、仮想ユーザが木1110の付近に移動したことを説明するための図である。 仮想空間2に山が存在しており、かつ、馬が走っている状態を表す図である。 仮想空間2において対象物が移動した状態を表示する画像1500を表す図である。 一局面において仮想ユーザが移動物に高速に移動した状態を説明するための図である。 ある実施の形態に従うHMDシステム100Aの構成の概略を表す図である。 一局面に従うコンピュータ200Aのハードウェア構成の一例を表すブロック図である。 ある実施の形態に従うコンピュータ200Aをモジュール構成として表わすブロック図である。 ある実施の形態に従うHMDシステム100Aにおいて実行される処理の一部を表わすシーケンスチャートである。 ボード180に着座したユーザ190の動作に応じてコンピュータ200Aが実行する処理の一部を表わすフローチャートである。 ある実施の形態において、ユーザ190がボード180に着座している態様を表す図である。 ある実施の形態において、ユーザ190がボード180に立っている態様を表す図である。 ある実施の形態において、ユーザ190がそり1300Aに着座している態様を表す図である。 ユーザ190が着座して又は立っているボード180またはそり1300Aが水平に維持されている場合を説明するための図である。 水平状態を維持していたユーザ190が右側に傾いて、ボード180またはそり1300Aを右側に傾けた場合を説明するための図である。 水平状態を維持していたユーザ190が左側に傾いて、ボード180またはそり1300Aを左側に傾けた場合を説明するための図である。 水平状態を維持していたユーザ190が前に傾いて、ボード180を前方に傾けた場合を説明するための図である。 水平状態を維持していたユーザ190が後方に傾いて、ボード180を後方に傾けた場合を説明するための図である。
 以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
 [HMDシステムの構成]
 図1を参照して、HMD(Head Mount Display)システム100の構成について説明する。図1は、ある実施の形態に従うHMDシステム100の構成の概略を表す図である。ある局面において、HMDシステム100は、家庭用のシステムとしてあるいは業務用のシステムとして提供される。
 図1に示されるように、ある実施の形態に従うHMDシステム100は、HMD装置110と、HMDセンサ120と、コントローラ160と、コンピュータ200とを備える。HMD装置110は、モニタ112と、注視センサ140とを含む。コントローラ160は、モーションセンサ130を含む。ある局面において、コンピュータ200は、ネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150と通信可能である。別の局面において、HMD装置110は、HMDセンサ120の代わりに、センサ114を含み得る。
 ある実施の形態に従うHMD装置110は、ユーザの頭部に装着され、動作中に仮想空間をユーザに提供し得る。より具体的には、HMD装置110は、右目用の画像および左目用の画像をモニタ112にそれぞれ表示する。ユーザの各目がそれぞれの画像を視認すると、ユーザは、両目の視差に基づき当該画像を3次元の画像として認識し得る。
 モニタ112は、例えば、非透過型の表示装置として実現される。ある局面において、モニタ112は、ユーザの両目の前方に位置するようにHMD装置110の本体に配置されている。したがって、ユーザは、モニタ112に表示される3次元画像を視認すると、仮想空間に没入することができる。ある実施の形態において、仮想空間は、例えば、背景、ユーザが操作可能なオブジェクト、ユーザが選択可能なメニューの画像を含む。ある実施の形態において、モニタ112は、所謂スマートフォンその他の情報表示端末が備える液晶モニタまたは有機EL(Electro Luminescence)モニタとして実現され得る。
 ある局面において、モニタ112は、右目用の画像を表示するためのサブモニタと、左目用の画像を表示するためのサブモニタとを含み得る。別の局面において、モニタ112は、右目用の画像と左目用の画像とを一体として表示する構成であってもよい。この場合、モニタ112は、高速シャッタを含む。高速シャッタは、画像がいずれか一方の目にのみ認識されるように、右目用の画像と左目用の画像とを交互に表示可能に作動する。
 HMDセンサ120は、複数の光源(図示しない)を含む。各光源は例えば、赤外線を発するLEDにより実現される。HMDセンサ120は、HMD装置110の動きを検出するためのポジショントラッキング機能を有する。HMDセンサ120は、この機能を用いて、現実空間内におけるHMD装置110の位置および傾きを検出する。
 なお、別の局面において、HMDセンサ120は、カメラにより実現されてもよい。この場合、HMDセンサ120は、カメラから出力されるHMD装置110の画像情報を用いて、画像解析処理を実行することにより、HMD装置110の位置および傾きを検出することができる。
 別の局面において、HMD装置110は、位置検出器として、HMDセンサ120の代わりに、センサ114を備えてもよい。HMD装置110は、センサ114を用いて、HMD装置110自身の位置および傾きを検出し得る。例えば、センサ114が角速度センサ、地磁気センサ、加速度センサ、あるいはジャイロセンサ等である場合、HMD装置110は、HMDセンサ120の代わりに、これらの各センサのいずれかを用いて、自身の位置および傾きを検出し得る。一例として、センサ114が角速度センサである場合、角速度センサは、現実空間におけるHMD装置110の3軸周りの角速度を経時的に検出する。HMD装置110は、各角速度に基づいて、HMD装置110の3軸周りの角度の時間的変化を算出し、さらに、角度の時間的変化に基づいて、HMD装置110の傾きを算出する。
 モーションセンサ130は、ある局面において、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ130は、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ200に送られる。モーションセンサ130は、例えば、手袋型のコントローラ160に設けられている。ある実施の形態において、現実空間における安全のため、コントローラ160は、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の局面において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。例えば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表わす信号として、コンピュータ200に入力されてもよい。モーションセンサ130とコンピュータ200とは、有線により、または無線により互いに接続される。無線の場合、通信形態
は特に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。
 注視センサ140は、ユーザ190の右目および左目の視線が向けられる方向(視線方向)を検出する。当該方向の検出は、例えば、公知のアイトラッキング機能によって実現される。注視センサ140は、当該アイトラッキング機能を有するセンサにより実現される。ある局面において、注視センサ140は、右目用のセンサおよび左目用のセンサを含むことが好ましい。注視センサ140は、例えば、ユーザ190の右目および左目に赤外光を照射するとともに、照射光に対する角膜および虹彩からの反射光を受けることにより各眼球の回転角を検出するセンサであってもよい。注視センサ140は、検出した各回転角に基づいて、ユーザ190の視線方向を検知することができる。
 サーバ150は、コンピュータ200にプログラムを送信し得る。別の局面において、サーバ150は、他のユーザによって使用されるHMD装置に仮想現実を提供するための他のコンピュータ200と通信し得る。例えば、アミューズメント施設において、複数のユーザが参加型のゲームを行なう場合、各コンピュータ200は、各ユーザの動作に基づく信号を他のコンピュータ200と通信して、同じ仮想空間において複数のユーザが共通のゲームを楽しむことを可能にする。
 [ハードウェア構成]
 図2を参照して、本実施の形態に係るコンピュータ200について説明する。図2は、一局面に従うコンピュータ200のハードウェア構成の一例を表すブロック図である。コンピュータ200は、主たる構成要素として、プロセッサ10と、メモリ11と、ストレージ12と、入出力インターフェイス13と、通信インターフェイス14とを備える。各構成要素は、それぞれ、バス15に接続されている。
 プロセッサ10は、コンピュータ200に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ11またはストレージ12に格納されているプログラムに含まれる一連の命令を実行する。ある局面において、プロセッサ10は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field-Programmable Gate Array)その他のデバイスとして実現される。
 メモリ11は、プログラムおよびデータを一時的に保存する。プログラムは、例えば、ストレージ12からロードされる。データは、コンピュータ200に入力されたデータと、プロセッサ10によって生成されたデータとを含む。ある局面において、メモリ11は、RAM(Random Access Memory)その他の揮発メモリとして実現される。
 ストレージ12は、プログラムおよびデータを永続的に保持する。ストレージ12は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。ストレージ12に格納されるプログラムは、HMDシステム100において仮想空間を提供するためのプログラム、シミュレーションプログラム、ゲームプログラム、ユーザ認証プログラム、他のコンピュータ200との通信を実現するためのプログラムを含む。ストレージ12に格納されるデータは、仮想空間を規定するためのデータおよびオブジェクト等を含む。
 なお、別の局面において、ストレージ12は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに別の局面において、コンピュータ200に内蔵されたストレージ12の代わりに、外部の記憶装置に保存されているプログラムおよびデータを使用する構成が使用されてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のHMDシステム100が使用される場面において、プログラムやデー
タの更新を一括して行なうことが可能になる。
 入出力インターフェイス13は、HMD装置110、HMDセンサ120、モーションセンサ130、サーバ150との間で信号を通信する。ある局面において、入出力インターフェイス13は、USB(Universal Serial Bus)インターフェイス、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実現される。なお、入出力インターフェイス13は上述のものに限られない。
 通信インターフェイス14は、ネットワーク19に接続されて、ネットワーク19に接続されている他のコンピュータ(例えば、サーバ150)と通信する。ある局面において、通信インターフェイス14は、例えば、LAN(Local Area Network)その他の有線通信インターフェイス、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)その他の無線通信インターフェイスとして実現される。なお、通信インターフェイス14は上述のものに限られない。
 ある局面において、プロセッサ10は、ストレージ12に格納されている1つ以上のプログラムをメモリ11にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200のオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、コントローラ160を用いて仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ10は、入出力インターフェイス13を介して、仮想空間を提供するための信号をHMD装置110に送る。HMD装置110は、その信号に基づいてモニタ112に映像を表示する。
 なお、図2に示される例では、コンピュータ200は、HMD装置110の外部に設けられる構成が示されているが、別の局面において、コンピュータ200は、HMD装置110に内蔵されてもよい。一例として、モニタ112を含む携帯型の情報通信端末(例えば、スマートフォン)がコンピュータ200として機能してもよい。
 また、コンピュータ200は、複数のHMD装置110に共通して用いられる構成であってもよい。このような構成によれば、例えば、複数のユーザに同一の仮想空間を提供することもできるので、各ユーザは同一の仮想空間で他のユーザと同一のアプリケーションを楽しむことができる。
 ある実施の形態において、HMDシステム100では、グローバル座標系が予め設定されている。グローバル座標系は、現実空間における鉛直方向、鉛直方向に直交する水平方向、ならびに、鉛直方向および水平方向の双方に直交する前後方向にそれぞれ平行な、3つの基準方向(軸)を有する。本実施の形態では、グローバル座標系は視点座標系の一つである。そこで、グローバル座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれ、x軸、y軸、z軸と規定される。より具体的には、グローバル座標系において、x軸は現実空間の水平方向に平行である。y軸は、現実空間の鉛直方向に平行である。z軸は現実空間の前後方向に平行である。
 ある局面において、HMDセンサ120は、赤外線センサを含む。赤外線センサが、HMD装置110の各光源から発せられた赤外線をそれぞれ検出すると、HMD装置110の存在を検出する。HMDセンサ120は、さらに、各点の値(グローバル座標系における各座標値)に基づいて、HMD装置110を装着したユーザの動きに応じた、現実空間内におけるHMD装置110の位置および傾きを検出する。より詳しくは、HMDセンサ120は、経時的に検出された各値を用いて、HMD装置110の位置および傾きの時間的変化を検出できる。
 グローバル座標系は現実空間の座標系と平行である。したがって、HMDセンサ120によって検出されたHMD装置110の各傾きは、グローバル座標系におけるHMD装置110の3軸周りの各傾きに相当する。HMDセンサ120は、グローバル座標系におけるHMD装置110の傾きに基づき、uvw視野座標系をHMD装置110に設定する。HMD装置110に設定されるuvw視野座標系は、HMD装置110を装着したユーザが仮想空間において物体を見る際の視点座標系に対応する。
 [開示された実施の形態の構成の概要]
 (構成1)ある実施の形態において、コンピュータ200がHMD装置110に仮想空間2を提供するための方法が提供される。この方法は、コンピュータ200のプロセッサ10が、仮想空間2を定義する処理と、プロセッサ10が、HMD装置110のユーザ190の動作に応じて仮想空間2を飛翔する物体の飛翔方向を、ユーザ190の動作に基づいて決定する処理と、プロセッサ10が、仮想空間2におけるユーザ190の視界が飛翔方向に移動するように、HMD装置110に視界を表示させる処理とを含む。
 (構成2)好ましくは、ある実施の形態において、構成1に加えて、決定する処理は、ユーザ190の動作に基づいて、仮想空間2における物体の飛翔距離を決定する処理を含む。HMD装置110に視界を表示させる処理は、仮想空間2において飛翔距離に応じて移動した位置からの視界をモニタ112に表示させる処理を含む。
 (構成3)好ましくは、ある実施の形態において、構成1または2に加えて、当該方法は、物体が仮想空間2内の対象物に到達した場合に、プロセッサ10が、仮想空間2におけるユーザ190を当該対象物まで移動させる処理をさらに含む。
 (構成4)好ましくは、ある実施の形態において、構成3に加えて、ユーザ190を対象物まで移動させる処理は、物体が静止物に到達した場合に、仮想空間2においてユーザ190を当該静止物まで移動させることを含む。
 (構成5)好ましくは、ある実施の形態において、構成3に加えて、ユーザ190を対象物まで移動させる処理は、物体が移動物に到達した場合に、移動物の進行方向にユーザ190を移動させることを含む。
 (構成6)好ましくは、ある実施の形態において、構成3~5のいずれかに加えて、ユーザ190を当該対象物まで移動させる処理は、仮想空間2におけるユーザ190の周りの風景がユーザ190に接近するようにHMD装置110に視界を表示させることを含む。
 (構成7)好ましくは、ある実施の形態において、構成1または2に加えて、物体が仮想空間2内の対象物に到達した場合に、プロセッサ10が、対象物がユーザ190の方に引き寄せられるようにユーザ190の視界をHMD装置110に表示させる処理をさらに含む。
 (構成8)好ましくは、ある実施の形態において、構成1~7のいずれかに加えて、物体の飛翔方向を決定する処理は、ユーザ190の手の動きに応じた物理量に基づいて、または、コンピュータ200に接続されたコントローラに対する操作に基づいて、物体の飛翔方向を決定することを含む。
 (構成9)好ましくは、ある実施の形態において、構成1~8のいずれかに加えて、物体の飛翔距離を決定する処理は、ユーザ190の手の動きに応じた物理量に基づいて、または、コンピュータ200に接続されたコントローラに対する操作に基づいて、物体の飛翔距離を決定することを含む。
 (構成10)ある実施の形態に従うHMDシステム100は、HMD装置110と、HMD装置110に仮想空間2を提供するためのコンピュータ200とを備える。コンピュータ200は、一連の命令を格納するためのメモリと一連の命令を実行するためのプロセッサ10とを備えている。一連の命令がプロセッサ10によって実行されると、プロセッサ10は、仮想空間2を定義し、HMD装置110のユーザ190の動作に応じて仮想空間2を飛翔する物体の飛翔方向を、ユーザ190の動作に基づいて決定し、仮想空間2におけるユーザ190の視界が飛翔方向に移動するように、HMD装置110に視界を表示させるように構成されている。
 [uvw視野座標系]
 図3を参照して、uvw視野座標系について説明する。図3は、ある実施の形態に従うHMD装置110に設定されるuvw視野座標系を概念的に表す図である。HMDセンサ120は、HMD装置110の起動時に、グローバル座標系におけるHMD装置110の位置および傾きを検出する。プロセッサ10は、検出された値に基づいて、uvw視野座標系をHMD装置110に設定する。
 図3に示されるように、HMD装置110は、HMD装置110を装着したユーザの頭部を中心(原点)とした3次元のuvw視野座標系を設定する。より具体的には、HMD装置110は、グローバル座標系を規定する水平方向、鉛直方向、および前後方向(x軸、y軸、z軸)を、グローバル座標系内においてHMD装置110の各軸周りの傾きだけ各軸周りにそれぞれ傾けることによって新たに得られる3つの方向を、HMD装置110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)として設定する。
 ある局面において、HMD装置110を装着したユーザ190が直立し、かつ、正面を視認している場合、プロセッサ10は、グローバル座標系に平行なuvw視野座標系をHMD装置110に設定する。この場合、グローバル座標系における水平方向(x軸)、鉛直方向(y軸)、および前後方向(z軸)は、HMD装置110におけるuvw視野座標系のピッチ方向(u軸)、ヨー方向(v軸)、およびロール方向(w軸)に一致する。
 uvw視野座標系がHMD装置110に設定された後、HMDセンサ120は、HMD装置110の動きに基づいて、設定されたuvw視野座標系におけるHMD装置110の傾き(傾きの変化量)を検出できる。この場合、HMDセンサ120は、HMD装置110の傾きとして、uvw視野座標系におけるHMD装置110のピッチ角(θu)、ヨー角(θv)、およびロール角(θw)をそれぞれ検出する。ピッチ角(θu)は、uvw視野座標系におけるピッチ方向周りのHMD装置110の傾き角度を表す。ヨー角(θv)は、uvw視野座標系におけるヨー方向周りのHMD装置110の傾き角度を表す。ロール角(θw)は、uvw視野座標系におけるロール方向周りのHMD装置110の傾き角度を表す。
 HMDセンサ120は、検出されたHMD装置110の傾き角度に基づいて、HMD装置110が動いた後のHMD装置110におけるuvw視野座標系を、HMD装置110に設定する。HMD装置110と、HMD装置110のuvw視野座標系との関係は、HMD装置110の位置および傾きに関わらず、常に一定である。HMD装置110の位置および傾きが変わると、当該位置および傾きの変化に連動して、グローバル座標系におけるHMD装置110のuvw視野座標系の位置および傾きが変化する。
 ある局面において、HMDセンサ120は、赤外線センサからの出力に基づいて取得される赤外線の光強度および複数の点間の相対的な位置関係(例えば、各点間の距離など)に基づいて、HMD装置110の現実空間内における位置を、HMDセンサ120に対する相対位置として特定してもよい。また、プロセッサ10は、特定された相対位置に基づいて、現実空間内(グローバル座標系)におけるHMD装置110のuvw視野座標系の原点を決定してもよい。
 [仮想空間]
 図4を参照して、仮想空間についてさらに説明する。図4は、ある実施の形態に従う仮想空間2を表現する一態様を概念的に表す図である。仮想空間2は、中心21の360度方向の全体を覆う全天球状の構造を有する。図4では、説明を複雑にしないために、仮想空間2のうちの上半分の天球が例示されている。仮想空間2では各メッシュが規定される。各メッシュの位置は、仮想空間2に規定されるXYZ座標系における座標値として予め規定されている。コンピュータ200は、仮想空間2に展開可能なコンテンツ(静止画、動画等)を構成する各部分画像を、仮想空間2において対応する各メッシュにそれぞれ対応付けて、ユーザによって視認可能な仮想空間画像22が展開される仮想空間2をユーザに提供する。
 ある局面において、仮想空間2では、中心21を原点とするXYZ座標系が規定される。XYZ座標系は、例えば、グローバル座標系に平行である。XYZ座標系は視点座標系の一種であるため、XYZ座標系における水平方向、鉛直方向(上下方向)、および前後方向は、それぞれX軸、Y軸、Z軸として規定される。したがって、XYZ座標系のX軸(水平方向)がグローバル座標系のx軸と平行であり、XYZ座標系のY軸(鉛直方向)がグローバル座標系のy軸と平行であり、XYZ座標系のZ軸(前後方向)がグローバル座標系のz軸と平行である。
 HMD装置110の起動時、すなわちHMD装置110の初期状態において、仮想カメラ1が、仮想空間2の中心21に配置される。仮想カメラ1は、現実空間におけるHMD装置110の動きに連動して、仮想空間2を同様に移動する。これにより、現実空間におけるHMD装置110の位置および向きの変化が、仮想空間2において同様に再現される。
 仮想カメラ1には、HMD装置110の場合と同様に、uvw視野座標系が規定される。仮想空間2における仮想カメラのuvw視野座標系は、現実空間(グローバル座標系)におけるHMD装置110のuvw視野座標系に連動するように規定されている。したがって、HMD装置110の傾きが変化すると、それに応じて、仮想カメラ1の傾きも変化する。また、仮想カメラ1は、HMD装置110を装着したユーザの現実空間における移動に連動して、仮想空間2において移動することもできる。
 仮想カメラ1の向きは、仮想カメラ1の位置および傾きに応じて決まるので、ユーザが仮想空間画像22を視認する際に基準となる視線(基準視線5)は、仮想カメラ1の向きに応じて決まる。コンピュータ200のプロセッサ10は、基準視線5に基づいて、仮想空間2における視界領域23を規定する。視界領域23は、仮想空間2のうち、HMD装置110を装着したユーザの視界に対応する。
 注視センサ140によって検出されるユーザ190の視線方向は、ユーザ190が物体を視認する際の視点座標系における方向である。HMD装置110のuvw視野座標系は、ユーザ190がモニタ112を視認する際の視点座標系に等しい。また、仮想カメラ1のuvw視野座標系は、HMD装置110のuvw視野座標系に連動している。したがって、ある局面に従うHMDシステム100は、注視センサ140によって検出されたユーザ190の視線方向を、仮想カメラ1のuvw視野座標系におけるユーザの視線方向とみなすことができる。
 [ユーザの視線]
 図5を参照して、ユーザの視線方向の決定について説明する。図5は、ある実施の形態に従うHMD装置110を装着するユーザ190の頭部を上から表した図である。
 ある局面において、注視センサ140は、ユーザ190の右目および左目の各視線を検出する。ある局面において、ユーザ190が近くを見ている場合、注視センサ140は、視線R1およびL1を検出する。別の局面において、ユーザ190が遠くを見ている場合、注視センサ140は、視線R2およびL2を検出する。この場合、ロール方向wに対して視線R2およびL2がなす角度は、ロール方向wに対して視線R1およびL1がなす角度よりも小さい。注視センサ140は、検出結果をコンピュータ200に送信する。
 コンピュータ200が、視線の検出結果として、視線R1およびL1の検出値を注視センサ140から受信した場合には、その検出値に基づいて、視線R1およびL1の交点である注視点N1を特定する。一方、コンピュータ200は、視線R2およびL2の検出値を注視センサ140から受信した場合には、視線R2およびL2の交点を注視点として特定する。コンピュータ200は、特定した注視点N1の位置に基づき、ユーザ190の視線方向N0を特定する。コンピュータ200は、例えば、ユーザ190の右目Rと左目Lとを結ぶ直線の中点と、注視点N1とを通る直線の延びる方向を、視線方向N0として検出する。視線方向N0は、ユーザ190が両目により実際に視線を向けている方向である。また、視線方向N0は、視界領域23に対してユーザ190が実際に視線を向けている方向に相当する。
 別の局面において、HMDシステム100は、HMDシステム100を構成するいずれかのパーツに、マイクおよびスピーカを備えてもよい。ユーザは、マイクに発話することにより、仮想空間2に対して、音声による指示を与えることができる。
 また、別の局面において、HMDシステム100は、テレビジョン放送受信チューナを備えてもよい。このような構成によれば、HMDシステム100は、仮想空間2においてテレビ番組を表示することができる。
 さらに別の局面において、HMDシステム100は、インターネットに接続するための通信回路、あるいは、電話回線に接続するための通話機能を備えていてもよい。
 [視界領域]
 図6および図7を参照して、視界領域23について説明する。図6は、仮想空間2において視界領域23をX方向から見たYZ断面を表す図である。図7は、仮想空間2において視界領域23をY方向から見たXZ断面を表す図である。
 図6に示されるように、YZ断面における視界領域23は、領域24を含む。領域24は、仮想カメラ1の基準視線5と仮想空間2のYZ断面とによって定義される。プロセッサ10は、仮想空間おける基準視線5を中心として極角αを含む範囲を、領域24として規定する。
 図7に示されるように、XZ断面における視界領域23は、領域25を含む。領域25は、基準視線5と仮想空間2のXZ断面とによって定義される。プロセッサ10は、仮想空間2における基準視線5を中心とした方位角βを含む範囲を、領域25として規定する。
 ある局面において、HMDシステム100は、コンピュータ200からの信号に基づいて、視界画像26をモニタ112に表示させることにより、ユーザ190に仮想空間を提供する。視界画像26は、仮想空間画像22のうち視界領域23に重畳する部分に相当する。ユーザ190が、頭に装着したHMD装置110を動かすと、その動きに連動して仮想カメラ1も動く。その結果、仮想空間2における視界領域23の位置が変化する。これにより、モニタ112に表示される視界画像26は、仮想空間画像22のうち、仮想空間2においてユーザが向いた方向の視界領域23に重畳する画像に更新される。ユーザは、仮想空間2における所望の方向を視認することができる。
 ユーザ190は、HMD装置110を装着している間、現実世界を視認することなく、仮想空間2に展開される仮想空間画像22のみを視認できる。そのため、HMDシステム100は、仮想空間2への高い没入感覚をユーザに与えることができる。
 ある局面において、プロセッサ10は、HMD装置110を装着したユーザ190の現実空間における移動に連動して、仮想空間2において仮想カメラ1を移動し得る。この場合、プロセッサ10は、仮想空間2における仮想カメラ1の位置および向きに基づいて、HMD装置110のモニタ112に投影される画像領域(すなわち、仮想空間2における視界領域23)を特定する。
 ある実施の形態に従うと、仮想カメラ1は、二つの仮想カメラ、すなわち、右目用の画像を提供するための仮想カメラと、左目用の画像を提供するための仮想カメラとを含むことが望ましい。また、ユーザ190が3次元の仮想空間2を認識できるように、適切な視差が、二つの仮想カメラに設定されていることが好ましい。本実施の形態においては、仮想カメラ1が二つの仮想カメラを含み、二つの仮想カメラのロール方向が合成されることによって生成されるロール方向(w)がHMD装置110のロール方向(w)に適合されるように構成されているものとして、本開示に係る技術思想を例示する。
 [HMD装置の制御装置]
 図8を参照して、HMD装置110の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200によって実現される。図8は、ある実施の形態に従うコンピュータ200をモジュール構成として表わすブロック図である。
 図8に示されるように、コンピュータ200は、表示制御モジュール220と、仮想空間制御モジュール230と、メモリモジュール240と、通信制御モジュール250とを備える。表示制御モジュール220は、サブモジュールとして、仮想カメラ制御モジュール221と、視界領域決定モジュール222と、視界画像生成モジュール223と、基準視線特定モジュール224とを含む。仮想空間制御モジュール230は、サブモジュールとして、仮想空間定義モジュール231と、仮想オブジェクト生成モジュール232と、物体制御モジュール233とを含む。メモリモジュール240は、空間情報241と、オブジェクト情報242と、ユーザ情報243とを保持している。
 ある実施の形態において、表示制御モジュール220と仮想空間制御モジュール230とは、プロセッサ10によって実現される。別の実施の形態において、複数のプロセッサ10が表示制御モジュール220と仮想空間制御モジュール230として作動してもよい。メモリモジュール240は、メモリ11またはストレージ12によって実現される。通信制御モジュール250は、通信インターフェイス14によって実現される。
 ある局面において、表示制御モジュール220は、HMD装置110のモニタ112における画像表示を制御する。仮想カメラ制御モジュール221は、仮想空間2に仮想カメラ1を配置し、仮想カメラ1の挙動、向き等を制御する。視界領域決定モジュール222は、視界領域23を規定する。視界画像生成モジュール223は、決定された視界領域23に基づいて、モニタ112に表示される視界画像26を生成する。
 基準視線特定モジュール224は、注視センサ140からの信号に基づいて、ユーザ190の視線を特定する。
 仮想空間制御モジュール230は、ユーザ190に提供される仮想空間2を制御する。仮想空間定義モジュール231は、仮想空間2を表わす仮想空間データを生成することにより、HMDシステム100における仮想空間2を規定する。
 仮想オブジェクト生成モジュール232は、仮想空間2に表示される対象物を生成する。対象物は、例えば、ゲームのストーリーの進行に従って表示される森、山その他を含む風景、動物等を含む。
 物体制御モジュール233は、仮想空間2においてユーザが保持する物体の動作を制御する。当該物体は、例えば、現実空間におけるユーザ190の動作に連動して、仮想空間2において投げられるロープ、石、投げ輪その他の投擲物を含み得る。
 メモリモジュール240は、コンピュータ200が仮想空間2をユーザ190に提供するために使用されるデータを保持している。ある局面において、メモリモジュール240は、空間情報241と、オブジェクト情報242と、ユーザ情報243とを保持している。空間情報241は、仮想空間2を提供するために規定された1つ以上のテンプレートを保持している。オブジェクト情報242は、仮想空間2において再生されるコンテンツ、当該コンテンツで使用されるオブジェクトを表示するための情報を保持している。当該コンテンツは、例えば、ゲーム、現実社会と同様の風景を表したコンテンツ等を含み得る。ユーザ情報243は、HMDシステム100の制御装置としてコンピュータ200を機能させるためのプログラム、オブジェクト情報242に保持される各コンテンツを使用するアプリケーションプログラム等を保持している。メモリモジュール240に格納されているデータおよびプログラムは、HMD装置110のユーザによって入力される。あるいは、コンピュータ200が、当該コンテンツを提供する事業者が運営するコンピュータ(例えば、サーバ150)からダウンロードして、メモリモジュール240に格納する。
 通信制御モジュール250は、ネットワーク19を介して、サーバ150その他の情報通信装置と通信し得る。
 ある局面において、表示制御モジュール220および仮想空間制御モジュール230は、ユニティテクノロジーズ社によって提供されるUnity(登録商標)を用いて実現され得る。
 [制御構造]
 図9を参照して、HMDシステム100の制御構造について説明する。図9は、ある実施の形態に従うHMDシステム100において実行される処理の一部を表わすシーケンスチャートである。
 ステップS910にて、コンピュータ200のプロセッサ10は、仮想空間定義モジュール231として、仮想空間画像データを特定する。
 ステップS920にて、プロセッサ10は、仮想カメラ1を初期化する。例えば、仮想カメラ1を仮想空間2において予め規定された中心点に配置し、仮想カメラ1の視線をユーザ190が向いている方向に向ける。
 ステップS930にて、プロセッサ10は、視界画像生成モジュール223として、初期の視界画像を生成する。生成された視界画像は、視界画像生成モジュール223を介して通信制御モジュール250によってHMD装置110に送られる。
 ステップS932にて、HMD装置110のモニタ112は、コンピュータ200から受信した信号に基づいて、視界画像を表示する。HMD装置110を装着したユーザ190は、視界画像を視認すると仮想空間2を認識し得る。
 ステップS934にて、HMDセンサ120は、HMD装置110から発信される複数の赤外線光に基づいて、HMD装置110の位置と傾きを検知する。検知結果は、動き検知データとして、コンピュータ200に送られる。
 ステップS940にて、プロセッサ10は、HMD装置110の位置と傾きとに基づいて、HMD装置110を装着したユーザ190の視界方向を特定する。プロセッサ10は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間2においてオブジェクトを表示させる。ユーザ190は、そのアプリケーションプログラムの実行により仮想空間2において視認可能なコンテンツを楽しむ。ある局面において、当該コンテンツは、例えば、球技、縄投げその他の遊戯、観光地におけるガイドツアー等を含む。
 ステップS942にて、モーションセンサ130は、ユーザ190の手の動きを検出する。検出された動きを示す信号は、コンピュータ200に送られる。当該信号は、手の回転速度、加速度等を含む。例えば、ある局面において、球技のアプリケーションプログラムが実行されている場合、ユーザ190の腕の振りに応じて、仮想空間2に存在する仮想ユーザがボールを投げるシーンがあり得る。この場合、ユーザ190が実際に腕を動かしたときに、その腕の回転方向や速度が検出される。別の局面において、ロープ投げのゲームが実行されている場合、ユーザ190が腕を回転させると、ロープを回転させる間の腕の回転速度およびロープを投げた時の腕の振り方向が検出される。さらに別の局面において、旅行のアプリケーションプログラムが実行されている場合、仮想空間2における仮想ユーザが観光ガイドとして機能している場合もあり得る。この場合、仮想空間2における観光ガイドが旅行者に対して例えば「右手の方向をご覧ください」と話しかけた時の右腕の動きおよび右腕が指示する方向が検出される。
 ステップS950にて、プロセッサ10は、モーションセンサ130から出力される信号に基づいて、飛翔方向を特定する。本実施の形態において、飛翔方向とは、仮想空間2においてボール、輪、石その他の仮想物体が飛んでいく方向、あるいは、仮想ユーザの腕、指、指示棒その他のオブジェクトが指し示す方向を含む。
 ステップS960にて、プロセッサ10は、特定された飛翔方向に基づいて、仮想ユーザの移動後の視界を決定する。
 ステップS970にて、プロセッサ10は、特定された飛翔方向に基づいて、仮想カメラ1の向きを決定する。
 ステップS980にて、プロセッサ10は、決定された仮想カメラ1の向きに基づいて、視界領域を決定する。本実施の形態において、視界領域とは、仮想空間2における仮想が視認できる範囲を表わす。
 ステップS990にて、コンピュータ200は、決定された視界領域に応じて視界画像を表示するための視界画像データを生成し、生成した視界画像データをHMD装置110に出力する。
 ステップS992にて、HMD装置110のモニタ112は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像を表示する。ユーザ190は、更新後の視界画像、すなわち、飛翔方向に視線が移動したのちの視界を認識することができる。
 図10を参照して、コンピュータ200の制御構造についてさらに説明する。図10は、仮想空間2において仮想ユーザが投げ輪その他の物体を対象物に投げる場合にコンピュータ200が実行する処理の一部を表わすフローチャートである。
 ステップS1010にて、プロセッサ10は、仮想空間定義モジュール231として、メモリ11において仮想空間2を定義する。
 ステップS1020にて、プロセッサ10は、モーションセンサ130からの信号に基づいて、HMD装置110を装着したユーザ190の動作を検出する。
 ステップS1030にて、プロセッサ10は、ユーザ190の動作に基づいて、仮想空間2を飛翔する物体の飛翔方向を決定する。例えば、プロセッサ10は、ユーザ190の右手の回転速度および投擲方向に基づいて、物体が飛んでいくときの初速、飛翔方向等のパラメータを決定する。他の局面において、プロセッサ10は、ユーザ190の右手の回転回数および投擲方向に基づいて、当該パラメータを決定してもよい。回転速度が考慮される場合よりも回転回数が考慮される場合の方が、コントローラ160がユーザ190の手から離れる前に物体が飛んでいくように制御しやすくなるので、HMD装置110をより安全に使用できる。
 ステップS1040にて、プロセッサ10は、仮想オブジェクト生成モジュール232として、仮想空間2におけるユーザ190の視界が飛翔方向に移動するように、HMD装置110に視界画像を表示させるための視界画像データを生成する。プロセッサ10は、生成した視界画像データをHMD装置110に送信し、当該視界画像データに基づいて視界画像をモニタ112に表示させる。
 ステップS1050にて、プロセッサ10は、仮想空間における仮想ユーザと対象物までの仮想距離と、ユーザ190の腕の回転動作とに基づいて、物体が仮想空間2の対象物に到達したか否かを判断する。例えば、対象物は、仮想空間2において表示される木、岩その他の静止物、または、自動車、犬あるいは馬のように仮想空間2において走る移動物のいずれであってもよい。物体が対象物に到達したか否かは、例えば、仮想空間2における物体の初速、飛翔方向と、仮想ユーザから対象物までの仮想距離とに基づいて判断され得る。なお、この判断は、仮想空間2において適用されるものであるため、現実空間において考慮されるべき空気抵抗その他の物理量の存在は無視してもよい。プロセッサ10は、物体が仮想空間2の対象物に到達したと判断すると(ステップS1050にてYES)、制御をステップS1060に切り換える。そうでない場合には(ステップS1050にてNO)、プロセッサ10は、制御をステップS1020に戻す。
 ステップS1060にて、プロセッサ10は、物体制御モジュール233として、仮想空間2における仮想ユーザの位置を当該対象物まで移動させる。
 なお、別の局面において、ステップS1050おける判断は、例えば、ゲームソフトウェアにおいて実行される物理演算を考慮してもよい。この場合、例えば、物体の大きさ、質量、仮想空間2における重力または空気抵抗等が考慮され得る。このようにすると、仮想現実において提供される興趣が高まり得る。
 さらに別の局面において、ステップS1050における判断処理の代わりに、プロセッサ10は、物体が到着した対象物を特定する処理を実行してもよい。当該対象物は、例えば、木、岩、地面その他の静止物および動物、車両その他の移動物を含む。この局面では、例えば、プロセッサ10は、仮想ユーザが当該対象物まで高速に仮想空間2を移動するように視界画像を生成してもよい。このようにすると、高速移動という仮想現実ならではの場面においてもユーザ190に対するVR酔いの発生を抑制することができる。
 [静止物に対するユーザの移動]
 図11~図13を参照して、仮想空間2における静止物に対するユーザの移動について説明する。ある実施の形態において、木が静止物として例示されるが、静止物は例示されるものに限られない。例えば、建物、川の向こう岸のように、少なくとも仮想空間2においてユーザが視認可能な物であればよい。
 図11は、仮想空間2に山と木が存在している状態を表す図である。ユーザは、右前方に木を認識し、左前方に山を認識している。分図Aは、HMD装置110を装着したユーザ190が仮想空間2において視認している画像1100を表す。分図Bは、仮想空間2を上方(Y方向)から見た状態を表す。
 一例として、HMDシステム100が仮想空間2において仮想ユーザにロープを投げさせて、そのロープが掛かった先に移動するシナリオについて説明する。ある局面において、HMD装置110を装着したユーザ190は、右手にセンサを取り付ける。当該センサは、右手の動き(回転あるいは投げ動作)を検出し、検出結果はコンピュータ200に入力される。コンピュータ200は、当該シナリオを実現するアプリケーションプログラムを実行し、画像を表示するための信号をモニタ112に送信する。モニタ112が、その信号に応じて画像を表示すると、ユーザ190は、その画像を認識する。
 分図Aに示されるように、ある局面において、仮想空間2における仮想ユーザは、山や木1110を視認している。上記シナリオの進行に応じて、ユーザ190が、コントローラ160が装着された手を動かすことにより、ロープを表示させるために予め規定された動作を行なうと、ロープ1120が表示される。
 分図Bに示されるように、仮想空間2をY軸方向から見ると、仮想ユーザに相当する仮想カメラ1の視野には、ロープ1120が表示される。
 図12は、仮想ユーザがロープ1120を木1110に向かって投げた時の状態を説明するための図である。分図Aは、ロープ1120が木1110に向かって飛んでいく状態を表す。分図Bは、ロープ1120の投擲に応じて仮想カメラ1の向きが木1110の方に向けられた状態を表す。
 ユーザ190が右腕を数回回して右前方に右手を振り出すと、プロセッサ10は、右手に取り付けられたセンサから出力される信号に基づいて、モニタ112に表示される画像を切り換える。より具体的には、仮想空間2における視界画像は、木1110を中心とした画像に切り換わる。仮想ユーザは、ロープ1120を投げる際に、視線を木1110の方向に切り換えたかのように視界画像を視認し得る。ユーザ190は、ロープ1120が飛んでいく方向を予測できるので、没入感を損なうことなく、所謂映像酔い(VR酔い)を防止することができる。
 図13は、ロープ1120の輪が木1110に引っかかったことに応答して、仮想ユーザが木1110の付近に移動したことを説明するための図である。分図Aは、木1110の付近に移動した仮想ユーザが視認する画像を表す図である。分図Bは、仮想空間2における仮想カメラ1の位置および向きを表す図である。
 分図Aに示されるように、ある局面において、画像1300は、仮想ユーザが木1110の近くに移動した状態を表示する。仮想空間2に存在する仮想ユーザによって投げられたロープ1120が木1110の枝に引っかかった後にユーザ190がロープ1120を手元に引き寄せるような動作を行なうと、仮想空間2において、仮想ユーザは木1110に向かって高速に移動し得る。より具体的には、仮想ユーザは、HMDセンサ120が検出するHMD装置110の位置の時間的変化に従う移動速度よりも高速に移動し得る。この時、仮想ユーザと木1110との周りの風景が仮想ユーザの方に高速に移動するように、視界画像が表示されてもよい。
 分図Bに示されるように、仮想カメラ1の位置が木1110の付近に瞬時に移動されることにより、仮想ユーザが木1110に瞬時に移動したかのように、ユーザ190は視認し得る。
 以上のようにして、ある局面において、ユーザ190の動作に基づいて仮想空間2において仮想ユーザが静止物に物体を投げた場合、仮想ユーザが視認する視界画像は、物体が飛ぶ方向、すなわち仮想ユーザの視界が移動する方向に切り換わる。ユーザ190の動作は、腕の回転および物体を投げる仕草を含む。視界画像が切り換わる方向は、このような動作に対応している。したがって、ユーザ190は、仮想空間2における視界画像を自身の動作に応じて視認できるので、映像酔いが抑制され得る。
 [静止物に対するユーザの移動]
 次に、図14~図16を参照して、仮想空間2における移動物に対するユーザの移動について説明する。ある実施の形態において、馬が移動物として例示されるが、移動物は例示されるものに限られない。例えば、その他の動物、自動車その他の車両、鳥、飛行機、ロケット等、現実空間で動く物であればよい。
 図14は、仮想空間2に山が存在しており、かつ、馬が走っている状態を表す図である。分図Aは、HMD装置110を装着したユーザ190が仮想空間2において視認している視界画像1400を表す。分図Bは、仮想空間2を上方(Y方向)から見た状態を表す。ある局面において、HMD装置110を装着したユーザ190は、仮想ユーザとして、視界画像1400を視認している。視界画像1400は、山と馬1410とを表示している。
 分図Aに示されるように、ユーザ190が予め定められた動作を行なうと、HMD装置110のプロセッサ10は、視界画像1400の中にロープ1120を表示する。ユーザ190が手を動かすと、モーションセンサ130はその動きを検出し、プロセッサ10は、走っている馬1410に向けて、ロープ1120が飛んでいくように画像をモニタ112に表示させる。このとき、ユーザ190の動作に応じて、馬1410が視界画像1400の中心になるように、モニタ112は画像を表示する。したがって、ユーザ190が動作を行なう方向と視界画像1400で表示される方向とがほぼ同じ方向になるので、VR酔いが抑制され得る。
 図15は、仮想空間2において対象物が移動した状態を表示する画像1500を表す図である。分図Aは、仮想空間2における馬1410が走って場所が移動した状態を表す図である。分図Bは、仮想空間2を上方(Y方向)から見た状態を表す。
 分図Aに示されるように、ユーザ190が、仮想空間2において、仮想ユーザとしてロープ1120を走っている馬1410に向かって投げる動作を行なうと、モーションセンサ130はその動作を検知して、移動方向を検出する。例えば、画像1500において馬1410が右から左に走っている場合、ユーザ190は、右手を左前方に投げる動作を行なう。そこで、プロセッサ10は、視界画像が左方向に切り換わるように信号を生成し、モニタ112にその信号を送信する。
 分図Bは、仮想ユーザに相当する仮想カメラ1の向きが馬1410を中心とする方向に切り換わる。この状態で、モニタ112が画像を表示すると、ユーザ190は、仮想ユーザとして仮想空間2における画像の中心に馬1410を視認できる。
 さらに別の局面において、ロープ1120が馬1410に引っかかると、ユーザ190は、ロープ1120を引っ張る動作を行なうことにより、仮想ユーザを馬1410の方に高速に移動させることができる。
 図16は、一局面において仮想ユーザが移動物に高速に移動した状態を説明するための図である。分図Aは、仮想ユーザが視認する視界画像1600を表す。分図Bは、仮想空間2を上方(Y方向)から見た状態を表す。
 分図Aに示されるように、仮想空間2において、仮想ユーザは高速に対象物まで移動することができる。例えば、図15の分図Aに示されるようにロープ1120が馬1410に引っかかった状態で、ユーザ190がロープ1120を引く動作、例えば、モーションセンサ130が装着された手を手前に引く動作を行なうと、プロセッサ10は、仮想ユーザが馬1410に高速で接近するような画面をモニタ112に表示させる。例えば、仮想ユーザの周りの景色が高速で仮想ユーザの後方に過ぎ去るような画像が視界画像として表示される。このようにすると、視界画像を視認したユーザ190は、自らの動作に基づく移動方向が仮想空間2においても予想できるので、VR酔いの発生が防止され得る。
 以上のようにして、ある実施の形態によれば、現実空間におけるユーザ190の動作に基づき、仮想空間2における仮想ユーザの移動方向が表示されるので、ユーザ190の動作と仮想空間2における移動方向とが連動することになる。その結果、仮想空間2において仮想ユーザの移動が行なわれても、その時の画像を視認したユーザ190に対するVR酔いの発生が抑制され得る。なお、上記で開示された各特徴は、適宜、組み合わせられてもよい。
 [HMDシステムの構成]
 図17を参照して、HMD(Head Mount Display)システム100Aの構成について説明する。図17は、ある実施の形態に従うHMDシステム100Aの構成の概略を表す図である。ある局面において、HMDシステム100Aは、家庭用のシステムとしてあるいは業務用のシステムとして提供される。なお、前述したHMDシステム100における構成と同一の部品には同一の符号を付してあり、それらの機能と重複する説明を繰り返さない。
 図17に示されるように、ある実施の形態に従うHMDシステム100Aは、前述のHMD装置110と、前述のHMDセンサ120と、ボード180と、コンピュータ200Aとを備える。HMD装置110は、前述のモニタ112と、前述の注視センサ140とを含む。ボード180は、傾きセンサ170を含む。ある局面において、コンピュータ200Aは、ネットワーク19に接続可能であり、ネットワーク19に接続されているサーバ150と通信可能である。別の局面において、HMD装置110は、HMDセンサ120の代わりに、前述のセンサ114を含み得る。
 ある実施の形態に従うと、HMDシステム100Aは、コントローラ160Aをさらに備えてもよい。コントローラ160Aはモーションセンサ130Aを含み得る。
 コントローラ160Aは、ユーザ190からコンピュータ200Aへの命令の入力を受け付ける。ある局面において、コントローラ160Aは、ユーザ190によって把持可能に構成される。別の局面において、コントローラ160Aは、ユーザ190の身体あるいは衣類の一部に装着可能に構成される。別の局面において、コントローラ160Aは、コンピュータ200Aから送られる信号に基づいて、振動、音、光のうちの少なくともいずれかを出力するように構成されてもよい。
 モーションセンサ130Aは、ある局面において、ユーザの手に取り付けられて、ユーザの手の動きを検出する。例えば、モーションセンサ130Aは、手の回転速度、回転数等を検出する。検出された信号は、コンピュータ200Aに送られる。モーションセンサ130Aは、例えば、手袋型のコントローラ160Aに設けられている。ある実施の形態において、現実空間における安全のため、コントローラ160Aは、手袋型のようにユーザ190の手に装着されることにより容易に飛んで行かないものに装着されるのが望ましい。別の局面において、ユーザ190に装着されないセンサがユーザ190の手の動きを検出してもよい。例えば、ユーザ190を撮影するカメラの信号が、ユーザ190の動作を表わす信号として、コンピュータ200Aに入力されてもよい。モーションセンサ130Aとコンピュータ200Aとは、有線により、または無線により互いに接続される。無線の場合、通信形態は特に限られず、例えば、Bluetooth(登録商標)その他の公知の通信手法が用いられる。
 傾きセンサ170は、例えば、加速度センサ、タッチセンサ等によって実現される。ある実施の形態において、ボード180のように底部が球面状である部材では、加速度センサが傾きセンサ170として使用される。ある実施の形態において、ボブスレーのように側壁を有する器具がユーザ190によって使用される場合には、加速度センサに加えて、あるいは加速度センサの代わりに、タッチセンサが傾きセンサとして左右の側壁に配置されてもよい。この場合、当該器具は、ユーザ190がタッチした側壁の方向に傾いていることが検知され得る。
 ボード180は、上面に作用する荷重に応じて傾くように構成されている。例えば、ある局面において、ボード180の底面には、円弧状の傾きが形成されている。別の局面において、ボード180は、作用する荷重をボード180が設置される床に伝達するように配置された複数のばねその他の弾性部材を含む。
 [ハードウェア構成]
 図18を参照して、本実施の形態に係るコンピュータ200Aについて説明する。図18は、一局面に従うコンピュータ200Aのハードウェア構成の一例を表すブロック図である。コンピュータ200Aは、主たる構成要素として、前述のプロセッサ10と、前述のメモリ11と、前述のストレージ12と、前述の入出力インターフェイス13と、前述の通信インターフェイス14とを備える。各構成要素は、それぞれ、前述のバス15に接続されている。
 ある実施の形態において、入出力インターフェイス13は、HMD装置110、HMDセンサ120、モーションセンサ130A、および傾きセンサ170との間で信号を通信する。ある局面において、入出力インターフェイス13は、USB(Universal Serial Bus)インターフェイス、DVI(Digital Visual Interface)、HDMI(登録商標)(High-Definition Multimedia Interface)その他の端子を用いて実現される。なお、入出力インターフェイス13は上述のものに限られない。
 ある実施の形態において、入出力インターフェイス13は、さらに、コントローラ160Aと通信し得る。例えば、入出力インターフェイス13は、モーションセンサ130Aから出力された信号の入力を受ける。別の局面において、入出力インターフェイス13は、プロセッサ10から出力された命令を、コントローラ160Aに送る。当該命令は、振動、音声出力、発光等をコントローラ160Aに指示する。コントローラ160Aは、当該命令を受信すると、その命令に応じて、振動、音声出力または発光のいずれかを実行する。
 ある局面において、プロセッサ10は、ストレージ12に格納されている1つ以上のプログラムをメモリ11にロードし、当該プログラムに含まれる一連の命令を実行する。当該1つ以上のプログラムは、コンピュータ200Aのオペレーティングシステム、仮想空間を提供するためのアプリケーションプログラム、コントローラ160Aを用いて仮想空間で実行可能なゲームソフトウェア等を含み得る。プロセッサ10は、入出力インターフェイス13を介して、仮想空間を提供するための信号をHMD装置110に送る。HMD装置110は、その信号に基づいてモニタ112に映像を表示する。
 [開示された実施の形態の構成の概要]
 ある実施の形態に従うと、コンピュータがヘッドマウントディスプレイ装置に仮想空間を提供するための方法が提供される。この方法は、少なくとも1つのプロセッサが、仮想空間を定義するステップと、少なくとも1つのプロセッサが、当該ヘッドマウントディスプレイ装置のユーザが傾いている方向(例えば、左右または前後のいずれか)を検出するステップと、少なくとも1つのプロセッサが、ユーザ190が傾いている方向に基づいて当該仮想空間においてユーザ190に相当する仮想ユーザの移動方向を決定するステップと、少なくとも1つのプロセッサが、当該仮想空間における仮想ユーザの視界が、決定された仮想ユーザの移動方向に移動するように、当該ヘッドマウントディスプレイ装置に当該視界を表示させるステップとを含む。
 ある実施の形態に従うと、当該移動方向を決定するステップは、ユーザ190の傾きが継続している時間に応じて、当該移動方向を決定することを含む。
 ある実施の形態に従うと、当該移動方向を決定するステップは、ユーザ190の傾きの程度に応じて、当該移動方向を決定することを含む。
 ある実施の形態に従うと、当該方法は、少なくとも1つのプロセッサが、検出されたユーザ190の傾きに基づいて当該仮想空間における仮想ユーザの移動距離を決定するステップをさらに備える。当該視界を表示させるステップは、仮想ユーザの視界が当該移動方向に向かって当該移動距離だけ移動するように、当該視界を表示させることを含む。
 ある実施の形態に従う、コンピュータがヘッドマウントディスプレイ装置に仮想空間を提供するための方法は、少なくとも1つのプロセッサが、仮想空間を定義するステップと、少なくとも1つのプロセッサが、当該ヘッドマウントディスプレイ装置のユーザが傾いている方向を検出するステップと、少なくとも1つのプロセッサが、検出されたユーザ190の傾きに基づいて当該仮想空間における仮想ユーザの移動距離を決定するステップと、少なくとも1つのプロセッサが、当該仮想空間における仮想ユーザの視界が、決定された仮想ユーザの移動距離だけ移動するように、当該ヘッドマウントディスプレイ装置に当該視界を表示させるステップとを含む。
 ある実施の形態に従うと、当該移動距離を決定するステップは、ユーザ190の傾きが継続している時間に応じて、当該移動距離を決定することを含む。
 ある実施の形態に従うと、当該移動距離を決定するステップは、ユーザ190の傾きの程度に応じて、当該移動距離を決定することを含む。
 ある実施の形態に従うと、ユーザ190が傾いている方向を検出するステップは、ユーザ190による体重移動を伴う動作または姿勢に基づく加速度を検出するステップを含む。
 ある実施の形態に従うと、ユーザ190が傾いている方向を検出するステップは、ユーザ190から作用する荷重を検出することを含む。
 ある実施の形態に従うと、当該プロセッサは、仮想空間を定義し、当該ヘッドマウントディスプレイ装置のユーザが傾いている方向を検出し、検出された方向に基づいて当該仮想空間における仮想ユーザの移動方向を決定し、当該仮想空間における仮想ユーザの視界が、決定された仮想ユーザの移動方向に移動するように、当該ヘッドマウントディスプレイ装置に当該視界を表示させるように構成されている。
 ある実施の形態に従うと、当該プロセッサは、検出されたユーザ190の傾きに基づいて当該仮想空間における仮想ユーザの移動距離を決定するようにさらに構成されている。当該視界を表示させることは、仮想ユーザの視界が当該移動方向に向かって当該移動距離だけ移動するように、当該視界を表示させることを含む。
 ある実施の形態に従うと、プロセッサは、仮想空間を定義し、当該ヘッドマウントディスプレイ装置のユーザが傾いている方向を検出し、検出された方向に基づいて当該仮想空間における仮想ユーザの移動距離を決定し、当該仮想空間における仮想ユーザの視界が、決定された仮想ユーザの移動距離だけ移動するように、当該ヘッドマウントディスプレイ装置に当該視界を表示させるように構成されている。
 [HMD装置の制御装置]
 図19を参照して、HMD装置110の制御装置について説明する。ある実施の形態において、制御装置は周知の構成を有するコンピュータ200Aによって実現される。図19は、ある実施の形態に従うコンピュータ200Aをモジュール構成として表わすブロック図である。
 図19に示されるように、コンピュータ200Aは、前述の表示制御モジュール220と、前述の仮想空間制御モジュール230と、前述のメモリモジュール240と、前述の通信制御モジュール250とを備える。表示制御モジュール220は、サブモジュールとして、前述の仮想カメラ制御モジュール221と、前述の視界領域決定モジュール222と、前述の視界画像生成モジュール223と、前述の基準視線特定モジュール224とを含む。仮想空間制御モジュール230は、サブモジュールとして、前述の仮想空間定義モジュール231と、前述の仮想オブジェクト生成モジュール232と、前述の物体制御モジュール233と、移動方向決定モジュール234と、移動距離決定モジュール235とを含む。
 移動方向決定モジュール234は、傾きセンサ170からの出力に基づいて、仮想空間2における仮想ユーザの移動方向を決定する。ある実施の形態に従うと、移動方向決定モジュール234は、傾きセンサ170から出力される信号に基づいてユーザ190による荷重が作用する方向を検知し、当該方向を仮想ユーザが移動するべき方向として決定する。
 移動距離決定モジュール235は、傾きセンサ170からの出力に基づいて、仮想ユーザの移動距離を決定する。例えば、水平状態にあったボード180が傾いた場合に、移動距離決定モジュール235は、傾斜角度に応じた移動距離を決定する。ある局面において、移動距離決定モジュール235は、プロセッサ10が実行しているプログラムにおいて予め規定された傾斜角度一度当たりの仮想移動距離と、当該傾斜角度とに基づいて、仮想ユーザの移動距離を決定する。別の実施の形態に従うと、移動距離決定モジュール235は、傾斜が継続している時間に基づいて、仮想ユーザの移動距離を決定する。例えば、プロセッサ10が実行しているプログラムにおいて予め規定された時間当たりの仮想移動距離と、当該傾斜が継続している時間との積に基づいて、仮想ユーザの移動距離を決定し得る。
 [制御構造]
 図20を参照して、HMDシステム100Aの制御構造について説明する。図20は、ある実施の形態に従うHMDシステム100Aにおいて実行される処理の一部を表わすシーケンスチャートである。図20において、ステップS942A以外の処理は前述した処理と同様であるため、重複する説明を繰り返さない。
 ステップS940にて、プロセッサ10は、HMD装置110の位置と傾きとに基づいて、HMD装置110を装着したユーザ190の視界方向を特定する。プロセッサ10は、アプリケーションプログラムを実行し、アプリケーションプログラムに含まれる命令に基づいて、仮想空間2においてオブジェクトを表示させる。ユーザ190は、そのアプリケーションプログラムの実行により仮想空間2において視認可能なコンテンツを楽しむ。ある局面において、当該コンテンツは、例えば、ボブスレーその他のそりを用いたスポーツ、スキー、スノーボード等を含む。ある実施の形態において、ユーザ190は、ボード180に着座し、モニタ112に表示された画像の推移に応じて姿勢を変え得る。
 ステップS942Aにて、傾きセンサ170は、ユーザ190が傾いている方向を検出する。検出された傾きを示す信号は、コンピュータ200Aに送られる。当該信号は、ボード180の傾斜角度を含む。例えば、ある局面において、ボブスレーのような滑降競技のアプリケーションプログラムが実行されている場合、ユーザ190の傾きに応じて、仮想空間2に存在する仮想ユーザが仮想空間2において表示されたボブスレーの進行方向を制御するシーンがあり得る。この場合、ユーザ190が体を傾けたときに、傾きセンサ170は、その傾斜方向を検出する。
 ステップS950にて、プロセッサ10は、傾きセンサ170から出力される信号に基づいて、仮想ユーザの移動方向と移動距離とを決定する。本実施の形態において、移動方向とは、仮想空間2において、仮想ユーザあるいは仮想ユーザが着座しているそりその他の器具が進む方向を含む。なお、別の局面において、移動方向のみが必要とされる場合には、プロセッサ10は、移動方向決定モジュール234として、移動方向のみを決定し得る。別の局面において、移動距離のみが必要とされる場合には、プロセッサ10は、移動距離決定モジュール235として、移動距離のみを決定し得る。
 さらに他の局面において、プロセッサ10は、傾きセンサ170から出力される信号に基づいて、仮想ユーザの移動方向と移動速度とを決定する構成であってもよい。仮想ユーザの移動速度は、ボード180の傾斜角度が大きいほど速く設定され得る。
 ステップS960にて、プロセッサ10は、決定された移動方向および移動距離に基づいて、仮想ユーザの移動後の視界を決定する。
 ステップS970にて、プロセッサ10は、決定された移動方向および移動距離に基づいて、仮想カメラ1の仮想空間2における位置および向きを決定する。
 ステップS980にて、プロセッサ10は、決定された仮想カメラ1の位置および向きに基づいて、視界領域を決定する。本実施の形態において、視界領域とは、仮想空間2において仮想ユーザが視認できる範囲を表わす。
 ステップS990にて、コンピュータ200Aは、決定された視界領域に応じて視界画像を表示するための視界画像データを生成し、生成した視界画像データをHMD装置110に出力する。視界画像データは、決定された移動方向に向かって仮想ユーザが高速に移動するように、仮想ユーザの周りの景色が高速に仮想ユーザの方に向かっている態様を表示可能に構成されている。
 ステップS992にて、HMD装置110のモニタ112は、受信した視界画像データに基づいて視界画像を更新し、更新後の視界画像を表示する。ユーザ190は、更新後の視界画像、すなわち、移動方向に視線が移動したのちの視界を認識することができる。
 図21を参照して、コンピュータ200Aの制御構造についてさらに説明する。図21は、ボード180に着座したユーザ190の動作に応じてコンピュータ200Aが実行する処理の一部を表わすフローチャートである。
 ステップS1010Aにて、プロセッサ10は、仮想空間定義モジュール231として、メモリ11において仮想空間2を定義する。
 ステップS1020Aにて、プロセッサ10は、傾きセンサ170からの信号に基づいて、HMD装置110を装着してボード180に着座しているユーザ190が傾いている方向、具体的には、右、左、前または後を検出する。
 ステップS1030Aにて、プロセッサ10は、ユーザ190の傾きに基づいて、仮想空間2を進行する仮想ユーザの移動方向を決定する。例えば、ユーザ190が一定時間右側に体を傾けた場合に、プロセッサ10は、仮想ユーザあるいは仮想ユーザが着座している乗り物が右側に移動すると判断する。他の局面において、ユーザ190が右側に体を一時的に傾ける動作を行なった回数に応じて、プロセッサ10は、仮想ユーザが右側に移動する方向を決定する。例えば、予め規定された時間内にユーザ190が体を傾けるための1回の動作を行なった場合、プロセッサ10は、仮想ユーザが進行方向に対して右側に1度移動すると決定する。ユーザ190が当該動作を10回行った場合、プロセッサ10は、仮想ユーザが右側に10度移動すると決定する。
 別の局面において、ユーザ190が体を左側に傾ける動作を行なった場合にも、右側に傾ける動作を行なった場合と同様に、プロセッサ10は、左側の移動方向を決定する。
 別の実施の形態において、傾きセンサ170は、ユーザ190が体を前傾させたことを検知し得る。このときに、プロセッサ10は、傾きセンサ170からの信号に応じてユーザ190が体を前に傾けたことを検知し、傾斜角度に基づいて移動距離を決定し得る。例えば、前方への1度の傾斜が検知された場合に、仮想ユーザを10m移動させることが、プロセッサ10が実行しているプログラムにおいて予め規定されている場合、プロセッサ10は、ユーザ190が前方に5度傾いたことを検知すると、仮想空間2において仮想ユーザを50m移動させることを決定する。
 ステップS1040Aにて、プロセッサ10は、仮想オブジェクト生成モジュール232として、仮想空間2における仮想ユーザの視界が、ステップS1030Aにおいて決定された移動方向に移動するように、HMD装置110に視界画像を表示させるための視界画像データを生成する。ある実施の形態に従うと、プロセッサ10は、移動方向に加えて、ユーザ190の傾きが継続している時間に応じた移動距離が反映された視界画像データを生成する。プロセッサ10は、生成した視界画像データをHMD装置110に送信し、当該視界画像データに基づいて視界画像をモニタ112に表示させる。
 [着座しているユーザの移動]
 図22~図24を参照して、ユーザ190の傾きの検出の一態様について説明する。
 図22は、ある実施の形態において、ユーザ190がボード180に着座している態様を表す図である。分図Aは、HMD装置110(図示しない)を装着したユーザ190がボード180において水平状態を維持して着座している態様を表す。分図Bは、ユーザ190が体重移動を行ない、ユーザ190から見て左側にボード180を傾けた態様を表す。分図Cは、ユーザが体重移動を行ない、ユーザ190から見て右側にボード180を傾けた状態を表す。ボード180が傾くと、傾きセンサ170は、その方向きに応じた信号を出力する。出力された信号は、コンピュータ200Aに入力される。傾きが検知される方向は、分図Bに示される左、分図Cに示される右に限られず、ある実施の形態において、傾きセンサ170は、ユーザ190が前方に体重移動を行なった場合の前方への傾き、あるいは、ユーザ190が後方に体重移動を行なった場合の後方への傾きも検知し得る。
 図23は、ある実施の形態において、ユーザ190がボード180に立っている態様を表す図である。分図Aは、HMD装置110(図示しない)を装着したユーザ190がボード180において水平状態を維持して立っている態様を表す。分図Bは、ユーザ190が体重移動を行ない、ユーザ190から見て左側にボード180を傾けた態様を表す。分図Cは、ユーザが体重移動を行ない、ユーザ190から見て右側にボード180を傾けた状態を表す。ボード180が傾くと、傾きセンサ170は、その方向きに応じた信号を出力する。出力された信号は、コンピュータ200Aに入力される。傾きが検知される方向は、分図Bに示される左、分図Cに示される右に限られず、ある実施の形態において、傾きセンサ170は、ユーザ190が前方に体重移動を行なった場合の前方への傾き、あるいは、ユーザ190が後方に体重移動を行なった場合の後方への傾きも検知し得る。ユーザ190は、自身の体重移動に応じて、仮想空間2における仮想ユーザの移動方向を予測できるので、没入感を損なうことなく、所謂映像酔い(VR酔い)を防止することができる。
 図24を参照して、傾きの検知の他の態様について説明する。図24は、ある実施の形態において、ユーザ190がそり1300Aに着座している態様を表す図である。そり1300Aの両側面には、タッチセンサ1370,1371がそれぞれ配置されている。タッチセンサ1370,1371の出力は、コンピュータ200Aの入力インターフェイスに接続されている。ある局面において、一つ以上のそり1300Aは、遊技場において提供され得る。
 分図Aは、HMD装置110(図示しない)を装着したユーザ190がそり1300Aにおいて水平状態を維持して着座している態様を表す。このとき、ユーザ190はタッチセンサ1370および1371に触れていない。
 分図Bは、ユーザ190が体重移動を行ない、ユーザ190から見て右側にそり1300Aを傾けた態様を表す。そり1300Aが右側に傾いてユーザの右手がタッチセンサ1370に触れると、タッチセンサ1370から出力された信号は、コンピュータ200Aに入力される。プロセッサ10は、その信号に基づいて、そり1300Aが右側に傾いたことを検知する。さらに、プロセッサ10は、仮想空間2において仮想ユーザの右前方からの視界がユーザ190によって認識されるように、視界画像データを生成する。プロセッサ10が視界画像データをHMD装置110に送信して、モニタ112が視界画像データに基づく画像を表示する。ユーザ190は、その画像を見ると、仮想空間2において右方向に移動しているように認識する。
 分図Cは、ユーザ190が体重移動を行ない、ユーザ190から見て左側にそり1300Aを傾けた状態を表す。そり1300Aが左側に傾いてユーザの左手がタッチセンサ1371に触れると、タッチセンサ1371から出力された信号は、コンピュータ200Aに入力される。プロセッサ10は、その信号に基づいて、そり1300Aが左側に傾いたことを検知する。さらに、プロセッサ10は、仮想空間2において仮想ユーザの左前方からの視界がユーザ190によって認識されるように、視界画像データを生成する。プロセッサ10が視界画像データをHMD装置110に送信して、モニタ112が視界画像データに基づく画像を表示する。ユーザ190は、その画像を見ると、仮想空間2において左方向に移動しているように認識する。
 なお、図24に示される例でも、タッチセンサ1370,1371の代わりに、図22または図23と同様に、傾きセンサ170が、そり1300Aの底部に配置されてもよい。
 次に、図25~図27を参照して、仮想空間2における仮想ユーザの移動について説明する。ある実施の形態において、HMD装置110を装着したユーザ190は、仮想ユーザとして、仮想空間2における視界画像1400Aを視認している。
 図25は、ユーザ190が着座して又は立っているボード180またはそり1300Aが水平に維持されている場合を説明するための図である。このとき、プロセッサ10は、傾きセンサ170またはタッチセンサ1370,1371から出力される信号に基づき、ユーザ190は水平状態を維持していると判断する。さらに、プロセッサ10は、仮想空間2において水平状態の画像が視認されるような視界画像データを生成し、HMD装置110のモニタ112に当該視界画像データを送信する。
 分図Aに示されるように、モニタ112がその視界画像データに基づいて画像を表示した場合には、ユーザ190は、仮想ユーザとして視界画像1400Aを認識する。このとき、分図Bに示されるように、仮想ユーザに対応する仮想カメラ1は、仮想ユーザの視野に応じた視界領域23をとらえている。
 [右側への移動]
 図26は、水平状態を維持していたユーザ190が右側に傾いて、ボード180またはそり1300Aを右側に傾けた場合を説明するための図である。このとき、プロセッサ10は、傾きセンサ170またはタッチセンサ1370,1371から出力される信号に基づき、ユーザ190が右側に傾いていると判断する。さらに、プロセッサ10は、仮想空間2における仮想ユーザが当所いた場所(例えば、図25参照)から右側に移動していると認識される視界画像データを生成する。例えば、プロセッサ10は、仮想空間2において認識される画像が右から左に流れるような視界画像を表示するための視界画像データを生成し、視界画像データをHMD装置110に送信する。
 分図Aに示されるように、モニタ112が、当該視界画像データに基づく視界画像1500Aを表示する。視界画像1400Aにおいて右に表示されていた木1410Aが視界画像1500Aの中心に移動している。
 分図Bに示されるように、このような移動は、例えば、仮想空間2において仮定される仮想カメラ1が木1410Aの正面に移動することに相当する。プロセッサ10は、仮想カメラ1の移動に応じて認識される画像と同様の画像を表示するために視界画像データを生成する。
 視界画像1400Aから視界画像1500Aへの推移は、ユーザ190が体重を右側に移動したことに基づいて行なわれる。このようにすると、ユーザ190は、右側への体重移動という自らの動作に応じて、視界画像の推移による仮想空間2における移動を認識できるので、ユーザ190の傾きと仮想空間2における移動方向とが連動することになる。その結果、所謂VR酔いの発生が抑制され得る。
 [左側への移動]
 図27は、水平状態を維持していたユーザ190が左側に傾いて、ボード180またはそり1300Aを左側に傾けた場合を説明するための図である。このとき、プロセッサ10は、傾きセンサ170またはタッチセンサ1370,1371から出力される信号に基づき、ユーザ190が左側に傾いていると判断する。さらに、プロセッサ10は、仮想空間2における仮想ユーザが当所いた場所(例えば、図25参照)から左側に移動していると認識される視界画像データを生成する。例えば、プロセッサ10は、仮想空間2において認識される画像が左から右に流れるような視界画像を表示するための視界画像データを生成し、視界画像データをHMD装置110に送信する。
 分図Aに示されるように、モニタ112が、当該視界画像データに基づく視界画像1600Aを表示する。視界画像1400Aにおいて左に表示されていた山1420Aが視界画像1600Aの中心に移動している。
 分図Bに示されるように、このような移動は、例えば、仮想空間2において仮定される仮想カメラ1が山1420Aの正面に移動することに相当する。プロセッサ10は、仮想カメラ1の移動に応じて認識される画像と同様の画像を表示するために視界画像データを生成する。
 視界画像1400Aから視界画像1600Aへの推移は、ユーザ190が体重を左側に移動したことに基づいて行なわれる。このようにすると、ユーザ190は、左側への体重移動という自らの動作に応じて、視界画像の推移による仮想空間2における移動を認識できるので、ユーザ190の傾きと仮想空間2における移動方向とが連動することになる。その結果、所謂VR酔いの発生が抑制され得る。
 [前方への移動]
 図28は、水平状態を維持していたユーザ190が前に傾いて、ボード180を前方に傾けた場合を説明するための図である。プロセッサ10は、傾きセンサ170から出力される信号に基づき、ユーザ190が前方に傾いていると判断する。さらに、プロセッサ10は、仮想空間2における仮想ユーザが当所いた場所(例えば、図25参照)から前方に移動していると認識される視界画像データを生成する。例えば、プロセッサ10は、仮想空間2において認識される画像が高速に近づいてくるような視界画像を表示するための視界画像データを生成し、視界画像データをHMD装置110に送信する。
 分図Aに示されるように、モニタ112が、当該視界画像データに基づく視界画像1700を表示する。視界画像1400Aにおいて遠方に小さく表示されていた木1410Aおよび山1420Aは、それぞれ、仮想空間2における移動距離に応じて大きく表示される。なお、仮想空間2における移動距離は、ある局面において、例えば、ユーザ190による前傾の角度と、予め定められた単位角度当たりの移動距離とに基づいて算出され得る。当該移動距離は、別の局面において、前傾の状態が継続していた時間と、予め定められた単位時間当たりの移動距離とに基づいて算出されてもよい。
 分図Bに示されるように、仮想空間2における視界画像の移動は、例えば、仮想空間2において仮定される仮想カメラ1が木1410Aや山1420Aの方に向かって高速に移動することに相当する。プロセッサ10は、仮想カメラ1の移動に応じて認識される画像と同様の画像を表示するために視界画像データを生成する。
 視界画像1400Aから視界画像1700への推移は、ユーザ190が体重を前に移動したことに基づいて行なわれる。ユーザ190は、体重移動という自らの動作に応じて、仮想空間2における移動を認識できるので、ユーザ190の傾きと仮想空間2における移動方向とが連動することになる。その結果、所謂VR酔いの発生が抑制され得る。
 [後方への移動]
 図29は、水平状態を維持していたユーザ190が後方に傾いて、ボード180を後方に傾けた場合を説明するための図である。プロセッサ10は、傾きセンサ170から出力される信号に基づき、ユーザ190が後方に傾いていると判断する。さらに、プロセッサ10は、仮想空間2における仮想ユーザが当所いた場所(例えば、図25参照)から後方に移動していると認識される視界画像データを生成する。例えば、プロセッサ10は、仮想空間2において認識される画像が高速に遠ざかるような視界画像を表示するための視界画像データを生成し、視界画像データをHMD装置110に送信する。
 分図Aに示されるように、モニタ112が、当該視界画像データに基づく視界画像1800を表示する。視界画像1400Aにおいて表示されていた木1410Aおよび山1420Aは、それぞれ、図25に示されていた場合よりも小さく表示される。例えば、木1410Aおよび山1420Aは、仮想空間2における移動距離に応じて小さく表示される。なお、仮想空間2における移動距離は、ある局面において、例えば、ユーザ190による後傾の角度と、予め定められた単位角度当たりの移動距離とに基づいて算出され得る。当該移動距離は、別の局面において、後傾の状態が継続していた時間と、予め定められた単位時間当たりの移動距離とに基づいて算出されてもよい。
 分図Bに示されるように、仮想空間2における視界画像の移動は、例えば、仮想空間2において仮定される仮想カメラ1が木1410Aや山1420Aから遠ざかる方向に高速に移動することに相当する。プロセッサ10は、仮想カメラ1の移動に応じて認識される画像と同様の画像を表示するために視界画像データを生成する。
 視界画像1400Aから視界画像1800への推移は、ユーザ190が体重を後に移動したことに基づいて行なわれる。ユーザ190は、体重移動という自らの動作に応じて、仮想空間2における移動を認識できるので、前傾の場合と同様に、ユーザ190の傾きと仮想空間2における移動方向とが連動することになる。その結果、所謂VR酔いの発生が抑制され得る。
 以上のようにして、ある実施の形態によれば、現実空間においてユーザ190が傾いている方向に基づき、仮想空間2における仮想ユーザの移動方向が決定されるので、ユーザ190の傾きと仮想空間2における移動方向とが連動することになる。その結果、仮想空間2において仮想ユーザの移動が行なわれても、その時の画像を視認したユーザ190に対するVR酔いの発生が抑制され得る。なお、上記の実施の形態でそれぞれ説明された各特徴は、適宜、組み合わせられ得る。例えば、水平方向を維持していたユーザ190がボード180を傾けた場合の前方または後方の成分については、仮想空間2において仮想カメラ1の基準視線5の方向へ仮想ユーザが前進または後退するように移動するものとして移動距離の算出を行い、ユーザがボード180を右側または左側へと傾ける傾斜の度合いに応じて、仮想カメラ1を、ヨー方向(v軸)周りに回転させ得る。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 本開示について、以下の内容を付記する。
(項目1)
 コンピュータがヘッドマウントディスプレイ装置に仮想空間を提供するための方法であって、
 仮想空間を定義するステップと、
 前記ヘッドマウントディスプレイ装置のユーザが傾いている方向を検出するステップと、
 検出された前記傾いている方向に基づいて前記仮想空間における前記ユーザの移動方向を決定するステップと、
 前記仮想空間における前記ユーザの視界が、決定された前記ユーザの移動方向に移動するように、前記ヘッドマウントディスプレイ装置に前記視界を表示させるステップとを含む、仮想空間を提供するための方法。
(項目2)
 前記移動方向を決定するステップは、前記ユーザの傾きが継続している時間に応じて、前記移動方向を決定することを含む、項目1に記載の方法。
(項目3)
 前記移動方向を決定するステップは、前記ユーザが傾いている方向に応じて、前記移動方向を決定することを含む、項目1に記載の方法。
(項目4)
 検出された前記ユーザの傾きに基づいて前記仮想空間における前記ユーザの移動距離を決定するステップをさらに備え、
 前記視界を表示させるステップは、前記ユーザの視界が前記移動方向に向かって前記移動距離だけ移動するように、前記視界を表示させることを含む、項目1~3のいずれかに記載の方法。
(項目5)
 コンピュータがヘッドマウントディスプレイ装置に仮想空間を提供するための方法であって、
 仮想空間を定義するステップと、
 前記ヘッドマウントディスプレイ装置のユーザの傾きを検出するステップと、
 検出された前記ユーザの傾きに基づいて前記仮想空間における前記ユーザの移動距離を決定するステップと、
 前記仮想空間における前記ユーザの視界が、決定された前記ユーザの移動距離だけ移動するように、前記ヘッドマウントディスプレイ装置に前記視界を表示させるステップとを含む、仮想空間を提供するための方法。
(項目6)
 前記移動距離を決定するステップは、前記ユーザの傾きが継続している時間に応じて、前記移動距離を決定することを含む、項目4または5に記載の方法。
(項目7)
 前記移動距離を決定するステップは、前記ユーザの傾きの程度に応じて、前記移動距離を決定することを含む、項目4または5に記載の方法。
(項目8)
 前記ユーザの傾きを検出するステップは、前記ユーザによる体重移動を伴う動作または姿勢に基づく加速度を検出するステップを含む、項目1~7のいずれかに記載の方法。
(項目9)
 前記ユーザの傾きを検出するステップは、前記ユーザから作用する荷重を検出することを含む、項目8に記載の方法。
(項目10)
 項目1~9のいずれかに記載の方法をコンピュータに実現させる、プログラム。
(項目11)
 システムであって、
 ヘッドマウントディスプレイ装置と、
 前記ヘッドマウントディスプレイ装置に仮想空間を提供するためのコンピュータと、
 前記ヘッドマウントディスプレイ装置のユーザが傾いていることを検出するためのセンサとを備え、
 前記コンピュータは、
  一連の命令を格納するためのメモリと、
  前記一連の命令を実行するためのプロセッサとを備えており、
 前記一連の命令が前記プロセッサによって実行されると、
 前記プロセッサは、
  仮想空間を定義し、
  前記ヘッドマウントディスプレイ装置のユーザが傾いている方向を検出し、
  前記傾いている方向に基づいて、前記仮想空間における前記ユーザの移動方向を決定し、
  前記仮想空間における前記ユーザの視界が、決定された前記ユーザの移動方向に移動するように、前記ヘッドマウントディスプレイ装置に前記視界を表示させるように構成されている、システム。
(項目12)
 前記プロセッサは、検出された前記ユーザの傾きに基づいて前記仮想空間における前記ユーザの移動距離を決定するようにさらに構成されており、
 前記視界を表示させることは、前記ユーザの視界が前記移動方向に向かって前記移動距離だけ移動するように、前記視界を表示させることを含む、項目11に記載のシステム。
(項目13)
 システムであって、
 ヘッドマウントディスプレイ装置と、
 前記ヘッドマウントディスプレイ装置に仮想空間を提供するためのコンピュータと、
 前記ヘッドマウントディスプレイ装置のユーザの傾きを検出するためのセンサとを備え、
 前記コンピュータは、
  一連の命令を格納するためのメモリと、
  前記一連の命令を実行するためのプロセッサとを備えており、
 前記一連の命令が前記プロセッサによって実行されると、
 前記プロセッサは、
  仮想空間を定義し、
  前記ヘッドマウントディスプレイ装置のユーザの傾きを検出し、
  検出された前記ユーザの傾きに基づいて前記仮想空間における前記ユーザの移動距離を決定し、
  前記仮想空間における前記ユーザの視界が、決定された前記ユーザの移動距離だけ移動するように、前記ヘッドマウントディスプレイ装置に前記視界を表示させるように構成されている、システム。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 10 プロセッサ、11 メモリ、12 ストレージ、13 入出力インターフェイス、14 通信インターフェイス、15 バス、19 ネットワーク、21 中心、22 仮想空間画像、23 視界領域、24,25 領域、26,1400,1600 視界画像、100 システム、112 モニタ、114,120 センサ、130 モーションセンサ、140 注視センサ、150 サーバ、160,160A コントローラ、190 ユーザ、200,200A コンピュータ、220 表示制御モジュール、221 仮想カメラ制御モジュール、222 視界領域決定モジュール、223 視界画像生成モジュール、224 基準視線特定モジュール、230 仮想空間制御モジュール、231 仮想空間定義モジュール、232 仮想オブジェクト生成モジュール、233 物体制御モジュール、234 移動方向決定モジュール、235 移動距離決定モジュール、240 メモリモジュール、241 テンプレート、242 コンテンツ、243 プログラム、250 通信制御モジュール、1100,1300,1500 画像、1110 木、1120 ロープ、1410 馬、1410A 木、1420A 山。
 

Claims (11)

  1.  コンピュータがヘッドマウントディスプレイ装置に仮想空間を提供するための方法であって、
     コンピュータのプロセッサが、仮想空間を定義するステップと、
     前記プロセッサが、前記ヘッドマウントディスプレイ装置のユーザの動作に応じて前記仮想空間を飛翔する物体の飛翔方向を、前記ユーザの動作に基づいて決定するステップと、
     前記プロセッサが、前記仮想空間における前記ユーザの視界が前記飛翔方向に移動するように、前記ヘッドマウントディスプレイ装置に前記視界を表示させるステップとを含む、仮想空間を提供するための方法。
  2.  前記決定するステップは、前記ユーザの動作に基づいて、前記仮想空間における前記物体の飛翔距離を決定するステップを含み、
     前記ヘッドマウントディスプレイ装置に前記視界を表示させるステップは、前記仮想空間内を前記飛翔距離に応じて移動した位置からの視界を前記ヘッドマウントディスプレイに表示させるステップを含む、請求項1に記載の方法。
  3.  前記物体が前記仮想空間内の対象物に到達した場合に、前記プロセッサが、前記仮想空間における前記ユーザを当該対象物まで移動させるステップをさらに含む、請求項1または2に記載の方法。
  4.  前記ユーザを前記対象物まで移動させるステップは、前記物体が静止物に到達した場合に、前記仮想空間において前記ユーザを当該静止物まで移動させることを含む、請求項3に記載の方法。
  5.  前記ユーザを前記対象物まで移動させるステップは、前記物体が移動物に到達した場合に、前記移動物の進行方向に前記ユーザを移動させることを含む、請求項3に記載の方法。
  6.  前記ユーザを当該対象物まで移動させるステップは、前記仮想空間における前記ユーザの周りの風景が前記ユーザに接近するように前記ヘッドマウントディスプレイ装置に前記視界を表示させることを含む、請求項3~5のいずれかに記載の方法。
  7.  前記物体が前記仮想空間内の対象物に到達した場合に、前記プロセッサが、前記対象物が前記ユーザの方に引き寄せられるように前記ユーザの視界を前記ヘッドマウントディスプレイ装置に表示させるステップをさらに含む、請求項1または2に記載の方法。
  8.  前記物体の飛翔方向を決定するステップは、前記ユーザの手の動きに応じた物理量に基づいて、または、前記コンピュータに接続されたコントローラに対する操作に基づいて、前記物体の飛翔方向を決定することを含む、請求項1~7のいずれかに記載の方法。
  9.  前記物体の飛翔距離を決定するステップは、前記ユーザの手の動きに応じた物理量に基づいて、または、前記コンピュータに接続されたコントローラに対する操作に基づいて、前記物体の飛翔距離を決定することを含む、請求項1~8のいずれかに記載の方法。
  10.  請求項1~9のいずれかに記載の方法をコンピュータに実現させるためのプログラム。
  11.  仮想空間を提供するためのシステムであって、
     ヘッドマウントディスプレイ装置と、
     前記ヘッドマウントディスプレイ装置に電気的に接続可能なコンピュータとを備え、
     前記コンピュータは、
      一連の命令を格納するためのメモリと、
      前記一連の命令を実行するためのプロセッサとを備えており、
     前記一連の命令が前記プロセッサによって実行されると、
     前記プロセッサは、
      仮想空間を定義し、
      前記ヘッドマウントディスプレイ装置のユーザの動作に応じて前記仮想空間を飛翔する物体の飛翔方向を、前記ユーザの動作に基づいて決定し、
      前記仮想空間における前記ユーザの視界が前記飛翔方向に移動するように、前記ヘッドマウントディスプレイ装置に前記視界を表示させるように構成されている、システム。
     
PCT/JP2017/021305 2016-06-10 2017-06-08 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム WO2017213218A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201780023847.3A CN109069927A (zh) 2016-06-10 2017-06-08 用于提供虚拟空间的方法、用于使计算机实现该方法的程序以及用于提供虚拟空间的***

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2016116444A JP6126273B1 (ja) 2016-06-10 2016-06-10 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP2016-116444 2016-06-10
JP2016116437A JP6177965B1 (ja) 2016-06-10 2016-06-10 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP2016-116437 2016-06-10

Publications (1)

Publication Number Publication Date
WO2017213218A1 true WO2017213218A1 (ja) 2017-12-14

Family

ID=60573510

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/021305 WO2017213218A1 (ja) 2016-06-10 2017-06-08 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム

Country Status (3)

Country Link
US (2) US10252162B2 (ja)
CN (1) CN109069927A (ja)
WO (1) WO2017213218A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3400706B1 (en) 2016-01-05 2022-04-13 RealD Spark, LLC Gaze correction of multi-view images
CN107980220A (zh) * 2016-12-22 2018-05-01 深圳市柔宇科技有限公司 头戴式显示设备及其视觉辅助方法
WO2019032604A1 (en) 2017-08-08 2019-02-14 Reald Spark, Llc ADJUSTING A DIGITAL REPRESENTATION OF A HEADQUARTERS
JP6340464B1 (ja) * 2017-09-27 2018-06-06 株式会社Cygames プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置
US11017575B2 (en) * 2018-02-26 2021-05-25 Reald Spark, Llc Method and system for generating data to provide an animated visual representation
CN109298779B (zh) * 2018-08-10 2021-10-12 济南奥维信息科技有限公司济宁分公司 基于虚拟代理交互的虚拟训练***与方法
WO2021020143A1 (ja) * 2019-07-30 2021-02-04 ソニー株式会社 画像処理装置、画像処理方法、及び記録媒体
DE102019124386A1 (de) * 2019-09-11 2021-03-11 Audi Ag Verfahren zum Betreiben einer Virtual-Reality-Brille in einem Fahrzeug sowie Virtual-Reality-System mit einer Virtual-Reality-Brille und einem Fahrzeug
CN113722644B (zh) * 2021-09-03 2023-07-21 如你所视(北京)科技有限公司 基于外接设备在虚拟空间选取浏览点位的方法及其装置
CN113730905A (zh) * 2021-09-03 2021-12-03 北京房江湖科技有限公司 一种在虚拟空间中实现自由游走的方法及其装置
CN116501175B (zh) * 2023-06-25 2023-09-22 江西格如灵科技股份有限公司 虚拟角色移动方法、装置、计算机设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007116309A (ja) * 2005-10-19 2007-05-10 Seiko Epson Corp 画像情報再生装置
JP2010237882A (ja) * 2009-03-30 2010-10-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2013039225A (ja) * 2011-08-16 2013-02-28 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP2014038403A (ja) * 2012-08-13 2014-02-27 Konami Digital Entertainment Co Ltd 表示制御装置、表示制御装置の制御方法、表示制御システム、表示制御システムの制御方法、及びプログラム
JP5869177B1 (ja) * 2015-09-16 2016-02-24 株式会社コロプラ 仮想現実空間映像表示方法、及び、プログラム
JP2016158794A (ja) * 2015-02-27 2016-09-05 株式会社ソニー・インタラクティブエンタテインメント 表示制御プログラム、表示制御装置、及び表示制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5629594A (en) * 1992-12-02 1997-05-13 Cybernet Systems Corporation Force feedback system
US6753828B2 (en) * 2000-09-25 2004-06-22 Siemens Corporated Research, Inc. System and method for calibrating a stereo optical see-through head-mounted display system for augmented reality
US7646394B1 (en) * 2004-03-05 2010-01-12 Hrl Laboratories, Llc System and method for operating in a virtual environment
JP4673570B2 (ja) * 2004-03-31 2011-04-20 株式会社セガ 画像生成装置、画像表示方法及びプログラム
US9891435B2 (en) * 2006-11-02 2018-02-13 Sensics, Inc. Apparatus, systems and methods for providing motion tracking using a personal viewing device
US8416152B2 (en) * 2008-06-11 2013-04-09 Honeywell International Inc. Method and system for operating a near-to-eye display
US8913009B2 (en) * 2010-02-03 2014-12-16 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
CN105144248B (zh) * 2013-04-16 2019-08-06 索尼公司 信息处理设备和信息处理方法、显示设备和显示方法与信息处理***
US20150185825A1 (en) * 2013-12-30 2015-07-02 Daqri, Llc Assigning a virtual user interface to a physical object
CN103877726B (zh) * 2014-04-10 2017-09-26 北京蚁视科技有限公司 一种虚拟现实组件***
CN204864894U (zh) * 2015-08-19 2015-12-16 天津先驱领域科技有限公司 一种用于虚拟现实游戏的头盔
CN105222761A (zh) * 2015-10-29 2016-01-06 哈尔滨工业大学 借助虚拟现实及双目视觉技术实现的第一人称沉浸式无人机驾驶***及驾驶方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007116309A (ja) * 2005-10-19 2007-05-10 Seiko Epson Corp 画像情報再生装置
JP2010237882A (ja) * 2009-03-30 2010-10-21 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP2013039225A (ja) * 2011-08-16 2013-02-28 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP2014038403A (ja) * 2012-08-13 2014-02-27 Konami Digital Entertainment Co Ltd 表示制御装置、表示制御装置の制御方法、表示制御システム、表示制御システムの制御方法、及びプログラム
JP2016158794A (ja) * 2015-02-27 2016-09-05 株式会社ソニー・インタラクティブエンタテインメント 表示制御プログラム、表示制御装置、及び表示制御方法
JP5869177B1 (ja) * 2015-09-16 2016-02-24 株式会社コロプラ 仮想現実空間映像表示方法、及び、プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NOBUHISA TANAKA: "A Survey of Countermeasure Design for Virtual Reality Sickness", TRANSACTIONS OF THE VIRTUAL REALITY SOCIETY OF JAPAN, vol. 10, no. 1, 31 March 2005 (2005-03-31), pages 129 - 138, XP055445018 *
ROBIN BOUCHE R ET AL.: "VR Yoi Taisaku no Jirei", GREE ENGINEERS' BLOG, 5 December 2015 (2015-12-05), XP055445014, Retrieved from the Internet <URL:http://labs.gree.jp/blog/2015/12/14618> *

Also Published As

Publication number Publication date
US10589176B2 (en) 2020-03-17
CN109069927A (zh) 2018-12-21
US20190232165A1 (en) 2019-08-01
US20170354882A1 (en) 2017-12-14
US10252162B2 (en) 2019-04-09

Similar Documents

Publication Publication Date Title
WO2017213218A1 (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP6470796B2 (ja) 情報処理方法、プログラム及びコンピュータ
JP6126273B1 (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP2017220224A (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP6425846B1 (ja) プログラム、情報処理装置、及び情報処理方法
JP6446150B1 (ja) プログラム、情報処理装置、および方法
JP2018147377A (ja) 情報処理方法、コンピュータ、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6513241B1 (ja) プログラム、情報処理装置、及び情報処理方法
JP6495398B2 (ja) 仮想空間を提供するための方法、プログラム、および当該プログラムを実行するための情報処理装置
JP2019074962A (ja) 仮想体験を提供するためのプログラム、コンピュータ、および方法
JP7192151B2 (ja) プログラム、情報処理装置、及び情報処理方法
JP6839046B2 (ja) 情報処理方法、装置、情報処理システム、および当該情報処理方法をコンピュータに実行させるプログラム
JP6934383B2 (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP6382928B2 (ja) 仮想空間における画像の表示を制御するためにコンピュータによって実行される方法、当該方法をコンピュータに実現させるためのプログラム、および、コンピュータ装置
JP2019168962A (ja) プログラム、情報処理装置、及び情報処理方法
JP6220473B1 (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、当該プログラムを記録した記録媒体、および仮想空間を提供するためのシステム
JP2020044132A (ja) プログラム、情報処理装置、及び情報処理方法
JP2018147375A (ja) 情報処理方法、コンピュータ、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6177965B1 (ja) 仮想空間を提供するための方法、当該方法をコンピュータに実現させるためのプログラム、および仮想空間を提供するためのシステム
JP2019155115A (ja) プログラム、情報処理装置、及び情報処理方法
JP6330072B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2019179434A (ja) プログラム、情報処理装置、及び情報処理方法
JP2019020829A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2019211865A (ja) コンピュータプログラム、情報処理装置および情報処理方法
JP7037467B2 (ja) プログラム、情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17810391

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17810391

Country of ref document: EP

Kind code of ref document: A1