WO2019065846A1 - プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置 - Google Patents

プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置 Download PDF

Info

Publication number
WO2019065846A1
WO2019065846A1 PCT/JP2018/035948 JP2018035948W WO2019065846A1 WO 2019065846 A1 WO2019065846 A1 WO 2019065846A1 JP 2018035948 W JP2018035948 W JP 2018035948W WO 2019065846 A1 WO2019065846 A1 WO 2019065846A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual space
virtual
user
display
unit
Prior art date
Application number
PCT/JP2018/035948
Other languages
English (en)
French (fr)
Inventor
英世 諫山
修一 倉林
Original Assignee
株式会社Cygames
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Cygames filed Critical 株式会社Cygames
Priority to CN201880076384.1A priority Critical patent/CN111417989B/zh
Publication of WO2019065846A1 publication Critical patent/WO2019065846A1/ja
Priority to US16/832,122 priority patent/US11036053B2/en

Links

Images

Classifications

    • 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
    • G02B27/0172Head mounted characterised by optical features
    • 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
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • 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
    • 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
    • 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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • 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/0101Head-up displays characterised by optical features
    • 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
    • G06F3/012Head tracking input arrangements
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0123Head-up displays characterised by optical features comprising devices increasing the field of view
    • 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

Definitions

  • the present invention relates to a program and the like, and to a program and the like for displaying on a display unit of a head-mounted display device.
  • HMD head mounted display
  • video an image
  • a display unit such as a display disposed in front of the eye
  • VR virtual reality
  • GUI object such as a selectable message window
  • Patent Document 1 discloses an input method for performing input using a GUI placed in a virtual space.
  • GUI objects arranged in the virtual space need to be arranged relatively close to the user so that they can be recognized.
  • the virtual reality space virtual space
  • the VR application causes a sense of intuitiveness for the user. It will Specifically, for the user experiencing the world of VR, the user's arms, hands, etc. give an impression that the GUI object is penetrated or buried, so the immersiveness is greatly impaired. I will.
  • the present invention has been made to solve such problems, and its main object is to provide a program and the like capable of displaying a GUI object appropriately to a user in a virtual reality space.
  • a program is executed by a processing device that performs a drawing process of a virtual space including a predetermined GUI object displayed on a display unit of a head-mounted display device.
  • the processing device determines the viewpoint position of the user in the virtual space based on the position of the head mounted display in the real space acquired using a sensor;
  • the step of determining the movable range of the user, the step of determining the position of the GUI object within the virtual space area outside the movable range determined, the display of the depth and the unit length in the virtual space Using the correspondence with the display size above, the GUI object at the determined position has a constant display size on the display unit. To determine the size of the GUI object in the virtual space, and generating drawing data of the virtual space including the GUI object of the determined size. I assume.
  • the processing device is included in the head mounted display.
  • the processing device is included in an information processing device communicably connected to the head mounted display device.
  • the drawing process includes a drawing process of drawing a virtual object corresponding to the position of the controller based on the position of the controller held by the user in the real space, and the movable range of the user Includes the movable range of the virtual object corresponding to the position of the controller.
  • the GUI object of the constant display size does not overlap with another virtual object when viewed from the viewpoint position of the user. Determine the position of
  • the GUI object includes at least one of a selection window, a timed window, a progress bar, and a scroll bar.
  • an information processing method is to perform drawing processing of a virtual space including a predetermined GUI object displayed on a display unit of a head-mounted display device.
  • An information processing method comprising: determining a viewpoint position of a user in the virtual space based on a position of the head mounted display in the real space acquired using a sensor; Determining the movable range; determining the position of the GUI object within the virtual space area outside the determined movable range; and displaying the depth and unit length in the virtual space on the display unit Using the correspondence relationship with the size, the G object so that the GUI object at the determined position has a constant display size on the display unit. Determining the size in the virtual space of the I object, and having the steps of: drawing the virtual space on the display unit including the GUI object of the determined size.
  • an information processing system is an information processing system including a head mounted display having a display unit for displaying a virtual space to a user.
  • a sensor for acquiring the position of the head-mounted display in the real space
  • a processor for drawing a virtual space including a predetermined GUI object to be displayed on the display, a depth, and the virtual space in the virtual space
  • a storage unit for storing data indicating a correspondence between the unit length and the display size on the display unit, and the processing unit is configured to determine the viewpoint of the user in the virtual space based on the position acquired by the sensor.
  • the position is determined, the movable range of the user in the virtual space is determined, and the GUI object is determined within the virtual space area outside the determined movable range.
  • the GUI object is determined within the virtual space area outside the determined movable range.
  • a size is determined, and the virtual space including the GUI object of the determined size is drawn on the display unit.
  • the information processing system includes a controller held by the user, and the drawing processing draws a virtual object corresponding to the position of the controller based on the position of the controller in the real space.
  • the movable range of the user includes the movable range of the virtual object corresponding to the position of the controller.
  • the data stored by the storage unit is created in advance by measuring a display size displayed on the display unit of a unit length in the virtual space for each depth.
  • the information processing system includes an information processing device communicably connected to the head mounted display, and the processing unit includes the head mounted display and the information processing. It is realized by the device.
  • a head mounted display is a head mounted display including a display unit for displaying a virtual space to a user.
  • a processing unit for drawing a virtual space including a predetermined GUI object to be displayed on the display unit, and data indicating the correspondence between the depth and the display size on the display unit of the unit length in the virtual space A storage unit, and the processing unit determines the viewpoint position of the user in the virtual space based on the position of the head mounted display in the real space acquired using a sensor, and the virtual space Determining the movable range of the user at the position of the GUI object, determining the position of the GUI object in the virtual space area outside the determined movable range, and storing the data stored by the storage unit.
  • the size of the GUI object in the virtual space is determined such that the GUI object at the determined position has a constant display size on the display unit using
  • the virtual space including the GUI object is drawn on the display unit.
  • an information processing apparatus for performing drawing processing of a virtual space including a predetermined GUI object displayed on a display unit of a head-mounted display device.
  • An information processing apparatus which stores data indicating a correspondence between a processing unit performing drawing processing of the virtual space displayed on the display unit and a display size on the display unit of the unit length in the virtual space and the depth And the processing unit determines the viewpoint position of the user in the virtual space based on the position of the head mounted display in the real space acquired using a sensor, and Determining the movable range of the user in the space, determining the position of the GUI object in the virtual space area outside the determined movable range, and storing the position by the storage unit; The size of the GUI object in the virtual space is determined using the data so that the GUI object at the determined position has a constant display size on the display unit, and the size of the determined size is determined. Data for rendering the virtual space including the GUI object on the display unit is transmitted to the head mounted display.
  • GUI objects can be appropriately displayed to the user in the virtual reality space.
  • FIG. 1 is an overall configuration diagram of an information processing system according to an embodiment of the present invention. It is a block diagram showing the hardware constitutions of the information processor by one embodiment of the present invention. It is a block diagram showing the hardware constitutions of HMD by one embodiment of the present invention.
  • FIG. 1 is a schematic external view of a controller according to an embodiment of the present invention. It is a functional block diagram of the information processing system by one embodiment of the present invention. It is a figure which shows an example of the GUI object which the display part by one Embodiment of this invention displays. It is a figure which shows an example of the virtual body which the display part by one Embodiment of this invention displays.
  • FIG. 7 illustrates an example of a perspective characteristic profile according to an embodiment of the present invention. It is a flowchart which shows the information processing of the information processing system by one Embodiment of this invention.
  • the VR system virtual reality space
  • the VR system corresponds to the display of the HMD when the user's own hand wearing the HMD is within the user's view area Image of a virtual hand to be displayed.
  • FIG. 1 is an overall configuration diagram of an information processing system 1 according to an embodiment of the present invention.
  • the information processing system 1 includes an information processing apparatus 10, a head mounted display (HMD) 20 worn by the user on the head, a controller 30 held by the user, an imaging device 40, and an output device 50. Prepare.
  • the information processing system 1 causes the user wearing the HMD 20 to experience virtual reality.
  • HMD head mounted display
  • the imaging device 40 includes a camera including an infrared sensor, captures an image at a predetermined frame rate, and sends the captured image to the information processing device 10.
  • the imaging device 40 is attached to the top of the output device 50.
  • the imaging device 40 is configured to photograph the HMD 20 worn by the user and send the photographed image to the information processing device 10.
  • the imaging device 40 captures an infrared ray emitted by the HMD 20 mounted by the user at a predetermined frame rate, sequentially sends the captured image to the information processing device 10, and the information processing device 10 performs the image Acquire sequentially.
  • the camera of the imaging device 40 includes an image sensor used in a general camera such as a CCD sensor or a CMOS sensor instead of or in addition to the infrared sensor.
  • the information processing apparatus 10 executes VR applications which are various applications such as a game for providing a virtual reality space to the user wearing the HMD 20.
  • the information processing device 10 is electrically connected to the HMD 20, the controller 30, the imaging device 40, and the output device 50, respectively.
  • the information processing apparatus 10 and each apparatus may be connected via known wired communication such as a cable, or may be connected via known wireless communication such as a wireless LAN.
  • the VR application in the present embodiment is a live experience VR game that provides the user wearing the HMD 20 with an experience of watching live such as an idol in the audience of the live venue.
  • the VR application executed by the information processing apparatus 10 is not limited to this.
  • FIG. 2 is a block diagram showing the hardware configuration of the information processing apparatus 10 according to an embodiment of the present invention.
  • the information processing apparatus 10 includes a processor 11, a storage device 12, an input / output interface (input / output IF) 13, and a communication interface (communication IF) 14. These components are connected by a bus 15. An interface is interposed between the bus 15 and each component device as necessary. Note that the information processing apparatus 10 may be configured by a plurality of electronic devices.
  • the processor 11 is a processing device that controls the overall operation of the information processing device 10, and is, for example, a CPU. Note that an electronic circuit such as an MPU may be used as the processor 11.
  • the processor 11 executes various processes by reading and executing programs and data stored in the storage device 12.
  • the processor 11 also includes a GPU that performs drawing processing, and the information processing apparatus 10 generates a virtual space image to be presented to the user wearing the HMD 20 and transmits the virtual space image to the HMD 20.
  • the input / output IF 13 is an interface for connecting input / output devices such as the imaging device 40, a display, a keyboard, and a mouse.
  • the communication IF 14 is a communication interface for connecting to another computer or device via wired communication or wireless communication.
  • the information processing apparatus 10 is connected to the HMD 20 via the communication IF 14.
  • each IF is described as described above, but the type of interface in each device is not limited to the above, and a different interface may be provided for each device.
  • the storage unit 12 includes a main storage unit and an auxiliary storage unit.
  • the main storage device is, for example, a semiconductor memory such as a RAM.
  • the RAM is a volatile storage medium capable of high-speed reading and writing of information, and is used as a storage area and a work area when the processor 11 processes information.
  • the main storage device may include a ROM, which is a read only non-volatile storage medium. In this case, the ROM stores a program such as firmware.
  • the auxiliary storage device stores various programs and data used by the processor 11 when executing each program.
  • the auxiliary storage device is, for example, a hard disk device, but may be any non-volatile storage or non-volatile memory as long as it can store information, or may be removable.
  • the auxiliary storage device stores, for example, an operating system (OS), middleware, an application program, various data that can be referred to with the execution of these programs, and the like.
  • the storage device 12 stores a VR application.
  • FIG. 3 is a block diagram showing the hardware configuration of the HMD 20 according to an embodiment of the present invention.
  • the HMD 20 includes a processor 21, a storage device 22, a display device (display unit) 23, an LED light 24, and a communication interface (communication IF) 25.
  • a bus 26 An interface is interposed between the bus 26 and each component device as necessary.
  • the processor 21 is a processing device that controls the overall operation of the HMD 20, and is, for example, a CPU. Note that an electronic circuit such as an MPU may be used as the processor 21.
  • the processor 21 executes various processes by reading and executing programs and data stored in the storage device 22.
  • the HMD 20 displays (draws) the virtual space image received from the information processing device 10 on the display device 23.
  • the processor 21 can also include a GPU that performs drawing processing, and in this case, the HMD 20 can generate a virtual space image instead of the information processing apparatus 10.
  • the storage device 22 includes a main storage device and an auxiliary storage device.
  • the main storage device is, for example, a semiconductor memory such as a RAM.
  • the RAM is a volatile storage medium capable of high-speed reading and writing of information, and is used as a storage area and a work area when the processor 21 processes information.
  • the main storage device may include a ROM, which is a read only non-volatile storage medium. In this case, the ROM stores a program 21 such as firmware.
  • the auxiliary storage device stores various programs and data used by the processor when executing each program.
  • the auxiliary storage device is, for example, a hard disk device, but may be any non-volatile storage or non-volatile memory as long as it can store information, or may be removable.
  • the auxiliary storage device stores, for example, an operating system (OS), middleware, an application program, various data that can be referred to with the execution of these programs, and the like.
  • OS operating system
  • middleware middleware
  • an application program various data
  • the display device 23 is a non-transmissive display such as a liquid crystal display or an organic EL display, and displays a virtual space image to the user wearing the HMD 20.
  • the HMD 20 can be a general video see-through HMD.
  • the display device 23 is a display device in a head mounted display (HMD), for convenience of description, the display device 23 is hereinafter referred to as a display unit 23.
  • the LED lights 24 are configured by infrared LEDs, and a plurality of the LED lights 24 are attached to a housing or the like of the HMD 20.
  • the LED light 24 is attached to achieve tracking of the HMD 20 moving along with the movement of the head of the user.
  • the LED light 24 may be a light emitting element that emits a predetermined color as long as tracking of the HMD 20 can be realized.
  • the communication IF 25 is a communication interface for connecting to another computer or device via wired communication or wireless communication.
  • the HMD 20 is connected to the information communication apparatus 10 via the communication IF 25.
  • the HMD 20 includes an attitude sensor (not shown).
  • the attitude sensor 25 includes a gyro sensor and an acceleration sensor, detects sensor information including the position of the HMD 20, the rotation angle, the direction in which the display unit 23 faces, and the like, sends the sensor information to the information processing apparatus 10, The processing device 10 sequentially acquires the sensor information.
  • the HMD 20 includes a camera (not shown) configured of a CCD sensor, a CMOS sensor, or the like. In this case, the camera sequentially sends the photographed image that has been taken to the information processing apparatus 10, and the information processing apparatus 10 sequentially acquires the images.
  • FIG. 4 is a schematic external view of a controller 30 according to an embodiment of the present invention.
  • the controller 30 is a stick-type controller having a grip 31, an operation button 32, and an LED light 33.
  • the gripping portion 31 is a portion gripped by the user when operating the controller 30.
  • the operation buttons 32 are one or more buttons provided on a conventional game machine.
  • the LED light 33 is configured by an LED that emits light of a predetermined color, and is attached to the end of the controller.
  • the controller 30 includes two controllers corresponding to each of two hands, and the user holds the holding unit 31 and moves an arm or a hand, or operates the operation button 32. Perform user operations.
  • the information processing device 10 tracks the position of the LED light 33 in the captured image acquired from the imaging device 40, and determines the position and movement of the controller 30.
  • the controller 30 transmits information of the button pressed by the user to the information processing apparatus 10.
  • the controller 30 can include a motion sensor including a gyro sensor and an acceleration sensor. In this case, the controller 30 transmits, to the information processing apparatus 10, sensor information including the position, the rotation angle, and the like of the controller 30 detected by the motion sensor.
  • the output device 50 is a display that outputs a general image or sound.
  • the output device 50 is a liquid crystal display, a display using an organic EL, or a plasma display.
  • the output device 50 is configured to output the same image as the virtual space image presented to the user wearing the HMD 20. With such a configuration, an image that a user visually recognizes on the HMD 20 can be confirmed by another user using the output device 50. However, in such a case, the information processing system 1 may not include the output device 50.
  • the output device 50 displays an administrator setting screen. With such a configuration, when the administrator inputs a command from an input device such as a keyboard or a mouse, settings relating to the information processing system 1 can be made.
  • the output device 50 can also include a speaker that outputs a general sound.
  • FIG. 5 is a functional block diagram of the information processing system 1 according to an embodiment of the present invention.
  • the information processing system 1 includes a position determination unit 61, a storage unit 62, and a processing unit 63. These functions are realized by execution of a program by the processor 11 of the information processing apparatus 10 or the processor 21 of the HMD 20. Therefore, at least one of the information processing apparatus 10 and the HMD 20 has various functions shown in FIG. Since various functions are realized by program reading, one part (function) may have part of another part. In some cases, part or all of each function may be realized by hardware by configuring an electronic circuit or the like for realizing each function.
  • the position determination unit 61 determines the position of the HMD 20 from the acquired sensor information using the imaging device 40 as a position determination sensor.
  • the position determination unit 61 specifies the positions of the plurality of LED lights 24 attached to the HMD 20 from the captured image of the HMD 20 mounted by the user, which is sequentially acquired from the imaging device 40, thereby identifying the position and tilt of the HMD 20. Decide.
  • the position of the HMD 20 determined by the position determination unit 61 is determined by the relative position with respect to the imaging device 40. In one example, the position determination unit 61 further determines the direction in which the display unit 23 of the HMD 20 faces by specifying the positions of the plurality of LED lights 24 attached to the HMD 20. With such a configuration, the information processing system 1 can recognize the position, tilt, movement, and the like of the head of the user, and can determine the position of the user and the view area of the user.
  • an attitude sensor provided in the HMD 20 is used as a sensor for position determination.
  • the position determination unit 61 further uses the sensor information detected by the posture sensor to determine the position and the inclination of the HMD 20.
  • the position determination unit 61 can perform tracking processing with high accuracy.
  • the above-described tracking process is an example, and other known techniques can be used.
  • the position determination unit 61 uses the imaging device 40 for specifying the position of the LED light 24 in combination with a sensor that irradiates the object with the reference light and measures the reflected light, whereby the position of the HMD 20 is obtained. And determine the slope.
  • the position determination unit 61 determines the position and tilt of the HMD 20 from the acquired sensor information, using only the camera provided in the HMD 20 as a sensor for position determination.
  • the position determination unit 61 determines the position and the inclination of the HMD 20 by specifying the relative position with the object to be photographed from the photographed image in which the imaging device 40 and the like sequentially acquired from the HMD 20 are photographed.
  • the position determination unit 61 determines the position of the controller 30 from the acquired sensor information, using the imaging device 40 as a position determination sensor.
  • the position determination unit 61 specifies the position of the controller 30 by specifying the position of the LED light 33 attached to the controller 30 from the captured image captured by the controller 30 sequentially acquired from the imaging device 40 and captured by the user. Determine the slope.
  • the position determination unit 61 determines the position and the tilt of each of the two controllers.
  • a motion sensor provided in the controller 30 is used as a sensor for position determination.
  • the position determination unit 61 further uses the sensor information detected by the motion sensor to determine the position and the tilt of the controller 30.
  • the position determination unit 61 can perform tracking processing with high accuracy.
  • the above-described tracking process is an example, and other known techniques can be used.
  • the position determination unit 61 continues to determine the positions of the HMD 20 and the controller 30 using sensor information sequentially acquired from the position determination sensor. In one example, the position determination unit 61 continues to determine the position and the inclination of the HMD 20 periodically at predetermined intervals in accordance with the captured images sequentially acquired from the imaging device 40. In one example, the position determination unit 61 continues to determine the position and the inclination of the controller 30 periodically at predetermined intervals according to the captured images sequentially acquired from the imaging device 40.
  • the storage unit 62 stores programs, data, and the like in the storage device 12 or the storage device 22.
  • the storage unit 62 stores information on a virtual space and information on a virtual object arranged in the virtual space.
  • the processing unit 63 performs various processes for executing a VR application such as a game.
  • the processing unit 63 includes a user environment determination unit 64, a virtual object control unit 65, a user operation processing unit 66, and a display image generation unit 67.
  • the user environment determination unit 64 constructs a three-dimensional virtual space according to the content determined by the VR application, and the user in the virtual space based on the position of the HMD 20 in the real space acquired using a sensor for position determination. Determine the initial position.
  • the initial position of the user is the user position in the initial state such as when the VR system is activated, the user position includes the viewpoint position of the user, and the user environment determination unit 64 arranges the virtual camera at the viewpoint position of the user.
  • the image viewed from the virtual camera is an image viewed by the user, it is understood that the area captured by the virtual camera, that is, the visual field of the virtual camera corresponds to the visual field of the user.
  • the user environment determination unit 64 determines the user's initial position by determining the user's position and direction by using the position and tilt of the HMD 20 determined by the position determination unit 61, and determines the user's field of view. .
  • the user environment determining unit 64 determines the movable range of the user, which is a range in which the user can move in the virtual space, using the initial position of the user. For example, if the VR application is a live experience VR game, the user environment determination unit 64 constructs a three-dimensional virtual space in the live hall, determines the position of the user's seating area and the visibility area, and moves the user in the live hall Determine the range.
  • the position determination unit 61 determines the position of the HMD 20 based on the relative position to the imaging device 40, and the user environment determination unit 64 determines the initial position of the user in the virtual space according to the position of the HMD 20 thus determined. Decide. In one example, the user environment determination unit 64 determines the movable range of the user based on the area in which the user can move in the real space. For example, the user environment determination unit 64 sets the boundary in the depth direction of the movable range of the user in front of the position in the virtual space corresponding to the position of the imaging device 40 existing in the real space.
  • the user environment determination unit 64 determines the user's number at the time of VR system startup such as virtual space construction according to the virtual space environment constructed according to the position of the HMD 20 in real space and the contents of the VR application. Determine the movable range.
  • the user environment determining unit 64 determines the viewing area of the virtual camera by determining the position and direction of the user from the position and the tilt of the HMD 20 determined by the position determining unit 61.
  • the length in the virtual space constructed by the user environment determination unit 64 is substantially the same as the length in the real space.
  • the user environment determination unit 64 continues to determine the viewpoint position of the user and the visual field area of the virtual camera using the position and inclination of the HMD 20 which the position determination unit 61 periodically determines at predetermined intervals.
  • the length in the virtual space constructed by the user environment determination unit 64 may not be the same as the length in the real space, as long as it corresponds to the length in the real space.
  • the virtual object control unit 65 arranges the virtual object of the set size at the set position in accordance with the content determined by the VR application. For example, when the VR application is a live experience VR game, the virtual object control unit 65 is a virtual object of an object such as a wall, a seat, or a fence of a building that constitutes a live hall, and a virtual object of a person such as an idol or another customer Place.
  • the display image generation unit 67 described later generates a virtual space image including the virtual object as viewed from the virtual camera, when there is a virtual object arranged in the visual field area of the virtual camera.
  • the virtual object includes a predetermined GUI object such as a selective window for causing the user to perform a selection operation using the controller 30, or a message window for alerting the user of the setting.
  • a predetermined GUI object such as a selective window for causing the user to perform a selection operation using the controller 30, or a message window for alerting the user of the setting.
  • the GUI object includes at least one of a selective window, a timed window, a progress bar, and a scroll bar.
  • FIG. 6 is an example of a GUI object according to an embodiment of the present invention, specifically an example of a GUI object in a live sensation VR game, showing a virtual space image including the GUI object generated by the display image generation unit 67. It is.
  • the virtual object control unit 65 arranges the GUI object at a predetermined position in the virtual space in the same manner as other virtual objects. This is because, when the processing unit 63 is configured to completely separate the GUI object from the virtual space and display the GUI object on the display unit 23 of the HMD 20, the user experiencing the world of VR loses a sense of immersion. .
  • the information processing system 1 arranges the GUI object in order to make the user visually recognize in the virtual space, not to make the user touch the GUI object in the virtual space and perform the user operation.
  • the GUI object shown in FIG. 6 includes a window for asking the user "Do you want to start LIVE again?" And a window for receiving answers from "Yes” and "No” users.
  • the user operation processing unit 66 described later determines whether or not to start LIVE again by accepting a selection operation using the controller 30 by the user.
  • the GUI object in the present embodiment is a virtual object that needs to be recognized by the user, such as prompting the user to perform a selection operation using the controller 30.
  • the user operation processing unit 66 uses the positions and inclinations of the two controllers 30 determined by the position determination unit 61 to create a stick shape corresponding to the controller 30 at a position in the virtual space corresponding to the position of the controller 30 in real space. Place a virtual penlight. At this time, the user operation processing unit 66 estimates the position of the arm or hand holding the penlight from the position and inclination of the virtual penlight, and combines the virtual hand or virtual arm holding the virtual penlight. Deploy. Therefore, the user operation processing unit 66 sets the virtual body including the virtual penlight, the virtual hand, and the virtual arm in the virtual space corresponding to the controller 30, the user's hand, and the user's arm in real space.
  • the virtual body may include at least one of a virtual penlight, a virtual hand, and a virtual arm. Further, since the above-described function of the user operation processing unit 66 is the arrangement of virtual objects according to the user operation, the virtual object control unit 65 may perform part or all.
  • the stick-like virtual penlight is an example of a stick-like virtual object corresponding to the stick-like controller 30, and is not limited to this shape.
  • the user operation processing unit 66 continues to update the position of the virtual body using the position and the inclination of the controller 30 which the position determination unit 61 periodically determines at predetermined intervals.
  • the user operation processing unit 66 performs predetermined processing in the VR application according to the content determined by the VR application and the information of the operation button 32 pressed by the user. For example, at this time, the controller 30 transmits operation information which is information of the operation button 32 pressed by the user to the information processing apparatus 10, and the user operation processing unit 66 uses the operation information received by the information processing apparatus 10. Perform predetermined processing. Further, for example, when the GUI object shown in FIG. 6 is displayed, the user operation processing unit 66 can determine whether to start LIVE again according to the operation information received from the controller 30.
  • the display image generation unit 67 generates a virtual space image viewed from a virtual camera displayed on the display unit 23 of the HMD 20 presented to the user.
  • the display image generation unit 67 changes the display size of the arranged virtual object according to the distance from the virtual camera. For example, when the display image generation unit 67 generates an image of a virtual object of the same size, the near virtual object is displayed large and the far virtual object is displayed small.
  • the display image generation unit 67 is realized by implementing a conventionally known LOD that reduces the number of polygons according to the distance from the virtual camera.
  • the display image generation unit 67 When a virtual object is present in the field of view of the virtual camera, the display image generation unit 67 generates a virtual space image including the virtual object present in the field of view. Similarly, when a virtual body is present in the visual field area of the virtual camera, the display image generation unit 67 generates a virtual space image including the virtual body present in the visual field area.
  • FIG. 7 is an example of a virtual body displayed by the display unit 23 according to an embodiment of the present invention, specifically, an example of a virtual body displayed by the display unit 23 in a live sensation VR game.
  • the display image generation unit 67 includes a virtual body including a virtual pen light 71, a virtual hand 72, and a virtual arm 73 existing in the viewing area of the virtual camera. Generate a virtual space image.
  • the information processing system 1 determines whether the virtual body that the user recognizes through the display unit 23 is the user's own hands and arms and a pen light that the user holds by itself. Can be recognized by the user. This makes it possible to give the user an immersive feeling that is one of the attractiveness of VR.
  • the movable range of the user determined by the user environment determination unit 64 includes the movable range of the virtual object corresponding to the controller 30 in the real space.
  • the movable range of the user determined by the user environment determination unit 64 is an area in virtual space where virtual bodies including virtual pen lights, virtual hands, and virtual arms may be arranged. Including.
  • the virtual object control unit 65 determines the position at which the GUI object is arranged to be a predetermined position at a depth deeper than the movable range of the user.
  • the information processing system 1 prevents the virtual body and the GUI object from interfering with each other. For example, this makes it possible to prevent the user's arm from giving an impression that the GUI object is penetrated or buried.
  • the virtual object control unit 65 arranges the GUI object at a position deeper than the movable range of the user, the display size of the GUI object in the virtual space image generated by the display image generation unit 67 becomes smaller. That is, the display size of the GUI object displayed on the display unit 23 by the HMD 20 is reduced.
  • the GUI object is a selective window for causing the user to perform a selection operation using the controller 30, a message window for alerting the user, or the like, and since the user needs to be recognized, the display size is It is not desirable to reduce the size.
  • the virtual object control unit 65 determines the size of the GUI object in the virtual space so that the GUI object at the determined position has a constant display size on the display unit 23. Do.
  • the size in the virtual space is, for example, the vertical length and the horizontal length in the virtual space.
  • the storage unit 62 stores a perspective characteristic profile which is data indicating the correspondence between the depth, which is the distance from the virtual camera, and the display size on the display unit 23 of the unit length in the virtual space.
  • the perspective characteristic profile is generated, for example, at the time of VR application development, etc., before the VR application is available to general users.
  • the perspective characteristic profile generally needs to be generated for each VR application because it varies depending on the VR application.
  • the perspective characteristic profile displays a unit length as a reference of perspective on the display unit 23, changes the depth of the unit length, and measures the relationship between the display size displayed on the unit length display unit 23 and the depth. It is generated by doing and is made beforehand.
  • the unit length indicates a reference length in the virtual space, and may be a length that can indicate the relationship between the display size on the display unit 23 of the unit length and the depth, and a specific length It is not limited to.
  • FIG. 8 is an example of a perspective characteristic profile according to an embodiment of the present invention.
  • the perspective characteristic profile shown in FIG. 8 is a function indicating the relationship between the side length (unit length) of the grid which is the basis of perspective in virtual space and the depth (depth) from the virtual camera.
  • the horizontal axis in FIG. 8 is depth, and the larger the value, the deeper the position, ie, the position farther from the virtual camera.
  • the vertical axis in FIG. 8 is the length (length (d)) at which the unit length is displayed on the display unit 23 at a certain depth, and the larger the value, the longer the displayed length. Indicates that the number is large.
  • D1 indicates the position farthest from the virtual camera in the movable range of the user determined by the user environment determination unit 64, that is, the limit position of the depth of the movable range of the user, and is a reaching limit point of the virtual body of the user.
  • D2 indicates the position of the depth at which the GUI object is arranged, and is the position of a depth deeper than D1 set by the virtual object control unit 65.
  • the display size displayed on the display unit 23 can be made constant at the position of any depth. it can.
  • the length vrscale in the virtual space of the side required for that purpose Is expressed by Equation 1 below.
  • the unit length is grid_length.
  • the virtual object control unit 65 uses the perspective characteristic profile, for example, the equation 1 so that the GUI object at the determined position has a constant display size on the display unit 23.
  • the display size of the GUI object on the display unit 23 is represented, for example, by the number of pixels on the screen of the display unit 23, and the constant display size is a constant size that can be recognized by the user. .
  • the display image generation unit 67 when there is a GUI object in the visual field area of the virtual camera, the display image generation unit 67 generates a virtual space image including the GUI object of a constant display size.
  • the display image generation unit 67 it is possible to display a GUI object of a certain size on the display unit 23 while arranging the GUI object at a position out of reach of the user. This makes it possible to display a GUI object that has high visibility and does not interfere with the virtual body of the user.
  • the virtual object control unit 65 can also determine the position of the GUI object so that the GUI object of a certain display size does not overlap with another virtual object in the visual field area of the virtual camera.
  • the perspective characteristic profile is not a function as long as it is a data indicating the correspondence between a plurality of depth distances and the display size on the display unit 23 of the unit length in the virtual space at each of the depth distances. Good.
  • the information processing shown in FIG. 9 is realized by causing the information processing apparatus 10 to execute the program, or realized by causing the HMD 20 to execute the program, or causing the information processing apparatus 10 to execute the program, and the program Is realized by causing the HMD 20 to execute.
  • the information processing apparatus 10 is mainly described as performing information processing, the HMD 20 can also perform part or all of the information processing.
  • the information processing apparatus 10 starts this information processing, for example, when the VR system provided by the information processing system 1 is started.
  • the information processing apparatus 10 determines the user's viewpoint position in the virtual space by determining the user's position and direction from the position and inclination of the HMD 20 determined using the sensor.
  • the information processing apparatus 10 arranges the virtual camera at the determined viewpoint position of the user.
  • step 902 the information processing apparatus 10 determines a movable range of the user, which is a range in which the user can move in the virtual space, based on the constructed environment of the virtual space and the viewpoint position of the user.
  • step 903 the information processing apparatus 10 determines the position where the GUI object is to be disposed to a predetermined position at a depth deeper than the movable range of the user within the virtual space area outside the movable range of the user.
  • step 904 the information processing apparatus 10 sets the size of the GUI object in the virtual space so that the GUI object at the arranged position has a constant display size on the display unit 23 at the determined viewpoint position of the user. To determine the At this time, the information processing apparatus 10 determines the size of the GUI object in the virtual space using data indicating the correspondence between the depth such as the perspective characteristic profile and the display size on the display unit 23 of the unit length in the virtual space. Do.
  • the information processing apparatus 10 generates drawing data of a virtual space including the GUI object of the determined size. Specifically, the information processing apparatus 10 generates a virtual space image viewed from a virtual camera displayed on the display unit 23 of the HMD 20. The information processing apparatus 10 transmits the generated virtual space image to the HMD 20, and the HMD 20 displays the image on the display unit 23. However, the information processing apparatus 10 may generate data such as a drawing command for generating a virtual space image viewed from a virtual camera displayed on the display unit 23 by the HMD 20.
  • the information processing apparatus 10 performs steps based on the position and inclination of the HMD 20 determined regularly using sensors at predetermined intervals.
  • the viewpoint position of the user and the visual field area of the virtual camera are updated, and the process returns to step 904.
  • the information processing apparatus 10 updates the arrangement position of the virtual camera to the updated viewpoint position of the user.
  • the information processing apparatus 10 measures the size of the GUI object in the virtual space so that the GUI object at the arranged position has a constant display size on the display unit 23 at the updated viewpoint position of the user. Decide.
  • the present information processing indicates processing of the information processing apparatus 10 in the case where a GUI object is present in the visual field area of the virtual camera.
  • the information processing apparatus 10 determines whether or not the GUI object is present in the visual field area of the virtual camera before the step 905, and executes the step 905 only when the GUI object is present. .
  • the information processing apparatus 10 determines whether a GUI object is present in the visual field area of the virtual camera and executes steps 904 and 905 only when the GUI object is present. Do.
  • the user environment determination unit 64 determines the viewpoint position of the user and determines the movable range of the user based on the position of the HMD 20 in the real space when the VR system is activated. After determining the movable range of the user according to the environment as described above, the virtual object control unit 65 arranges the GUI object (GUI element) at a predetermined position deeper than the movable range. Subsequently, using the perspective characteristic profile, the virtual object control unit 65 determines the size of the GUI object in the virtual space so that the GUI object at the determined position has a constant display size on the display unit 23. .
  • GUI object GUI element
  • the display image generation unit 67 generates a virtual space image including a virtual body including the virtual pen light 71, the virtual hand 72, and the virtual arm 73 existing in the visual field area of the virtual camera.
  • the user is made to recognize the virtual body recognized by the user through the display unit 23 as if the user's own hands and arms and a pen light held by the user itself It becomes possible. This makes it possible to give the user an immersive feeling that is one of the attractiveness of VR.
  • the present embodiment it is possible to display a GUI object of a certain size on the display unit 23 while arranging the GUI object at a position out of reach of the user. This makes it possible to display a GUI object that has high visibility and does not interfere with the virtual body of the user. Further, by adopting such a configuration, in the present embodiment, compared with the configuration in which the GUI object is completely separated from the VR space and displayed on the display unit 23 of the HMD 20, a wide range of situations are provided while providing the user with an immersive feeling. It is possible to give high visibility below.
  • the information processing system 1, the information processing method, the program for executing the method, and the like according to the embodiment configured as described above are VR games in which UI elements such as windows independent of the background configuring the VR space are displayed. Etc. can be used generically for VR applications.
  • the virtual object control unit 65 can determine the position of the GUI object so that the GUI object having a predetermined display size does not overlap with another virtual object when viewed from the viewpoint position of the user. This makes it possible to display a GUI object with high visibility.
  • the program according to the embodiment of the present invention realizes the above-described operation of the information processing system 1 by causing the processor 11 or the processor 21 to execute the program, and thus the function and effect of the program are the same as the information processing system 1 .
  • a computer readable storage medium storing a program for realizing the information processing shown in the functions and flowcharts of the embodiments of the present invention described above can also be used.
  • a server that can supply a computer with a program that implements the information processing shown in the functions and flowcharts of the embodiments of the present invention described above can also be used.
  • a virtual machine can be realized that implements the information processing shown in the functions and flowcharts of the embodiments of the present invention described above.
  • processing or operation in a step, processing or operation is free as long as no processing or operation contradiction occurs such as using data which should not be available in the step. It can be changed.
  • the embodiments described above are merely examples for explaining the present invention, and the present invention is not limited to these embodiments.
  • the present invention can be practiced in various forms without departing from the scope of the invention.
  • the external shape of each device of each device is not limited to that illustrated.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

仮想現実空間においてユーザに対して適切にGUIオブジェクトを表示することが可能なプログラムを提供する。 本発明は、頭部装着型表示装置の表示部に表示する所定のGUIオブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該処理装置に、実空間における頭部装着型表示装置の位置に基づいて仮想空間におけるユーザの視点位置を決定するステップと、仮想空間におけるユーザの可動範囲を決定するステップと、決定された可動範囲の外側の仮想空間領域内にGUIオブジェクトの位置を決定するステップと、遠近法特性プロファイルを用いて、決定された位置のGUIオブジェクトが表示部上で一定の表示サイズとなるように、GUIオブジェクトの仮想空間における大きさを決定するステップと、GUIオブジェクトを含む仮想空間の描画データを生成するステップと、を実行させるプログラムである。

Description

プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置
 本発明は、プログラム等に関し、頭部装着型表示装置の表示部に表示するためのプログラム等に関する。
 ユーザの頭部に装着され、眼前に配置されたディスプレイ等の表示部に画像(映像)を表示するヘッドマウントディスプレイ(HMD)が知られている。HMDは、これを装着したユーザに仮想空間における画像や音声を提供することにより、ユーザに対して仮想現実(VR)の世界を提供することができる。
 近年、ユーザがHMDに表示された画面を見ながらプレイするゲーム等のアプリケーションも開発されている。このようなアプリケーションは、ユーザに仮想空間を体験させるための背景やキャラクタ画像とともに、選択式メッセージウィンドウなどのGUI要素(GUIオブジェクト)の画像を表示する。例えば特許文献1には、仮想空間中に置かれているGUIを用いて入力を行う入力方法が開示されている。
特開2017-004357号公報
 HMDの表示部にユーザ自身の腕や手などに対応する仮想オブジェクトの画像を表示するVRアプリケーションにおいて、仮想空間にGUIオブジェクトを配置する場合、以下のような課題がある。このようなVRアプリケーションにおいては、仮想空間に配置されるGUIオブジェクトは、ユーザが認識できるように比較的ユーザに近い位置に配置される必要がある。しかし、ユーザ自身の腕や手などに対応する仮想オブジェクトとGUIオブジェクトが干渉してしまう場合、当該VRアプリケーションが提供する仮想現実空間(仮想空間)は、ユーザに対して直感的に大きな違和感を生じさせることになる。具体的には、VRの世界を体験しているユーザに対して、ユーザの腕や手などがGUIオブジェクトを貫通したり埋没したりするような印象を与えてしまうため、没入感を大きく損なってしまう。
 一方、GUIオブジェクトを仮想空間と完全に切り離して表示部の一部に表示する方法もあるが、仮想空間と完全に切り離されたGUIオブジェクトが表示されることもまた、没入感を大きく損なってしまう。
 本発明は、このような課題を解決するためになされたものであり、仮想現実空間においてユーザに対して適切にGUIオブジェクトを表示することが可能なプログラム等を提供することを主目的とする。
 上記の目的を達成するために、本発明の一態様としてのプログラムは、頭部装着型表示装置の表示部に表示する所定のGUIオブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該処理装置に、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間におけるユーザの視点位置を決定するステップと、上記仮想空間における上記ユーザの可動範囲を決定するステップと、上記決定された可動範囲の外側の上記仮想空間領域内に、上記GUIオブジェクトの位置を決定するステップと、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を用いて、上記決定された位置の上記GUIオブジェクトが上記表示部上で一定の表示サイズとなるように、上記GUIオブジェクトの上記仮想空間における大きさを決定するステップと、上記決定された大きさの上記GUIオブジェクトを含む上記仮想空間の描画データを生成するステップと、を実行させることを特徴とする。
 また、本発明において好ましくは、上記処理装置は、上記頭部装着型表示装置に含まれる。
 また、本発明において好ましくは、上記処理装置は、上記頭部装着型表示装置と通信可能に接続された情報処理装置に含まれる。
 また、本発明において好ましくは、上記描画処理は、実空間における上記ユーザにより把持されるコントローラの位置に基づいて該コントローラの位置に対応する仮想オブジェクトを描画する描画処理を含み、上記ユーザの可動範囲は、上記コントローラの位置に対応する上記仮想オブジェクトの可動範囲を含む。
 また、本発明において好ましくは、上記GUIオブジェクトの位置を決定するステップは、上記ユーザの視点位置から見て上記一定の表示サイズの上記GUIオブジェクトが他の仮想オブジェクトと重複しないように、上記GUIオブジェクトの位置を決定する。
 また、本発明において好ましくは、上記GUIオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも1つを含む。
 また、上記の目的を達成するために、本発明の一態様としての情報処理方法は、頭部装着型表示装置の表示部に表示する所定のGUIオブジェクトを含む仮想空間の描画処理を行うための情報処理方法であって、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間におけるユーザの視点位置を決定するステップと、上記仮想空間における上記ユーザの可動範囲を決定するステップと、上記決定された可動範囲の外側の上記仮想空間領域内に、上記GUIオブジェクトの位置を決定するステップと、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を用いて、上記決定された位置の上記GUIオブジェクトが上記表示部上で一定の表示サイズとなるように、上記GUIオブジェクトの上記仮想空間における大きさを決定するステップと、上記決定された大きさの上記GUIオブジェクトを含む上記仮想空間を上記表示部に描画するステップと、を有することを特徴とする。
 また、上記の目的を達成するために、本発明の一態様としての情報処理システムは、ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置を備える情報処理システムであって、実空間における上記頭部装着型表示装置の位置を取得するセンサと、上記表示部に表示する所定のGUIオブジェクトを含む仮想空間の描画処理を行う処理部と、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、上記処理部は、上記センサにより取得された位置に基づいて上記仮想空間における上記ユーザの視点位置を決定し、上記仮想空間における上記ユーザの可動範囲を決定し、上記決定された可動範囲の外側の上記仮想空間領域内に、上記GUIオブジェクトの位置を決定し、上記記憶部により記憶されたデータを用いて、上記決定された位置の上記GUIオブジェクトが上記表示部上で一定の表示サイズとなるように、上記GUIオブジェクトの上記仮想空間における大きさを決定し、上記決定された大きさの上記GUIオブジェクトを含む上記仮想空間を上記表示部に描画することを特徴とする。
 また、本発明において好ましくは、上記情報処理システムは、上記ユーザにより把持されるコントローラを備え、上記描画処理は、実空間における上記コントローラの位置に基づいて上記コントローラの位置に対応する仮想オブジェクトを描画する描画処理を含み、上記ユーザの可動範囲は、上記コントローラの位置に対応する上記仮想オブジェクトの可動範囲を含む。
 また、本発明において好ましくは、上記記憶部により記憶されたデータは、奥行きごとの、上記仮想空間における単位長の上記表示部に表示される表示サイズを計測することにより予め作成される。
 また、本発明において好ましくは、上記情報処理システムは、上記頭部装着型表示装置と通信可能に接続された情報処理装置を備え、上記処理部は、上記頭部装着型表示装置及び上記情報処理装置により実現される。
 また、上記の目的を達成するために、本発明の一態様としての頭部装着型表示装置は、ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置であって、上記表示部に表示する所定のGUIオブジェクトを含む仮想空間の描画処理を行う処理部と、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、上記処理部は、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間における上記ユーザの視点位置を決定し、上記仮想空間における上記ユーザの可動範囲を決定し、上記決定された可動範囲の外側の上記仮想空間領域内に、上記GUIオブジェクトの位置を決定し、上記記憶部により記憶されたデータを用いて、上記決定された位置の上記GUIオブジェクトが上記表示部上で一定の表示サイズとなるように、上記GUIオブジェクトの上記仮想空間における大きさを決定し、上記決定された大きさの上記GUIオブジェクトを含む上記仮想空間を上記表示部に描画することを特徴とする。
 また、上記の目的を達成するために、本発明の一態様としての情報処理装置は、頭部装着型表示装置の表示部に表示する所定のGUIオブジェクトを含む仮想空間の描画処理を行うための情報処理装置であって、上記表示部に表示する上記仮想空間の描画処理を行う処理部と、奥行きと上記仮想空間における単位長の上記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、上記処理部は、センサを用いて取得された実空間における上記頭部装着型表示装置の位置に基づいて上記仮想空間における上記ユーザの視点位置を決定し、上記仮想空間における上記ユーザの可動範囲を決定し、上記決定された可動範囲の外側の上記仮想空間領域内に、上記GUIオブジェクトの位置を決定し、上記記憶部により記憶されたデータを用いて、上記決定された位置の上記GUIオブジェクトが上記表示部上で一定の表示サイズとなるように、上記GUIオブジェクトの上記仮想空間における大きさを決定し、上記決定された大きさの上記GUIオブジェクトを含む上記仮想空間を上記表示部に描画するためのデータを上記頭部装着型表示装置に送信することを特徴とする。
 本発明によれば、仮想現実空間においてユーザに対して適切にGUIオブジェクトを表示することができる。
本発明の一実施形態による情報処理システムの全体構成図である。 本発明の一実施形態による情報処理装置のハードウェア構成を示すブロック図である。 本発明の一実施形態によるHMDのハードウェア構成を示すブロック図である。 本発明の一実施形態によるコントローラの概略外観図である。 本発明の一実施形態による情報処理システムの機能ブロック図である。 本発明の一実施形態による表示部が表示するGUIオブジェクトの一例を示す図である。 本発明の一実施形態による表示部が表示する仮想身体の一例を示す図である。 本発明の一実施形態による遠近法特性プロファイルの一例を示す図である。 本発明の一実施形態による情報処理システムの情報処理を示すフローチャートである。
 以下、図面を参照して、本発明の実施形態による情報処理システムについて説明する。本実施形態の情報処理システムがユーザに提供するVRシステム(仮想現実空間)は、HMDを装着したユーザ自身の手がユーザの視界領域内にある場合にHMDの表示部にユーザ自身の手に対応する仮想の手の画像を表示するものである。
 図1は、本発明の一実施形態による情報処理システム1の全体構成図である。情報処理システム1は、情報処理装置10と、ユーザが頭部に装着する頭部装着型表示装置(HMD)20と、ユーザが保持するコントローラ30と、撮像装置40と、出力装置50と、を備える。情報処理システム1は、HMD20を装着したユーザに対して、仮想現実を体感させる。
 撮像装置40は、赤外線センサを備えるカメラを有し、所定のフレームレートで撮影し、撮影した画像を情報処理装置10に送出する。好ましくは、撮像装置40は、出力装置50の上部に取り付けられる。後述するように、ユーザに仮想現実を体感させるために、撮像装置40は、ユーザにより装着されるHMD20を撮影し、撮影画像を情報処理装置10に送出するように構成される。1つの例では、撮像装置40は、所定のフレームレートでユーザにより装着されたHMD20が発光する赤外線を撮影し、撮影した画像を情報処理装置10に順次送り、情報処理装置10は、当該画像を順次取得する。他の例では、撮像装置40のカメラは、赤外線センサの代わりに又は赤外線センサに追加して、CCDセンサやCMOSセンサなどの一般的なカメラで利用されているイメージセンサを備える。
 情報処理装置10は、HMD20を装着したユーザに対して仮想現実空間を提供するゲームなどの様々なアプリケーションであるVRアプリケーションを実行する。情報処理装置10は、HMD20、コントローラ30、撮像装置40、及び出力装置50とそれぞれ電気的に接続される。情報処理装置10と各装置は、ケーブルなどの既知の有線通信を介して接続されてもよいし、無線LAN等の既知の無線通信を介して接続されてもよい。本実施形態におけるVRアプリケーションは、HMD20を装着したユーザに対して、アイドル等のライブをライブ会場の客席で鑑賞する体験を提供するライブ体感VRゲームである。ただし、情報処理装置10が実行するVRアプリケーションがこれに限定されないことは理解される。
 図2は、本発明の一実施形態による情報処理装置10のハードウェア構成を示すブロック図である。情報処理装置10は、プロセッサ11と、記憶装置12と、入出力インタフェース(入出力IF)13と、通信インタフェース(通信IF)14とを備える。これらの各構成装置はバス15によって接続される。なお、バス15と各構成装置との間には必要に応じてインタフェースが介在しているものとする。なお、情報処理装置10は複数の電子装置により構成されても構わない。
 プロセッサ11は、情報処理装置10全体の動作を制御する処理装置であり、例えばCPUである。なお、プロセッサ11としては、MPU等の電子回路が用いられてもよい。プロセッサ11は、記憶装置12に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。またプロセッサ11は、描画処理を行うGPUを含み、情報処理装置10は、HMD20を装着したユーザに対して提示するための仮想空間画像を生成し、HMD20へ送信する。
 入出力IF13は、撮像装置40、ディスプレイ、キーボードやマウスなどの入出力装置を接続するためのインタフェースである。通信IF14は、他のコンピュータや装置と、有線通信又は無線通信を介して、接続するための通信インタフェースである。例えば、情報処理装置10は、通信IF14を介して、HMD20に接続される。説明の便宜上、各IFは上記のとおり説明するが、それぞれの装置におけるインタフェースの種類は上記に限定されず、また各々の装置ごとに異なるインタフェースを備えていてもよい。
 記憶装置12は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばRAMのような半導体メモリである。RAMは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ11が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるROMを含んでいてもよい。この場合、ROMはファームウェア等のプログラムを格納する。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ11が使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム(OS)、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。記憶装置12は、VRアプリケーションを記憶する。
 図3は、本発明の一実施形態によるHMD20のハードウェア構成を示すブロック図である。HMD20は、プロセッサ21と、記憶装置22と、表示装置(表示部)23と、LEDライト24と、通信インタフェース(通信IF)25とを備える。これらの各構成装置はバス26によって接続される。なお、バス26と各構成装置との間には必要に応じてインタフェースが介在しているものとする。
 プロセッサ21は、HMD20全体の動作を制御する処理装置であり、例えばCPUである。なお、プロセッサ21としては、MPU等の電子回路が用いられてもよい。プロセッサ21は、記憶装置22に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。HMD20は、情報処理装置10から受信した仮想空間画像を表示装置23に表示(描画)する。ただしプロセッサ21は、描画処理を行うGPUを含むこともでき、この場合HMD20は、情報処理装置10の代わりに仮想空間画像を生成することができる。
 記憶装置22は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばRAMのような半導体メモリである。RAMは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ21が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるROMを含んでいてもよい。この場合、ROMはファームウェア等のプログラム21を格納する。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサが使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム(OS)、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。
 表示装置23は、液晶ディスプレイや有機ELディスプレイなどの非透過型ディスプレイであり、HMD20を装着するユーザに対して仮想空間画像を表示する。したがって、例えばHMD20は、一般的なビデオシースルー型HMDとすることができる。表示装置23は、頭部装着型表示装置(HMD)における表示装置であるが、説明の便宜上、以下では表示部23と呼ぶ。
 LEDライト24は、赤外線LEDにより構成され、HMD20の筐体等に複数取り付けられる。LEDライト24は、ユーザの頭部の動きに併せて移動するHMD20のトラッキングを実現するために取り付けられるものである。LEDライト24は、HMD20のトラッキングを実現可能であれば、所定の色を発光する発光素子としてもよい。
 通信IF25は、他のコンピュータや装置と、有線通信又は無線通信を介して、接続するための通信インタフェースである。例えば、HMD20は、通信IF25を介して、情報通信装置10に接続される。
 1つの変形例では、HMD20は、姿勢センサ(図示せず)を備える。この場合、姿勢センサ25は、ジャイロセンサ及び加速度センサを含み、HMD20の位置、回転角度、表示部23が向く方向などを含むセンサ情報を検出し、当該センサ情報を情報処理装置10に送り、情報処理装置10は、当該センサ情報を順次取得する。1つの変形例では、HMD20は、CCDセンサやCMOSセンサなどから構成されるカメラ(図示せず)を備える。この場合、カメラは、撮影した撮影画像を情報処理装置10に順次送り、情報処理装置10は、当該画像を順次取得する。
 図4は、本発明の一実施形態によるコントローラ30の概略外観図である。コントローラ30は、把持部31、操作ボタン32、及びLEDライト33を有するスティックタイプのコントローラである。把持部31は、ユーザがコントローラ30を操作する際に把持する部分である。操作ボタン32は、通常のゲーム機に備え付けられる1又は複数のボタンである。LEDライト33は、所定の色で発光するLEDにより構成され、コントローラの端部に取り付けられる。
 本実施形態では、コントローラ30は、2つの手のそれぞれに対応する2つのコントローラを含み、ユーザは把持部31を把持して腕や手を動かすことにより、又は操作ボタン32を操作することにより、ユーザ操作を行う。1つの例では、情報処理装置10は、撮像装置40から取得される撮像画像におけるLEDライト33の位置を追跡し、コントローラ30の位置及び動きを決定する。1つの例では、コントローラ30は、ユーザにより押し付けられたボタンの情報を情報処理装置10に送信する。
 コントローラ30は、ジャイロセンサ及び加速度センサを含んだモーションセンサを備えることができる。この場合、コントローラ30は、モーションセンサにより検出されたコントローラ30の位置、回転角度などを含むセンサ情報を情報処理装置10に送信する。
 出力装置50は、一般的な画像や音声を出力するディスプレイである。1つの例では、出力装置50は、液晶ディスプレイ、有機ELを用いたディスプレイ、又はプラズマディスプレイである。1つの例では、出力装置50は、HMD20を装着したユーザに対して提示する仮想空間画像と同じ画像を出力するように構成される。このような構成とすることにより、ユーザがHMD20で視認する画像を、他のユーザが出力装置50により確認することができる。ただしこのような場合、情報処理システム1は、出力装置50を備えていなくてもよい。他の例では、出力装置50は、管理者設定画面を表示する。このような構成とすることにより、管理者がキーボードやマウスなどの入力装置からコマンドを入力することで、情報処理システム1に関する設定を行うことが可能となる。出力装置50は、一般的な音声を出力するスピーカも備えることができる。
 図5は本発明の一実施形態による情報処理システム1の機能ブロック図である。情報処理システム1は、位置決定部61と、記憶部62と、処理部63とを備える。これらの機能は、情報処理装置10のプロセッサ11又はHMD20のプロセッサ21によりプログラムが実行されることにより実現される。したがって、情報処理装置10及びHMD20の少なくとも一方が図5に示す各種機能を備える。各種機能はプログラム読み込みにより実現されるため、1つのパート(機能)の一部を他のパートが有していてもよい。なお、場合によっては、各機能の一部又は全部は、各機能を実現するための電子回路等を構成することによりハードウェアによって実現してもよい。
 位置決定部61は、撮像装置40を位置決定用のセンサとして用いて、取得されたセンサ情報からHMD20の位置を決定する。位置決定部61は、撮像装置40から順次取得するユーザにより装着されたHMD20が撮影された撮影画像から、HMD20に取り付けられた複数のLEDライト24の位置を特定することにより、HMD20の位置及び傾きを決定する。
 1つの例では、位置決定部61が決定するHMD20の位置は、撮像装置40に対する相対的な位置により決定される。1つの例では、位置決定部61は、HMD20に取り付けられた複数のLEDライト24の位置を特定することにより、HMD20の表示部23が向く方向を更に決定する。このような構成とすることにより、情報処理システム1は、ユーザの頭部の位置、傾き、動き等を認識し、ユーザの位置やユーザの視界領域を決定することが可能となる。
 1つの例では、HMD20が備える姿勢センサを位置決定用のセンサとして用いる。この場合、位置決定部61は、姿勢センサで検出されたセンサ情報を更に用いて、HMD20の位置及び傾きを決定する。このようにLEDライト24の位置を特定するための撮像装置40とHMD20の位置や回転角度等を検出するための姿勢センサとを併用してHMD20の位置や傾きをトラッキングする構成とすることにより、位置決定部61は、高精度のトラッキング処理を行うことが可能となる。ただし、上記のトラッキング処理は例示であり、その他の公知の技術を用いることができる。他の例では、位置決定部61は、LEDライト24の位置を特定するための撮像装置40と参照光を対象物に照射し該反射光を測定するセンサとを併用することにより、HMD20の位置及び傾きを決定する。
 1つの変形例では、位置決定部61は、HMD20が備えるカメラのみを位置決定用のセンサとして用いて、取得されたセンサ情報からHMD20の位置及び傾きを決定する。位置決定部61は、HMD20から順次取得する撮像装置40等が撮影された撮影画像から、撮影対象物との相対位置を特定することにより、HMD20の位置及び傾きを決定する。
 また位置決定部61は、撮像装置40を位置決定用のセンサとして用いて、取得されたセンサ情報からコントローラ30の位置を決定する。位置決定部61は、撮像装置40から順次取得するユーザにより把持されたコントローラ30が撮影された撮影画像から、コントローラ30に取り付けられたLEDライト33の位置を特定することにより、コントローラ30の位置及び傾きを決定する。撮影画像が2つのコントローラ30に各々取り付けられたLEDライト33を含む場合、位置決定部61は、2つのコントローラ各々の位置及び傾きを決定する。
 1つの例では、コントローラ30が備えるモーションセンサを位置決定用のセンサとして用いる。この場合、位置決定部61は、モーションセンサで検出されたセンサ情報を更に用いて、コントローラ30の位置及び傾きを決定する。このようにLEDライト33の位置を特定するための撮像装置40とHMD20の位置や回転角度等を検出するためのモーションセンサとを併用してコントローラ30の位置や傾きをトラッキングする構成とすることにより、位置決定部61は、高精度のトラッキング処理を行うことが可能となる。ただし、上記のトラッキング処理は例示であり、その他の公知の技術を用いることができる。
 位置決定部61は、位置決定用のセンサから順次取得するセンサ情報を用いて、HMD20やコントローラ30の位置を決定し続ける。1つの例では、位置決定部61は、撮像装置40から順次取得する撮影画像に応じて、所定の間隔で定期的にHMD20の位置及び傾きを決定し続ける。1つの例では、位置決定部61は、撮像装置40から順次取得する撮影画像に応じて、所定の間隔で定期的にコントローラ30の位置及び傾きを決定し続ける。
 記憶部62は、プログラムやデータ等を記憶装置12又は記憶装置22へ記憶する。記憶部62は、仮想空間に関する情報、仮想空間に配置される仮想オブジェクトに関する情報を記憶する。
 処理部63は、ゲーム等のVRアプリケーションを実行するための各種の処理を行う。処理部63は、ユーザ環境決定部64と、仮想オブジェクト制御部65と、ユーザ操作処理部66、表示画像生成部67とを含む。
 最初に、ユーザ環境決定部64は、VRアプリケーションが定める内容に従って、3次元仮想空間を構築し、位置決定用のセンサを用いて取得された実空間におけるHMD20の位置に基づいて仮想空間におけるユーザの初期位置を決定する。ユーザの初期位置はVRシステム起動時等の初期状態におけるユーザ位置であり、ユーザ位置はユーザの視点位置を含み、ユーザ環境決定部64は、ユーザの視点位置に仮想カメラを配置する。ここで、仮想カメラから見る画像はユーザが視認する画像であるため、仮想カメラが捉える領域、すなわち仮想カメラの視野領域は、ユーザの視界領域に対応することは理解される。ユーザ環境決定部64は、位置決定部61が決定したHMD20の位置及び傾きを用いてユーザの位置及び向いている方向を決定することによりユーザの初期位置を決定するとともにユーザの視界領域を決定する。
 このとき、ユーザ環境決定部64は、ユーザの初期位置を用いて、ユーザが仮想空間において移動することが可能な範囲であるユーザの可動範囲を決定する。例えばVRアプリケーションがライブ体感VRゲームである場合、ユーザ環境決定部64は、ライブ会場内の3次元仮想空間を構築し、ユーザの客席の位置及び視界領域を決定し、ライブ会場内におけるユーザの可動範囲を決定する。
 1つの例では、位置決定部61は撮像装置40に対する相対位置によりHMD20の位置を決定し、ユーザ環境決定部64は、このように決定されたHMD20の位置に応じて仮想空間におけるユーザの初期位置を決定する。1つの例では、ユーザ環境決定部64は、ユーザが実空間において移動することが可能な領域に基づいてユーザの可動範囲を決定する。例えばユーザ環境決定部64は、ユーザの可動範囲の奥行き方向の境界を、実空間上に存在する撮像装置40の位置に対応する仮想空間上の位置よりも手前に設定する。このように本実施形態では、ユーザ環境決定部64は、実空間におけるHMD20の位置やVRアプリケーションの内容に従って構築した仮想空間の環境に応じて、仮想空間構築時などのVRシステム起動時においてユーザの可動範囲を決定する。
 初期位置決定後も、ユーザ環境決定部64は、位置決定部61が決定したHMD20の位置及び傾きからユーザの位置及び向いている方向を決定することにより、仮想カメラの視野領域を決定する。ここで、本実施形態においては、ユーザ環境決定部64が構築する仮想空間における長さは、実空間上の長さと実質的に同じである。HMD20を装着したユーザが実空間上で一の方向に0.1m移動すると、ユーザ環境決定部64は、仮想空間上の仮想カメラを、仮想空間における当該一の方向に対応する方向に0.1m移動させる。1つの例では、ユーザ環境決定部64は、位置決定部61が所定の間隔で定期的に決定するHMD20の位置及び傾きを用いて、ユーザの視点位置及び仮想カメラの視野領域を決定し続ける。ただし、ユーザ環境決定部64が構築する仮想空間における長さは、実空間上の長さに対応するような長さであれば、実空間上の長さと同じでなくてもよい。
 仮想オブジェクト制御部65は、VRアプリケーションが定める内容に従って、設定された位置に設定された大きさの仮想オブジェクトを配置する。例えばVRアプリケーションがライブ体感VRゲームである場合、仮想オブジェクト制御部65は、ライブ会場を構成する建物の壁、座席、柵などの物体の仮想オブジェクト、及びアイドル、他の客などの人物の仮想オブジェクトを配置する。後述する表示画像生成部67は、仮想カメラの視野領域に配置された仮想オブジェクトが存在する場合に、仮想カメラから見た、該仮想オブジェクトを含む仮想空間画像を生成する。
 本実施形態では、仮想オブジェクトは、コントローラ30を用いてユーザに選択操作をさせるための選択式のウィンドウ又はユーザに設定に関する注意喚起するためのメッセージウィンドウなどの所定のGUIオブジェクトを含む。説明の便宜上、本実施形態では、仮想空間上に配置されるGUIオブジェクトが1つの場合について説明するが、複数あってもよい。1つの例では、GUIオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも1つを含む。
 図6は、本発明の一実施形態によるGUIオブジェクトの一例、具体的にはライブ体感VRゲームにおけるGUIオブジェクトの一例であり、表示画像生成部67が生成したGUIオブジェクトを含む仮想空間画像を示すものである。図6に示すように、仮想オブジェクト制御部65は、GUIオブジェクトを他の仮想オブジェクトと同様にして仮想空間上の所定の位置に配置する。これは、処理部63が、GUIオブジェクトを仮想空間と完全に切り離してHMD20の表示部23に表示するように構成されると、VRの世界を体験しているユーザが没入感を損なうためである。ただし、情報処理システム1は、仮想空間においてGUIオブジェクトをユーザに接触させてユーザ操作を行うためではなく、仮想空間においてユーザに視認させるためにGUIオブジェクトを配置する。
 図6が示すGUIオブジェクトは、「もう一度LIVEを開始しますか?」というユーザに対する質問のウィンドウとともに「はい」と「いいえ」のユーザから回答を受け付けるウィンドウを含む。後述するユーザ操作処理部66は、ユーザによるコントローラ30を用いた選択操作を受け付けることにより、もう一度LIVEを開始するか否かを決定する。このように、本実施形態におけるGUIオブジェクトは、コントローラ30を用いてユーザの選択操作を促すような、ユーザに認識させる必要がある仮想オブジェクトである。
 ユーザ操作処理部66は、位置決定部61が決定した2つのコントローラ30の位置及び傾きを用いて、実空間のコントローラ30の位置に対応する仮想空間上の位置にコントローラ30に対応したスティック状の仮想のペンライトを配置する。このときユーザ操作処理部66は、仮想のペンライトの位置及び傾きから該ペンライトを把持する腕や手の位置を推定し、仮想のペンライトを把持する仮想の手や仮想の腕を併せて配置する。したがって、ユーザ操作処理部66は、仮想のペンライト、仮想の手、及び仮想の腕を含む仮想身体を、実空間のコントローラ30、ユーザの手、及びユーザの腕に対応する仮想空間上の位置に配置する。ただし、仮想身体は、仮想のペンライト、仮想の手、及び仮想の腕のうちの少なくとも1つを含むものであってもよい。またユーザ操作処理部66の上記機能は、ユーザ操作に応じた仮想オブジェクトの配置であるため、仮想オブジェクト制御部65が一部又は全部を行ってもよい。なおスティック状の仮想のペンライトは、スティック状のコントローラ30に対応したスティック状の仮想オブジェクトの1つの例示であって、この形状に限定されない。また1つの例では、ユーザ操作処理部66は、位置決定部61が所定の間隔で定期的に決定するコントローラ30の位置及び傾きを用いて、仮想身体の位置を更新し続ける。
 またユーザ操作処理部66は、VRアプリケーションが定める内容と、ユーザにより押し付けられた操作ボタン32の情報とに応じて、VRアプリケーションにおける所定の処理を行う。例えばこのときコントローラ30は、ユーザにより押し付けられた操作ボタン32の情報である操作情報を情報処理装置10に送信し、ユーザ操作処理部66は、情報処理装置10が受信した操作情報を用いて、所定の処理を行う。また例えば、図6に示すGUIオブジェクトが表示される場合、コントローラ30から受信する操作情報に応じて、ユーザ操作処理部66は、もう一度LIVEを開始するか否かを決定することができる。
 表示画像生成部67は、ユーザに提示するHMD20の表示部23に表示する仮想カメラから見た仮想空間画像を生成する。表示画像生成部67は、仮想カメラからの距離に応じて、配置される仮想オブジェクトの表示サイズを変更する。例えば表示画像生成部67が同じ大きさの仮想オブジェクトの画像を生成する場合、近くの仮想オブジェクトは大きく、遠くの仮想オブジェクトは小さく表示する。1つの例では、表示画像生成部67は、仮想カメラからの距離に応じてポリゴン数を減少させる従来から知られているLODを実装することにより実現される。
 表示画像生成部67は、仮想カメラの視野領域に仮想オブジェクトが存在する場合に、該視野領域に存在する仮想オブジェクトを含む仮想空間画像を生成する。同様に、表示画像生成部67は、仮想カメラの視野領域に仮想身体が存在する場合、該視野領域に存在する仮想身体を含む仮想空間画像を生成する。
 図7は、本発明の一実施形態による表示部23が表示する仮想身体の一例、具体的にはライブ体感VRゲームにおける表示部23が表示する仮想身体の一例である。図から理解されるように、本実施形態では、表示画像生成部67は、仮想カメラの視野領域に存在する仮想のペンライト71、仮想の手72、及び仮想の腕73を含む仮想身体を含む仮想空間画像を生成する。このような構成とすることにより、本実施形態では、情報処理システム1は、表示部23を通してユーザが認識する仮想身体を、ユーザ自身の手及び腕並びにユーザ自身が把持するペンライトであるかのようにユーザに認識させることが可能となる。これにより、ユーザに対して、VRの魅力の1つである没入感を与えることが可能となる。
 ここで、ユーザ環境決定部64が決定するユーザの可動範囲は、実空間におけるコントローラ30に対応する仮想オブジェクトの可動範囲を含む。本実施形態では、ユーザ環境決定部64が決定するユーザの可動範囲は、仮想のペンライト、仮想の手、及び仮想の腕を含む仮想身体が配置される可能性がある仮想空間上の領域を含む。
 本実施形態では、仮想オブジェクト制御部65は、GUIオブジェクトを配置する位置をユーザの可動範囲よりも深い奥行きの所定位置に決定する。このような構成とすることにより、本実施形態では、情報処理システム1は、仮想身体とGUIオブジェクトとが干渉することを防止する。例えば、これにより、ユーザの腕がGUIオブジェクトを貫通したり埋没したりするような印象を与えることを防止することが可能となる。
 しかしながら、仮想オブジェクト制御部65がユーザの可動範囲よりも深い奥行きの位置にGUIオブジェクトを配置すると、表示画像生成部67が生成する仮想空間画像におけるGUIオブジェクトの表示サイズは小さくなる。すなわち、HMD20が表示部23に表示するGUIオブジェクトの表示サイズが小さくなる。GUIオブジェクトは、コントローラ30を用いてユーザに選択操作をさせるための選択式のウィンドウやユーザに注意喚起するためのメッセージウィンドウなどであり、ユーザに認識させる必要があるものであるため、表示サイズが小さくなることは好ましくない。
 本実施形態では、以下で説明するとおり、仮想オブジェクト制御部65は、決定された位置におけるGUIオブジェクトが表示部23上で一定の表示サイズとなるように、GUIオブジェクトの仮想空間における大きさを決定する。仮想空間における大きさは、例えば仮想空間における縦の長さと横の長さである。
 記憶部62は、仮想カメラからの距離である奥行きと、仮想空間における単位長の表示部23上の表示サイズとの対応関係を示すデータである遠近法特性プロファイルを記憶する。本実施形態においては、遠近法特性プロファイルは、一般的なユーザによりVRアプリケーションが利用可能となる前に、例えばVRアプリケーション開発時などに、生成される。遠近法特性プロファイルは、一般的にVRアプリケーションによって異なるものであるため、VRアプリケーションごとに生成する必要がある。遠近法特性プロファイルは、遠近法の基準となる単位長を表示部23に表示し、その単位長の奥行きを変化させ、単位長の表示部23に表示される表示サイズと奥行きとの関係を計測することにより生成されるものであり、予め作成されるものである。なお単位長は、仮想空間における基準とする長さを示すものであり、単位長の表示部23上の表示サイズと奥行きとの関係を示すことができる長さであればよく、特定の長さに限定されない。
 図8は、本発明の一実施形態による遠近法特性プロファイルの一例である。図8が示す遠近法特性プロファイルは、仮想空間における遠近法の基準となるグリッドの辺の長さ(単位長)と仮想カメラからの奥行き(デプス)との関係を示す関数である。図8の横軸はデプス(depth)であり、値が大きいほど深い位置、すなわち仮想カメラから遠い位置を表す。図8の縦軸はあるデプスにおいて単位長が表示部23上で表示される長さ(length(d))であり、値が大きいほど表示される長さが長い、例えば表示部23上のピクセル数が大きい、ことを表す。
 ここで図8を用いて、奥行き方向におけるユーザの可動範囲とGUIオブジェクトの配置位置との関係を説明する。D1は、ユーザ環境決定部64が決定したユーザの可動範囲において最も仮想カメラから遠い位置、すなわちユーザの可動範囲のデプスの限界位置を示すものであり、ユーザの仮想身体の到達限界点である。D2は、GUIオブジェクトを配置するデプスの位置を示すものであり、仮想オブジェクト制御部65が設定したD1よりも更に深いデプスの位置である。
 上記の遠近法特性プロファイルを用いることにより、仮想オブジェクトの大きさをデプスの位置に応じて変更することにより、任意のデプスの位置において、表示部23に表示される表示サイズを一定とすることができる。好適な1つの例では、あるデプスdにおける仮想オブジェクトを構成する任意の一辺について、表示部23上で表示させたい長さをlengthとすると、そのために必要な当該一辺の仮想空間上の長さvrscaleは、以下の式1で表される。ここで単位長は、grid_lengthとする。
Figure JPOXMLDOC01-appb-I000001
                         (式1)
 本実施形態では、仮想オブジェクト制御部65は、遠近法特性プロファイルを用いて、例えば式1を用いて、決定された位置におけるGUIオブジェクトが表示部23上で一定の表示サイズとなるように、GUIオブジェクトの仮想空間における大きさを決定する。GUIオブジェクトの表示部23上での表示サイズは、例えば表示部23の画面上のピクセル数で表されるものであり、一定の表示サイズとは、ユーザが認識可能な程度の一定のサイズである。
 その結果、表示画像生成部67は、仮想カメラの視野領域にGUIオブジェクトが存在する場合、一定の表示サイズのGUIオブジェクトを含む仮想空間画像を生成することとなる。このような構成とすることにより、本実施形態では、ユーザの手に届かない位置にGUIオブジェクトを配置しつつ、表示部23には一定サイズのGUIオブジェクトを表示することが可能となる。これにより、視認性が高く、かつユーザの仮想身体と干渉しないGUIオブジェクトを表示することが可能となる。なお、仮想オブジェクト制御部65は、仮想カメラの視野領域において、一定の表示サイズのGUIオブジェクトが他の仮想オブジェクトと重複しないように、GUIオブジェクトの位置を決定することもできる。
 なお遠近法特性プロファイルは、複数の奥行き距離と、該奥行き距離の各々における仮想空間上の単位長の表示部23上での表示サイズとの対応関係を示すデータであれば、関数でなくてもよい。
 次に、本発明の一実施形態による情報処理システム1の情報処理について図9に示したフローチャートを用いて説明する。図9に示す情報処理は、プログラムを情報処理装置10に実行させることで実現されるか、プログラムをHMD20に実行させることで実現されるか、又はプログラムを情報処理装置10に実行させ、かつプログラムをHMD20に実行させることで実現される。ここでは、主として情報処理装置10が情報処理を行うものとして説明するが、HMD20が一部又は全部の情報処理を行うこともできる。
 情報処理装置10は、例えば情報処理システム1が提供するVRシステム起動時に、本情報処理を開始する。まずステップ901において、情報処理装置10は、センサを用いて決定したHMD20の位置及び傾きからユーザの位置及び向いている方向を決定することにより、仮想空間におけるユーザの視点位置を決定する。情報処理装置10は、決定されたユーザの視点位置に仮想カメラを配置する。
 続いてステップ902において、情報処理装置10は、構築した仮想空間の環境及びユーザの視点位置に基づいて、ユーザが仮想空間において移動することが可能な範囲であるユーザの可動範囲を決定する。
 続いてステップ903において、情報処理装置10は、GUIオブジェクトを配置する位置を、ユーザの可動範囲の外側の仮想空間領域内であるユーザの可動範囲よりも深い奥行きの所定位置に決定する。
 続いてステップ904において、情報処理装置10は、決定されたユーザの視点位置において、配置された位置のGUIオブジェクトが表示部23上で一定の表示サイズとなるように、GUIオブジェクトの仮想空間における大きさを決定する。このとき情報処理装置10は、遠近法特性プロファイルなどの奥行きと仮想空間における単位長の表示部23上の表示サイズとの対応関係を示すデータを用いて、GUIオブジェクトの仮想空間における大きさを決定する。
 続いてステップ905において、情報処理装置10は、決定された大きさのGUIオブジェクトを含む仮想空間の描画データを生成する。具体的には、情報処理装置10は、HMD20の表示部23に表示する仮想カメラから見た仮想空間画像を生成する。情報処理装置10は、生成した仮想空間画像をHMD20へ送信し、HMD20は表示部23に表示する。ただし、情報処理装置10は、HMD20が表示部23に表示する仮想カメラから見た仮想空間画像を生成するための描画コマンド等のデータを生成してもよい。
 その後、情報処理システム1が提供するVRシステムが終了しない限り(ステップ906)、情報処理装置10は、所定の間隔で定期的にセンサを用いて決定されるHMD20の位置及び傾きに基づいて、ステップ907においてユーザの視点位置及び仮想カメラの視野領域を更新し、ステップ904に戻る。このとき、情報処理装置10は、仮想カメラの配置位置を更新されたユーザの視点位置に更新する。ステップ904においては、情報処理装置10は、更新されたユーザの視点位置において、配置された位置のGUIオブジェクトが表示部23上で一定の表示サイズとなるように、GUIオブジェクトの仮想空間における大きさを決定する。
 なお本情報処理は、仮想カメラの視野領域にGUIオブジェクトが存在する場合についての情報処理装置10の処理を示している。好適な1つの例では、情報処理装置10は、ステップ905の前に、仮想カメラの視野領域にGUIオブジェクトが存在するか否かを判断し、GUIオブジェクトが存在する場合のみ、ステップ905を実行する。他の例では、情報処理装置10は、ステップ904の前に、仮想カメラの視野領域にGUIオブジェクトが存在するか否かを判断し、GUIオブジェクトが存在する場合のみ、ステップ904及びステップ905を実行する。
 次に、本発明の実施形態による情報処理システム1の作用効果について説明する。本実施形態では、ユーザ環境決定部64は、VRシステム起動時において、実空間におけるHMD20の位置に基づいてユーザの視点位置を決定するとともにユーザの可動範囲を決定する。仮想オブジェクト制御部65は、このように環境に応じてユーザの可動範囲を決定した上で、該可動範囲のよりも深い奥行きの所定位置にGUIオブジェクト(GUI要素)を配置する。続いて仮想オブジェクト制御部65は、遠近法特性プロファイルを用いて、決定された位置におけるGUIオブジェクトが表示部23上で一定の表示サイズとなるように、GUIオブジェクトの仮想空間における大きさを決定する。
 また本実施形態では、表示画像生成部67は、仮想カメラの視野領域に存在する仮想のペンライト71、仮想の手72、及び仮想の腕73を含む仮想身体を含む仮想空間画像を生成する。
 このような構成とすることにより、本実施形態では、表示部23を通してユーザが認識する仮想身体を、ユーザ自身の手及び腕並びにユーザ自身が把持するペンライトであるかのようにユーザに認識させることが可能となる。これにより、ユーザに対して、VRの魅力の1つである没入感を与えることが可能となる。
 またこのような構成とすることにより、本実施形態では、ユーザの手に届かない位置にGUIオブジェクトを配置しつつ、表示部23には一定サイズのGUIオブジェクトを表示することが可能となる。これにより、視認性が高く、かつユーザの仮想身体と干渉しないGUIオブジェクトを表示することが可能となる。またこのような構成とすることにより、本実施形態では、GUIオブジェクトをVR空間と完全に切り離してHMD20の表示部23に表示する構成と比較して、ユーザに没入感を提供しつつ、幅広い状況下において高い視認性を与えることが可能となる。
 またこのように構成された本実施形態における情報処理システム1、情報処理方法、及び当該方法を実行させるプログラム等は、VR空間を構成する背景とは独立したウィンドウなどのUI要素を表示するVRゲームなどのVRアプリケーションに汎用的に使用することできるものである。
 また本実施形態では、仮想オブジェクト制御部65は、ユーザの視点位置から見て一定の表示サイズのGUIオブジェクトが他の仮想オブジェクトと重複しないように、GUIオブジェクトの位置を決定することができる。これにより、視認性が高いGUIオブジェクトを表示することが可能となる。
 本発明の実施形態によるプログラムは、該プログラムをプロセッサ11又はプロセッサ21に実行させることにより上記の情報処理システム1の動作を実現するため、該プログラムの作用効果は、情報処理システム1と同じである。
 本発明の他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムを格納したコンピュータ読み取り可能な記憶媒体とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムをコンピュータに供給することができるサーバとすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する仮想マシンとすることもできる。
 以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。例えば、各装置の各装置の外観形状は図示されたものに限定されない。
1 情報処理システム
10 情報処理装置
11 プロセッサ
12 記憶装置
13 入出力IF
14 通信IF
20 頭部装着型表示装置
21 プロセッサ
22 記憶装置
23 表示部
24 LEDライト
25 通信IF
30 コントローラ
31 把持部
32 操作ボタン
33 LEDライト
61 位置決定部
62 記憶部
63 処理部
64 ユーザ環境決定部
65 仮想オブジェクト制御部
66 ユーザ操作処理部
67 表示画像生成部
71 仮想の腕
72 仮想の手
73 仮想のペンライト

Claims (13)

  1.  頭部装着型表示装置の表示部に表示する仮想オブジェクトを含む仮想空間の描画処理を行う処理装置に実行されるプログラムであって、該仮想オブジェクトは所定のGUIオブジェクトを含むものであり、該処理装置に、
     センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定するステップと、
     前記仮想空間における前記ユーザの可動範囲を決定するステップと、
     前記決定された可動範囲の外側の前記仮想空間領域内に、前記GUIオブジェクトの位置を決定するステップと、
     奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を用いて、前記決定された位置の前記GUIオブジェクトが前記表示部上で一定の表示サイズとなるように、前記GUIオブジェクトの前記仮想空間における大きさを決定するステップと、
     前記決定された大きさの前記GUIオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間の描画データを生成するステップと、
     を実行させるプログラム。
  2.  前記処理装置は、前記頭部装着型表示装置に含まれる、請求項1に記載のプログラム。
  3.  前記処理装置は、前記頭部装着型表示装置と通信可能に接続された情報処理装置に含まれる、請求項1に記載のプログラム。
  4.  前記描画処理は、実空間における前記ユーザにより把持されるコントローラの位置に基づいて該コントローラの位置に対応する前記仮想オブジェクトを描画する描画処理を含み、
     前記ユーザの可動範囲は、前記コントローラの位置に対応する前記仮想オブジェクトの可動範囲を含む、請求項1から3のいずれか1項に記載のプログラム。
  5.  前記GUIオブジェクトの位置を決定するステップは、前記ユーザの視点位置から見て前記一定の表示サイズの前記GUIオブジェクトが他の前記仮想オブジェクトと重複しないように、前記GUIオブジェクトの位置を決定する、請求項1から4のいずれか1項に記載のプログラム。
  6.  前記GUIオブジェクトは、選択式のウィンドウ、時限式のウィンドウ、プログレスバー、及びスクロールバーのうちの少なくとも1つを含む、請求項1から5のいずれか1項に記載のプログラム。
  7.  頭部装着型表示装置の表示部に表示する仮想オブジェクトを含む仮想空間の描画処理を行うための情報処理方法であって、該仮想オブジェクトは所定のGUIオブジェクトを含むものであり、
     センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定するステップと、
     前記仮想空間における前記ユーザの可動範囲を決定するステップと、
     前記決定された可動範囲の外側の前記仮想空間領域内に、前記GUIオブジェクトの位置を決定するステップと、
     奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を用いて、前記決定された位置の前記GUIオブジェクトが前記表示部上で一定の表示サイズとなるように、前記GUIオブジェクトの前記仮想空間における大きさを決定するステップと、
     前記決定された大きさの前記GUIオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画するステップと、
     を有する方法。
  8.  ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置を備える情報処理システムであって、
     実空間における前記頭部装着型表示装置の位置を取得するセンサと、
     前記表示部に表示する仮想オブジェクトを含む前記仮想空間の描画処理を行う処理部であって、該仮想オブジェクトは所定のGUIオブジェクトを含むものである、処理部と、 奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
     前記処理部は、
     前記センサにより取得された位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
     前記仮想空間における前記ユーザの可動範囲を決定し、
     前記決定された可動範囲の外側の前記仮想空間領域内に、前記GUIオブジェクトの位置を決定し、
     前記記憶部により記憶されたデータを用いて、前記決定された位置の前記GUIオブジェクトが前記表示部上で一定の表示サイズとなるように、前記GUIオブジェクトの前記仮想空間における大きさを決定し、
     前記決定された大きさの前記GUIオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画する、
     情報処理システム。
  9.  前記情報処理システムは、前記ユーザにより把持されるコントローラを備え、
     前記描画処理は、実空間における前記コントローラの位置に基づいて前記コントローラの位置に対応する前記仮想オブジェクトを描画する描画処理を含み、
     前記ユーザの可動範囲は、前記コントローラの位置に対応する前記仮想オブジェクトの可動範囲を含む、請求項8に記載の情報処理システム。
  10.  前記記憶部により記憶されたデータは、奥行きごとの、前記仮想空間における単位長の前記表示部に表示される表示サイズを計測することにより予め作成される、請求項8又は9に記載の情報処理システム。
  11.  前記情報処理システムは、前記頭部装着型表示装置と通信可能に接続された情報処理装置を備え、
     前記処理部は、前記頭部装着型表示装置及び前記情報処理装置により実現される、請求項8から10のいずれか1項に記載の情報処理システム。
  12.  ユーザに対して仮想空間を表示するための表示部を有する頭部装着型表示装置であって、
     前記表示部に表示する仮想オブジェクトを含む前記仮想空間の描画処理を行う処理部であって、該仮想オブジェクトは所定のGUIオブジェクトを含むものである、処理部と、 奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
     前記処理部は、
     センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間における前記ユーザの視点位置を決定し、
     前記仮想空間における前記ユーザの可動範囲を決定し、
     前記決定された可動範囲の外側の前記仮想空間領域内に、前記GUIオブジェクトの位置を決定し、
     前記記憶部により記憶されたデータを用いて、前記決定された位置の前記GUIオブジェクトが前記表示部上で一定の表示サイズとなるように、前記GUIオブジェクトの前記仮想空間における大きさを決定し、
     前記決定された大きさの前記GUIオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画する、
     頭部装着型表示装置。
  13.  頭部装着型表示装置の表示部に表示する仮想オブジェクトを含む仮想空間の描画処理を行うための情報処理装置であって、該仮想オブジェクトは所定のGUIオブジェクトを含むものであり、
     前記表示部に表示する前記仮想空間の描画処理を行う処理部と、
     奥行きと前記仮想空間における単位長の前記表示部上の表示サイズとの対応関係を示すデータを記憶する記憶部と、を備え、
     前記処理部は、
     センサを用いて取得された実空間における前記頭部装着型表示装置の位置に基づいて前記仮想空間におけるユーザの視点位置を決定し、
     前記仮想空間における前記ユーザの可動範囲を決定し、
     前記決定された可動範囲の外側の前記仮想空間領域内に、前記GUIオブジェクトの位置を決定し、
     前記記憶部により記憶されたデータを用いて、前記決定された位置の前記GUIオブジェクトが前記表示部上で一定の表示サイズとなるように、前記GUIオブジェクトの前記仮想空間における大きさを決定し、
     前記決定された大きさの前記GUIオブジェクトを含んだ前記仮想オブジェクトを含む前記仮想空間を前記表示部に描画するためのデータを前記頭部装着型表示装置に送信する、
     情報処理装置。
PCT/JP2018/035948 2017-09-27 2018-09-27 プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置 WO2019065846A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880076384.1A CN111417989B (zh) 2017-09-27 2018-09-27 程序、信息处理方法、信息处理系统、头戴式显示装置和信息处理装置
US16/832,122 US11036053B2 (en) 2017-09-27 2020-03-27 Program, information processing method, information processing system, head-mounted display device, and information processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017186097A JP6340464B1 (ja) 2017-09-27 2017-09-27 プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置
JP2017-186097 2017-09-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/832,122 Continuation US11036053B2 (en) 2017-09-27 2020-03-27 Program, information processing method, information processing system, head-mounted display device, and information processing device

Publications (1)

Publication Number Publication Date
WO2019065846A1 true WO2019065846A1 (ja) 2019-04-04

Family

ID=62487522

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/035948 WO2019065846A1 (ja) 2017-09-27 2018-09-27 プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置

Country Status (4)

Country Link
US (1) US11036053B2 (ja)
JP (1) JP6340464B1 (ja)
CN (1) CN111417989B (ja)
WO (1) WO2019065846A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024042929A1 (ja) * 2022-08-25 2024-02-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059944A1 (en) * 2017-09-25 2019-03-28 Hewlett-Packard Development Company, L.P. MOTION DETECTION OF A PORTABLE CONTROLLER
JP7288792B2 (ja) 2019-04-24 2023-06-08 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびデバイス情報導出方法
CN111913565B (zh) * 2019-05-07 2023-03-07 广东虚拟现实科技有限公司 虚拟内容控制方法、装置、系统、终端设备及存储介质
CN111882672A (zh) * 2020-07-24 2020-11-03 上海光追网络科技有限公司 一种vr游戏中可绘制3d图形识别3d虚拟物件的方法
CN112612363A (zh) * 2020-12-18 2021-04-06 上海影创信息科技有限公司 基于余光区域的用户非偏好比较方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058777A (ja) * 2015-09-14 2017-03-23 株式会社コロプラ 視線誘導のためのコンピュータ・プログラム
JP2017102732A (ja) * 2015-12-02 2017-06-08 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置及び表示制御方法
JP2017111669A (ja) * 2015-12-17 2017-06-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および操作受付方法
JP2017117008A (ja) * 2015-12-21 2017-06-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および操作受付方法
JP2017152010A (ja) * 2013-06-09 2017-08-31 株式会社ソニー・インタラクティブエンタテインメント 頭部装着ディスプレイ

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPR963001A0 (en) * 2001-12-19 2002-01-24 Canon Kabushiki Kaisha Selecting moving objects on a system
US8730156B2 (en) * 2010-03-05 2014-05-20 Sony Computer Entertainment America Llc Maintaining multiple views on a shared stable virtual space
JP2009237680A (ja) * 2008-03-26 2009-10-15 Namco Bandai Games Inc プログラム、情報記憶媒体および画像生成システム
JP5614014B2 (ja) * 2009-09-04 2014-10-29 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
US8913009B2 (en) * 2010-02-03 2014-12-16 Nintendo Co., Ltd. Spatially-correlated multi-display human-machine interface
US9934614B2 (en) * 2012-05-31 2018-04-03 Microsoft Technology Licensing, Llc Fixed size augmented reality objects
EP2879022A4 (en) * 2012-07-27 2016-03-23 Nec Solution Innovators Ltd THREE-DIMENSIONAL USER INTERFACE DEVICE AND THREE-DIMENSIONAL OPERATING PROCESS
KR101502993B1 (ko) * 2013-05-10 2015-03-19 세종대학교산학협력단 멀티 디스플레이 제어장치 및 콘텐츠 제공 방법
US10089786B2 (en) * 2013-08-19 2018-10-02 Qualcomm Incorporated Automatic customization of graphical user interface for optical see-through head mounted display with user interaction tracking
US9630105B2 (en) * 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US10416760B2 (en) * 2014-07-25 2019-09-17 Microsoft Technology Licensing, Llc Gaze-based object placement within a virtual reality environment
US9904055B2 (en) * 2014-07-25 2018-02-27 Microsoft Technology Licensing, Llc Smart placement of virtual objects to stay in the field of view of a head mounted display
US10073516B2 (en) * 2014-12-29 2018-09-11 Sony Interactive Entertainment Inc. Methods and systems for user interaction within virtual reality scene using head mounted display
JP5876607B1 (ja) 2015-06-12 2016-03-02 株式会社コロプラ フローティング・グラフィカルユーザインターフェース
WO2017033777A1 (ja) * 2015-08-27 2017-03-02 株式会社コロプラ ヘッドマウントディスプレイシステムを制御するプログラム
CN109069927A (zh) * 2016-06-10 2018-12-21 Colopl株式会社 用于提供虚拟空间的方法、用于使计算机实现该方法的程序以及用于提供虚拟空间的系统
US10617956B2 (en) * 2016-09-30 2020-04-14 Sony Interactive Entertainment Inc. Methods for providing interactive content in a virtual reality scene to guide an HMD user to safety within a real world space
JP6342038B1 (ja) * 2017-05-26 2018-06-13 株式会社コロプラ 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法
US20190033989A1 (en) * 2017-07-31 2019-01-31 Google Inc. Virtual reality environment boundaries using depth sensors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017152010A (ja) * 2013-06-09 2017-08-31 株式会社ソニー・インタラクティブエンタテインメント 頭部装着ディスプレイ
JP2017058777A (ja) * 2015-09-14 2017-03-23 株式会社コロプラ 視線誘導のためのコンピュータ・プログラム
JP2017102732A (ja) * 2015-12-02 2017-06-08 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置及び表示制御方法
JP2017111669A (ja) * 2015-12-17 2017-06-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および操作受付方法
JP2017117008A (ja) * 2015-12-21 2017-06-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および操作受付方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024042929A1 (ja) * 2022-08-25 2024-02-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法

Also Published As

Publication number Publication date
JP2019061528A (ja) 2019-04-18
JP6340464B1 (ja) 2018-06-06
CN111417989B (zh) 2024-03-29
US20200225490A1 (en) 2020-07-16
CN111417989A (zh) 2020-07-14
US11036053B2 (en) 2021-06-15

Similar Documents

Publication Publication Date Title
US10764565B2 (en) Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
US11504609B2 (en) Head mounted display
JP6340464B1 (ja) プログラム、情報処理方法、情報処理システム、頭部装着型表示装置、情報処理装置
US10620791B2 (en) Information processing apparatus and operation reception method
US10223064B2 (en) Method for providing virtual space, program and apparatus therefor
JP6342038B1 (ja) 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法
US10459599B2 (en) Method for moving in virtual space and information processing apparatus for executing the method
US20190026950A1 (en) Program executed on a computer for providing virtual space, method and information processing apparatus for executing the program
JP6523233B2 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム
JP6087453B1 (ja) 仮想空間の提供方法、およびプログラム
US10515481B2 (en) Method for assisting movement in virtual space and system executing the method
JP6392945B1 (ja) 仮想空間を提供するコンピュータで実行されるプログラム、方法、および当該プログラムを実行する情報処理装置
JP2017187952A (ja) 表示制御方法及び当該表示制御方法をコンピュータに実行させるためのプログラム
JP2018194889A (ja) 情報処理方法、コンピュータ及びプログラム
US20190114841A1 (en) Method, program and apparatus for providing virtual experience
JPWO2019225354A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP6382928B2 (ja) 仮想空間における画像の表示を制御するためにコンピュータによって実行される方法、当該方法をコンピュータに実現させるためのプログラム、および、コンピュータ装置
JP2019021324A (ja) 仮想空間を提供するコンピュータで実行されるプログラム、方法、および当該プログラムを実行する情報処理装置
US11882172B2 (en) Non-transitory computer-readable medium, information processing method and information processing apparatus
JP2017054320A (ja) Hmd装置におけるセンサー類を用いたユーザーインタフェースプログラムと広告および装置
CN108446012B (zh) 虚拟现实移动画面显示方法及虚拟现实装置
KR20230052297A (ko) 게임 프로그램, 게임 처리 방법 및 게임 장치
JP2018200688A (ja) 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法
JP2020064534A (ja) 仮想現実空間の提供方法
JP2018120521A (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: 18862131

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: 18862131

Country of ref document: EP

Kind code of ref document: A1