WO2018047384A1 - 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、当該情報処理方法が実行される情報処理装置、及び情報処理システム - Google Patents

情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、当該情報処理方法が実行される情報処理装置、及び情報処理システム Download PDF

Info

Publication number
WO2018047384A1
WO2018047384A1 PCT/JP2017/009739 JP2017009739W WO2018047384A1 WO 2018047384 A1 WO2018047384 A1 WO 2018047384A1 JP 2017009739 W JP2017009739 W JP 2017009739W WO 2018047384 A1 WO2018047384 A1 WO 2018047384A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
user
processing method
movement
virtual camera
Prior art date
Application number
PCT/JP2017/009739
Other languages
English (en)
French (fr)
Inventor
野口 裕弘
Original Assignee
株式会社コロプラ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社コロプラ filed Critical 株式会社コロプラ
Priority to CN201780002079.3A priority Critical patent/CN108027987B/zh
Priority to US15/753,958 priority patent/US20190011981A1/en
Publication of WO2018047384A1 publication Critical patent/WO2018047384A1/ja

Links

Images

Classifications

    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/0304Detection arrangements using opto-electronic means
    • G06F3/0308Detection arrangements using opto-electronic means comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Definitions

  • the present disclosure relates to an information processing method, a program for causing a computer to execute the information processing method, an information processing apparatus that executes the information processing method, and an information processing system.
  • UI user interface
  • a widget an example of a UI object
  • the widget is displayed in the field of view of the virtual camera.
  • HMD head mounted device
  • the widget is moved so as to be positioned within the field of view of the virtual camera.
  • the widget is always displayed in the visual field image displayed on the HMD.
  • Patent Document 1 when a widget is always displayed in a visual field image, the user may feel annoyed with the widget. In particular, while the widget is displayed in the field-of-view image, the user cannot sufficiently obtain an immersion feeling in the virtual space.
  • an information processing method executed by a processor of a computer that controls a head mounted device including a display unit includes: (A) The virtual camera, the first object that is fixedly arranged in the virtual space and displays the menu, the second object that can operate the menu displayed on the first object, and the operation object Generating virtual space data defining the virtual space; (B) obtaining a detection result of a detection unit configured to detect movement of the head mounted device and movement of a part of the body other than the user's head; (C) updating the field of view of the virtual camera in response to the movement of the head mounted device; (D) generating visual field image data based on the visual field of the virtual camera and the virtual space data; (E) displaying a visual field image on the display unit based on the visual field image data; (F) moving the operation object in response to movement of a part of the user's body; (G) operating a menu displayed on the first object in response to an input operation on the second object by the
  • HMD head mounted device
  • HMD head mounted device
  • worn It is a figure which shows the hardware constitutions of a control apparatus. It is a figure which shows an example of a specific structure of an external controller.
  • It is a flowchart which shows the process which displays a visual field image on HMD.
  • xyz space figure which shows an example of virtual space.
  • the state (a) is a yx plan view of the virtual space shown in FIG.
  • the state (b) is a zx plan view of the virtual space shown in FIG. It is a figure which shows an example of the visual field image displayed on HMD.
  • the state (a) is a diagram illustrating a state of the user who is immersed in the virtual space.
  • the state (b) is a diagram illustrating an example of the movement range of the tablet object set around the virtual camera.
  • the state (c) is a diagram illustrating another example of the movement range of the tablet object set around the virtual camera.
  • the state (a) is a diagram illustrating a state where the tablet object is located outside the movement range.
  • the state (b) is a diagram illustrating a state where the tablet object moves from outside the movement range to a predetermined position within the movement range.
  • An information processing method executed by a processor of a computer that controls a head mounted device including a display unit (A) The virtual camera, the first object that is fixedly arranged in the virtual space and displays the menu, the second object that can operate the menu displayed on the first object, and the operation object Generating virtual space data defining the virtual space; (B) obtaining a detection result of a detection unit configured to detect movement of the head mounted device and movement of a part of the body other than the user's head; (C) updating the field of view of the virtual camera in response to the movement of the head mounted device; (D) generating visual field image data based on the visual field of the virtual camera and the virtual space data; (E) displaying a visual field image on the display unit based on the visual field image data; (F) moving the operation object in response to movement of a part of the user's body; (G) operating a menu displayed on the first
  • the input operation may be specified based on an interaction between the second object and the operation object.
  • the virtual space data may further include a mediation object that is manipulated based on an operation of the manipulation object, and the input manipulation may be specified based on an interaction between the second object and the mediation object.
  • the menu displayed on the first object is operated in response to an input operation on the second object by the operation object. That is, the user can perform a predetermined operation on the second object in the virtual space using the operation object in the virtual space that is linked to the movement of a part of the user's body (for example, the hand). As a result of the predetermined operation, the menu displayed on the first object is operated. In this way, the menu operation can be executed by the interaction between objects in the virtual space. Furthermore, since the first object and the second object are not always displayed in the visual field image, it is possible to avoid a situation in which a UI object such as a widget is always displayed in the visual field image. Therefore, it is possible to provide an information processing method that can further enhance the user's immersion in the virtual space.
  • the step of moving the second object to a predetermined position within the movement range further includes the item (1) Information processing method described in 1.
  • the second object when it is determined that the second object is not located within the movement range of the second object, the second object moves to a predetermined position within the movement range. For example, when the user moves without having the second object, or the user throws away the second object, the second object is arranged outside the movement range. Even when the second object is located outside the movement range due to such a situation, the second object moves to a predetermined position within the movement range. In this way, the user can easily find the second object, and can greatly reduce the trouble of picking up the second object.
  • step (j) The information processing method according to item (2), including a step of moving the second object to the predetermined position within the movement range based on the position of the virtual camera and the position of the first object.
  • the second object is moved to a predetermined position within the movement range based on the position of the virtual camera and the position of the first object.
  • the position of the second object is determined based on the positional relationship between the first object and the virtual camera, the user can easily find the second object.
  • step (h) Measuring a distance between the user's head and a part of the user's body;
  • the information processing method according to item (2) or (3) including the step of setting the movement range based on the measured distance and the position of the virtual camera.
  • the movement range of the second object is set based on the distance between the user's head and a part of the user's body (for example, the hand) and the position of the virtual camera.
  • the second object is arranged in a range that can be picked up by the user while the user is stationary, it is possible to greatly reduce the trouble for the user to pick up the second object. .
  • step (h) Identifying a maximum distance between the user's head and part of the user's body based on the position of the user's head and part of the user's body; and The information processing method according to item (2) or (3), including the step of setting the movement range based on the maximum value of the identified distance and the position of the virtual camera.
  • the movement range of the operation object is set based on the maximum value of the distance between the user's head and a part of the user's body and the position of the virtual camera.
  • the second object is arranged in a range that can be picked up by the user while the user is stationary, it is possible to greatly reduce the trouble for the user to pick up the second object. .
  • step (h) Identifying a maximum value of the distance between the virtual camera and the operation object based on the position of the virtual camera and the position of the operation object;
  • the information processing method according to item (2) or (3) including the step of setting the movement range based on the maximum value of the identified distance and the position of the virtual camera.
  • the movement range of the operation object is set based on the maximum value of the distance between the virtual camera and the operation object and the position of the virtual camera.
  • a program for causing a computer to execute the information processing method according to any one of items (1) to (5) An information processing apparatus comprising at least a processor and a memory, and executing the information processing method according to any one of items (1) to (5) under the control of the processor.
  • An information processing system including an information processing apparatus including at least a processor and a memory, wherein the information processing method according to any one of items (1) to (5) is executed.
  • FIG. 1 is a schematic diagram showing an HMD system 1.
  • the HMD system 1 includes an HMD 110 mounted on the head of the user U, a position sensor 130, a control device 120, an external controller 320, and headphones 116.
  • the HMD 110 includes a display unit 112, an HMD sensor 114, and a gaze sensor 140.
  • the display unit 112 includes a non-transmissive display device configured to cover the field of view (field of view) of the user U wearing the HMD 110. Thereby, the user U can immerse in the virtual space by viewing only the visual field image displayed on the display unit 112.
  • the display unit 112 may be configured integrally with the main body unit of the HMD 110 or may be configured separately.
  • the display unit 112 may include a display unit for the left eye configured to provide an image for the left eye of the user U and a display unit for the right eye configured to provide an image for the right eye of the user U.
  • the HMD 110 may include a transmissive display device. In this case, the transmissive display device may be temporarily configured as a non-transmissive display device by adjusting the transmittance.
  • the HMD sensor 114 is mounted in the vicinity of the display unit 112 of the HMD 110.
  • the HMD sensor 114 includes at least one of a geomagnetic sensor, an acceleration sensor, and a tilt sensor (such as an angular velocity sensor and a gyro sensor), and can detect various movements of the HMD 110 mounted on the head of the user U.
  • Gaze sensor 140 has an eye tracking function that detects the direction of the user's gaze.
  • the gaze sensor 140 may include, for example, a right eye gaze sensor and a left eye gaze sensor.
  • the right eye gaze sensor irradiates, for example, infrared light to the right eye of the user U, and detects reflected light reflected from the right eye (particularly the cornea and iris), thereby acquiring information related to the rotation angle of the right eye's eyeball. May be.
  • the left eye gaze sensor irradiates the left eye of the user U with, for example, infrared light, and detects reflected light reflected from the left eye (particularly the cornea and iris), thereby providing information on the rotation angle of the left eye's eyeball. May be obtained.
  • the position sensor 130 is composed of, for example, a position tracking camera, and is configured to detect the positions of the HMD 110 and the external controller 320.
  • the position sensor 130 is communicably connected to the control device 120 by wireless or wired communication, and is configured to detect information on the position, inclination, or light emission intensity of a plurality of detection points (not shown) provided in the HMD 110. . Further, the position sensor 130 is configured to detect information on the position, inclination, and / or emission intensity of a plurality of detection points 304 (see FIG. 4) provided in the external controller 320.
  • the detection point is, for example, a light emitting unit that emits infrared light or visible light.
  • the position sensor 130 may include an infrared sensor and a plurality of optical cameras.
  • sensors such as the HMD sensor 114, the gaze sensor 140, and the position sensor 130 may be collectively referred to as a detection unit.
  • the detection unit detects a movement of a part of the body of the user U (for example, the hand of the user U), and then transmits a signal indicating the detection result to the control device 120.
  • the detection unit also has a function of detecting the movement of the head of the user U (function realized by the HMD sensor 114) and a function of detecting a movement of a part of the body other than the head of the user U (position sensor 130).
  • the function realized by Further, the detection unit may have a function of detecting the movement of the line of sight of the user U (a function realized by the gaze sensor 140).
  • the control device 120 is a computer configured to control the HMD 110.
  • the control device 120 acquires the position information of the HMD 110 based on the information acquired from the position sensor 130, and wears the position of the virtual camera in the virtual space and the HMD 110 in the real space based on the acquired position information.
  • the position of the user U can be accurately associated.
  • the control device 120 acquires position information of the external controller 320 based on the information acquired from the position sensor 130, and based on the acquired position information, the hand object 400 (displayed in the virtual space) And a position of the external controller 320 in the real space can be accurately associated with each other.
  • control device 120 specifies the gaze of the right eye and the gaze of the left eye of the user U based on the information transmitted from the gaze sensor 140, and determines the gaze point that is the intersection of the gaze of the right eye and the gaze of the left eye. Can be identified. Furthermore, the control device 120 can specify the line-of-sight direction of the user U based on the specified gaze point.
  • the line-of-sight direction of the user U is the line-of-sight direction of both eyes of the user U and coincides with the direction of a straight line passing through the middle point of the line segment connecting the right eye and the left eye of the user U and the gazing point.
  • FIG. 2 is a diagram illustrating the head of the user U wearing the HMD 110.
  • Information on the position and inclination of the HMD 110 that is linked to the movement of the head of the user U wearing the HMD 110 can be detected by the position sensor 130 and / or the HMD sensor 114 mounted on the HMD 110.
  • three-dimensional coordinates are defined centering on the head of the user U wearing the HMD 110.
  • the vertical direction in which the user U stands up is defined as the v-axis
  • the direction orthogonal to the v-axis and passing through the center of the HMD 110 is defined as the w-axis
  • the direction orthogonal to the v-axis and the w-axis is defined as the u-axis.
  • the position sensor 130 and / or the HMD sensor 114 is an angle around each uvw axis (that is, a yaw angle indicating rotation around the v axis, a pitch angle indicating rotation around the u axis, and a center around the w axis).
  • the inclination determined by the roll angle indicating rotation is detected.
  • the control device 120 determines angle information for controlling the visual axis of the virtual camera based on the detected angle change around each uvw axis.
  • FIG. 3 is a diagram illustrating a hardware configuration of the control device 120.
  • the control device 120 includes a control unit 121, a storage unit 123, an I / O (input / output) interface 124, a communication interface 125, and a bus 126.
  • the control unit 121, the storage unit 123, the I / O interface 124, and the communication interface 125 are connected to each other via a bus 126 so as to communicate with each other.
  • the control device 120 may be configured as a personal computer, a tablet, or a wearable device separately from the HMD 110, or may be built in the HMD 110. In addition, some functions of the control device 120 may be mounted on the HMD 110, and the remaining functions of the control device 120 may be mounted on another device separate from the HMD 110.
  • the control unit 121 includes a memory and a processor.
  • the memory includes, for example, a ROM (Read Only Memory) in which various programs are stored, a RAM (Random Access Memory) having a plurality of work areas in which various programs executed by the processor are stored, and the like.
  • the processor is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and / or a GPU (Graphics Processing Unit), and a program specified from various programs incorporated in the ROM is expanded on the RAM. It is comprised so that various processes may be performed in cooperation with.
  • the processor 121 develops a program (described later) for causing the computer to execute the information processing method according to the present embodiment on the RAM, and executes the program in cooperation with the RAM.
  • Various operations of the control device 120 may be controlled.
  • the control unit 121 displays a virtual space (view image) on the display unit 112 of the HMD 110 by executing a predetermined application program (game program) stored in the memory or the storage unit 123. Thereby, the user U can be immersed in the virtual space displayed on the display unit 112.
  • the storage unit (storage) 123 is a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a USB flash memory, and is configured to store programs and various data.
  • the storage unit 123 may store a program that causes a computer to execute the information processing method according to the present embodiment.
  • a user U authentication program, a game program including data on various images and objects, and the like may be stored.
  • a database including tables for managing various data may be constructed in the storage unit 123.
  • the I / O interface 124 is configured to connect the position sensor 130, the HMD 110, and the external controller 320 to the control device 120 so that they can communicate with each other.
  • a USB (Universal Serial Bus) terminal DVI (Digital)
  • the terminal includes a Visual Interface terminal, an HDMI (registered trademark) (High-Definition Multimedia interface) terminal, and the like.
  • the control device 120 may be wirelessly connected to each of the position sensor 130, the HMD 110, and the external controller 320.
  • the communication interface 125 is configured to connect the control device 120 to a communication network 3 such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet.
  • the communication interface 125 includes various wired connection terminals for communicating with external devices on the network via the communication network 3 and various processing circuits for wireless connection, and for communicating via the communication network 3. It is configured to conform to the communication standard.
  • the external controller 320 detects the movement of a part of the body of the user U (a part other than the head, which is the user U's hand in the present embodiment), thereby moving the hand object displayed in the virtual space. Used to control.
  • the external controller 320 is an external controller 320R for right hand operated by the right hand of the user U (hereinafter simply referred to as controller 320R) and an external controller 320L for left hand operated by the left hand of the user U (hereinafter simply referred to as controller 320L). (See state (a) in FIG. 13).
  • the controller 320R is a device that indicates the position of the right hand of the user U and the movement of the finger of the right hand. Further, the right-hand object that exists in the virtual space moves according to the movement of the controller 320R.
  • the controller 320L is a device that indicates the position of the left hand of the user U and the movement of the finger of the left hand. Further, the left hand object existing in the virtual space moves according to the movement of the controller 320L. Since the controller 320R and the controller 320L have substantially the same configuration, only the specific configuration of the controller 320R will be described below with reference to FIG. In the following description, the controllers 320L and 320R may be simply referred to as the controller 320 for convenience. Furthermore, the right hand object that is linked to the movement of the controller 320R and the left hand object that is linked to the movement of the controller 320L may be simply referred to as a hand object 400 in some cases.
  • the controller 320R includes an operation button 302, a plurality of detection points 304, a sensor (not shown), and a transceiver (not shown). Only one of the detection point 304 and the sensor may be provided.
  • the operation button 302 includes a plurality of button groups configured to accept an operation input from the user U.
  • the operation button 302 includes a push button, a trigger button, and an analog stick.
  • the push-type button is a button operated by an operation of pressing with a thumb. For example, two push buttons 302 a and 302 b are provided on the top surface 322.
  • the trigger type button is a button operated by an operation of pulling a trigger with an index finger or a middle finger.
  • a trigger button 302 e is provided on the front surface portion of the grip 324, and a trigger button 302 f is provided on the side surface portion of the grip 324.
  • the trigger type buttons 302e and 302f are operated by the index finger and the middle finger, respectively.
  • the analog stick is a stick-type button that can be operated by being tilted 360 degrees from a predetermined neutral position in an arbitrary direction.
  • an analog stick 320i is provided on the top surface 322, and is operated using a thumb.
  • the controller 320R includes a frame 326 that extends from both sides of the grip 324 in a direction opposite to the top surface 322 to form a semicircular ring.
  • a plurality of detection points 304 are embedded on the outer surface of the frame 326.
  • the plurality of detection points 304 are, for example, a plurality of infrared LEDs arranged in a line along the circumferential direction of the frame 326.
  • the sensor of the controller 320R may be, for example, a magnetic sensor, an angular velocity sensor, an acceleration sensor, or a combination thereof.
  • the sensor When the user U moves the controller 320R, the sensor outputs a signal (for example, a signal indicating information related to magnetism, angular velocity, or acceleration) according to the orientation and position of the controller 320R.
  • the control device 120 acquires information related to the position and orientation of the controller 320R based on the signal output from the sensor.
  • the transceiver of the controller 320R is configured to transmit and receive data between the controller 320R and the control device 120.
  • the transceiver may transmit an operation signal corresponding to the operation input of the user U to the control device 120.
  • the transceiver may receive an instruction signal for instructing the controller 320 ⁇ / b> R to emit light at the detection point 304 from the control device 120. Further, the transceiver may send a signal to the controller 120 indicating the value detected by the sensor.
  • FIG. 5 is a flowchart showing a process for displaying the visual field image on the HMD 110.
  • FIG. 6 is an xyz space diagram showing an example of the virtual space 200.
  • the state (a) in FIG. 7 is a yx plan view of the virtual space 200 shown in FIG.
  • the state (b) in FIG. 7 is a zx plan view of the virtual space 200 shown in FIG.
  • FIG. 8 is a diagram illustrating an example of the visual field image V displayed on the HMD 110.
  • step S1 the control unit 121 (see FIG. 3) generates virtual space data indicating the virtual space 200 including the virtual camera 300 and various objects.
  • the virtual space 200 is defined as an omnidirectional sphere with the center position 21 as the center (in FIG. 6, only the upper half celestial sphere is shown).
  • an xyz coordinate system with the center position 21 as the origin is set.
  • the virtual camera 300 defines a visual axis L for specifying the visual field image V (see FIG. 8) displayed on the HMD 110.
  • the uvw coordinate system that defines the visual field of the virtual camera 300 is determined so as to be linked to the uvw coordinate system that is defined around the head of the user U in the real space.
  • control unit 121 may move the virtual camera 300 in the virtual space 200 according to the movement of the user U wearing the HMD 110 in the real space.
  • Various objects in the virtual space 200 are, for example, a tablet object 500, a monitor object 600, and a hand object 400 (see FIG. 9).
  • step S2 the control unit 121 specifies the field of view CV (see FIG. 7) of the virtual camera 300. Specifically, the control unit 121 acquires data indicating the state of the HMD 110 transmitted from the position sensor 130 and / or the HMD sensor 114, and then relates to the position and inclination of the HMD 110 based on the acquired data. Get information. Next, the control unit 121 identifies the position and orientation of the virtual camera 300 in the virtual space 200 based on information regarding the position and tilt of the HMD 110. Next, the control unit 121 determines the visual axis L of the virtual camera 300 from the position and orientation of the virtual camera 300 and specifies the visual field CV of the virtual camera 300 from the determined visual axis L.
  • the visual field CV of the virtual camera 300 corresponds to a partial area of the virtual space 200 that can be viewed by the user U wearing the HMD 110.
  • the visual field CV corresponds to a partial area of the virtual space 200 displayed on the HMD 110.
  • the field of view CV includes a first region CVa set as an angular range of the polar angle ⁇ around the visual axis L in the xy plane shown in the state (a) of FIG. 7, and a state (b) of FIG.
  • the xz plane shown has a second region CVb set as an angle range of the azimuth angle ⁇ with the visual axis L as the center.
  • the control unit 121 identifies the line of sight of the user U based on the data indicating the line of sight of the user U transmitted from the gaze sensor 140, and determines the direction of the virtual camera 300 based on the line of sight of the user U. May be.
  • the control unit 121 can specify the field of view CV of the virtual camera 300 based on the data from the position sensor 130 and / or the HMD sensor 114.
  • the control unit 121 changes the visual field CV of the virtual camera 300 based on the data indicating the movement of the HMD 110 transmitted from the position sensor 130 and / or the HMD sensor 114. be able to. That is, the control unit 121 can change the visual field CV according to the movement of the HMD 110.
  • the control unit 121 can move the visual field CV of the virtual camera 300 based on the data indicating the line-of-sight direction of the user U transmitted from the gaze sensor 140. That is, the control unit 121 can change the visual field CV according to the change in the user U's line-of-sight direction.
  • step S3 the control unit 121 generates visual field image data indicating the visual field image V displayed on the display unit 112 of the HMD 110. Specifically, the control unit 121 generates visual field image data based on virtual space data defining the virtual space 200 and the visual field CV of the virtual camera 300.
  • step S4 the control unit 121 displays the visual field image V on the display unit 112 of the HMD 110 based on the visual field image data (see FIG. 7).
  • the visual field CV of the virtual camera 300 is updated according to the movement of the user U wearing the HMD 110, and the visual field image V displayed on the display unit 112 of the HMD 110 is updated. It is possible to immerse in the space 200.
  • the virtual camera 300 may include a left-eye virtual camera and a right-eye virtual camera.
  • the control unit 121 generates left-eye view image data indicating the left-eye view image based on the virtual space data and the view of the left-eye virtual camera. Further, the control unit 121 generates right-eye view image data indicating a right-eye view image based on the virtual space data and the view of the right-eye virtual camera. Thereafter, the control unit 121 displays the left-eye view image and the right-eye view image on the display unit 112 of the HMD 110 based on the left-eye view image data and the right-eye view image data.
  • the user U can visually recognize the visual field image as a three-dimensional image from the left-eye visual field image and the right-eye visual field image.
  • the number of virtual cameras 300 is one.
  • the embodiment of the present disclosure is applicable even when the number of virtual cameras is two.
  • the virtual space 200 includes a virtual camera 300, a hand object 400, a monitor object 600, and a tablet object 500.
  • the control unit 121 generates virtual space data that defines the virtual space 200 including these objects.
  • the virtual camera 300 is linked to the movement of the HMD 110 worn by the user U. That is, the visual field of the virtual camera 300 is updated according to the movement of the HMD 110.
  • the hand object 400 is a generic name for a left hand object and a right hand object. As described above, the left hand object moves in accordance with the movement of the controller 320L (see state (a) in FIG. 13) attached to the left hand of the user U. Similarly, the right hand object moves according to the movement of the controller 320R attached to the right hand of the user U. In the present embodiment, for convenience of explanation, only one hand object 400 is arranged in the virtual space 200, but two hand objects 400 may be arranged in the virtual space 200.
  • the control unit 121 After acquiring the position information of the controller 320 from the position sensor 130, the control unit 121 determines the position of the hand object 400 in the virtual space 200 and the position of the controller 320 in the real space based on the acquired position information. Associate. As described above, the control unit 121 controls the position of the hand object 400 according to the position of the hand of the user U (the position of the controller 320).
  • each finger of the hand object 400 arranged in the virtual space 200 can be operated. That is, the control unit 121 acquires an operation signal corresponding to an input operation on the operation button 302 from the controller 320, and controls the movement of the finger of the hand object 400 based on the operation signal. For example, when the user U operates the operation button 302, the hand object 400 can grasp the tablet object 500 (see FIG. 9). Furthermore, the hand object 400 and the tablet object 500 can be moved in accordance with the movement of the controller 320 while the hand object 400 is holding the tablet object 500. As described above, the control unit 121 is configured to control the movement of the hand object 400 according to the movement of the finger of the user U.
  • the monitor object 600 is configured to display a menu (in particular, the menu screen 610).
  • the menu screen 610 may display a plurality of selection items to be selected by the user U. In FIG. 9, “Western food”, “Japanese food”, and “Chinese food” are displayed on the menu screen 610 as selection items.
  • the menu screen 610 may also display stage information, acquired item information, a retire button, and / or a game restart button.
  • the monitor object 600 may be fixedly arranged at a predetermined position in the virtual space 200.
  • the position where the monitor object 600 is arranged may be changeable by a user operation. Further, the position where the monitor object 600 is arranged may be automatically changed based on a predetermined operation rule stored in the memory.
  • the tablet object 500 can operate the menu displayed on the monitor object 600.
  • the control unit 121 operates a menu displayed on the monitor object 600 in response to an input operation on the tablet object 500 by the hand object 400. Specifically, the control unit 121 controls the movement of the hand object 400 based on the operation signal transmitted from the controller 320 and / or the position information of the controller 320 transmitted from the position sensor 130. Thereafter, the control unit 121 identifies an interaction between the hand object 400 and the tablet object 500, and identifies an input operation on the tablet object 500 by the hand object 400 based on the interaction.
  • control unit 121 Based on the specified input operation, the control unit 121 selects one of a plurality of selection items (“Western food”, “Japanese food”, and “Chinese food”) displayed on the menu screen 610 of the monitor object 600. To do. The control unit 121 executes a predetermined process according to the selection result.
  • control unit 121 is not limited to an input operation that is directly input to the tablet object 500 by the hand object 400, and the menu displayed on the monitor object 600 is displayed according to the input operation that is input indirectly. You may operate. For example, by operating the hand object 400 as described above, the user operates the hand object 400 while grasping a predetermined medium object in the virtual space 200, and based on the interaction between the medium object and the tablet object 500, An input operation performed on the tablet object 500 by the object 400 may be specified. Based on the specified input operation, the control unit 121 selects one of a plurality of selection items (“Western food”, “Japanese food”, and “Chinese food”) displayed on the menu screen 610 of the monitor object 600. To do. The control unit 121 executes a predetermined process according to the selection result.
  • the intermediary object is preferably an object that is suggested to the user that input can be performed on the tablet object 500, and is an object imitating an object such as a touch pen, for example.
  • a direction key 520 is a button for controlling the movement of the cursor displayed on the menu screen 610 of the monitor object 600.
  • FIG. 11 is a flowchart for explaining the information processing method according to the present embodiment.
  • FIG. 12 is a flowchart illustrating an example of a method for setting the movement range of the tablet object 500.
  • a state (a) in FIG. 13 is a diagram illustrating a state of the user U who is immersed in the virtual space 200.
  • the state (b) in FIG. 13 is a diagram showing an example (movement range Ra) of the movement range of the tablet object 500 set around the virtual camera 300.
  • the state (c) of FIG. 13 is a diagram illustrating another example (movement range Rb) of the movement range of the tablet object 500 set around the virtual camera 300.
  • FIG. 14 is a diagram illustrating a state where the tablet object 500 is located outside the movement range Ra.
  • the state (b) of FIG. 14 is a diagram illustrating a state where the tablet object 500 moves from outside the movement range Ra to a predetermined position within the movement range Ra.
  • the tablet object 500 is moved.
  • the above-described intermediate object may be moved by a similar method instead of the tablet object 500.
  • the control unit 121 sets the movement range of the tablet object 500.
  • the movement range of the tablet object 500 is a state where the user U does not move (in other words, a state where the position coordinates of the user U in the real space do not change), and the user U uses the hand object 400 to move the tablet object. It may be defined as a range in which 500 can be grasped.
  • the control unit 121 moves the tablet object 500 to a predetermined position within the movement range.
  • the movement range of the tablet object 500 may be a movement range Ra defined as a sphere having a predetermined radius R with the center position of the virtual camera 300 as the center.
  • the distance between the tablet object 500 and the virtual camera 300 is equal to or less than the radius R, it is determined that the tablet object 500 exists within the movement range Ra.
  • the distance between the tablet object 500 and the virtual camera 300 is larger than the radius R, it is determined that the tablet object 500 exists outside the movement range Ra.
  • the moving range of the tablet object 500 may be a moving range Rb defined as a spheroid centered on the center position of the virtual camera 300.
  • the major axis of the spheroid may be parallel to the w axis of the virtual camera 300
  • the minor axis of the spheroid may be parallel to the v axis of the virtual camera 300.
  • the movement range of the tablet object 500 may be a movement range defined as a cube or a rectangular parallelepiped with the center position of the virtual camera 300 as the center.
  • the movement range of the tablet object 500 is the movement range Ra shown in the state (b) of FIG.
  • the radius R of the sphere that defines the movement range Ra is set based on the distance D between the HMD 110 and the controller 320 (controller 320L or controller 320R), as shown in the state (a) of FIG.
  • FIG. 12 an example of a method for setting the movement range Ra (the process executed in step S11 shown in FIG. 11) will be described.
  • the control unit 121 sets the value of the integer N to 1 in step S21.
  • the value of the integer N is first set to 1.
  • the value of the integer N may be increased by 1 every frame.
  • the control unit 121 specifies the position of the HMD 110 (the position of the head of the user U) based on the position information of the HMD 110 and the position information of the controller 320 transmitted from the position sensor 130, The position of the controller 320 (the position of the hand of the user U) is specified.
  • the control unit 121 specifies a distance D N between the HMD 110 and the controller 320 based on the specified position of the HMD 110 and the position of the controller 320 (step S23).
  • N ⁇ 1 NO in step S24
  • step S28 When determining that the distance D2 is greater than the maximum distance Dmax (YES in step S28), the control unit 121 sets the distance D2 to the maximum distance Dmax (step S29). On the other hand, when determining that the distance D2 is equal to or less than the maximum distance Dmax (NO in step S28), the control unit 121 proceeds to the process of step S26. If the predetermined time has not elapsed (NO in step S26), the value of integer N is incremented by one in step S27. As described above, the processes of steps S22, S23, S28, and S29 are repeatedly executed until a predetermined time elapses, and the value of the integer N increases by one for each frame.
  • the control unit 121 moves the tablet object 500 based on the maximum distance Dmax between the HMD 110 and the controller 320 and the position of the virtual camera 300.
  • a range Ra is set (step S30). Specifically, the control unit 121 sets the center position of the virtual camera 300 to the center of the sphere that defines the movement range Ra, and sets the maximum distance Dmax to the radius R of the sphere that defines the movement range Ra. In this way, the movement range Ra is set based on the maximum value of the distance between the HMD 110 and the controller 320 and the position of the virtual camera 300.
  • the control unit 121 may set the movement range Ra based on the maximum value of the distance between the virtual camera 300 and the hand object 400 and the position of the virtual camera 300.
  • the control unit 121 specifies the position of the virtual camera 300 and the position of the hand object 400, and in step S23, specifies the distance D N ⁇ ⁇ between the virtual camera 300 and the hand object 400.
  • the control unit 121 specifies the maximum distance Dmax between the virtual camera 300 and the hand object 400 until a predetermined time elapses.
  • the control unit 121 sets the center position of the virtual camera 300 to the center of the sphere that defines the movement range Ra, and sets the maximum distance Dmax between the virtual camera 300 and the hand object 400 to the radius R of the sphere.
  • the control unit 121 sets the movement range Ra based on the distance between the HMD 110 and the controller 320 and the position of the virtual camera 300 when the user U is in a predetermined posture. May be.
  • the movement range Ra may be set based on the distance between the HMD 110 and the controller 320 and the position of the virtual camera 300 when both hands are projected forward with the user U standing up.
  • step S ⁇ b> 12 the control unit 121 determines whether or not the hand object 400 has moved while the hand object 400 has gripped the tablet object 500 (see FIG. 14). If YES in step S12, the control unit 121 moves the hand object 400 and the tablet object 500 together in accordance with the movement of the controller 320 (step S13). On the other hand, if NO at step S12, the process proceeds to step S14. Next, in step S ⁇ b> 14, the control unit 121 determines whether the tablet object 500 is operated by the hand object 400.
  • step S14 the control unit 121 operates a menu (menu screen 610) displayed on the monitor object 600 in accordance with an input operation on the tablet object 500 by a hand object, and then performs predetermined processing according to the operation result.
  • the process is executed (step S15). On the other hand, if NO at step S14, the process proceeds to step S16.
  • the control unit 121 determines whether the tablet object 500 exists outside the movement range Ra and whether the tablet object 500 is not grasped by the hand object 400 (step S16). For example, as shown in the state (a) of FIG. 14, the tablet object 500 is positioned outside the movement range Ra when the user U throws the tablet object 500 using the hand object 400. Alternatively, when the user U moves while the tablet object 500 is not grasped by the hand object 400, the tablet object 500 is positioned outside the movement range Ra. In this case, since the virtual camera 300 moves as the user U moves, the movement range Ra set around the virtual camera 300 moves. In this way, the tablet object 500 is located outside the movement range Ra.
  • step S16 the control unit 121 moves the tablet object 500 to a predetermined position within the movement range Ra based on the position of the virtual camera 300 and the position of the monitor object 600 (step S17). For example, as shown in the state (b) of FIG. 14, the control unit 121 offsets a predetermined distance in the y-axis direction from the center position of the line segment C connecting the center position of the monitor object 600 and the center position of the virtual camera 300. After specifying the determined position, the tablet object 500 may be arranged at the specified position. In step S16, it may be determined whether or not the tablet object 500 exists outside the movement range Ra.
  • the menu displayed on the monitor object 600 is operated in accordance with the input operation to the tablet object 500 by the hand object 400. That is, the user U can perform a predetermined operation on the tablet object 500 in the virtual space 200 using the hand object 400 in the virtual space 200 that is linked to the movement of the user U's hand. As a result of the predetermined operation, a menu displayed on the monitor object 600 is operated.
  • the menu operation is executed by the interaction between the objects in the virtual space 200 and the UI object such as the widget is always displayed in the visual field image. Therefore, it is possible to provide an information processing method that can further enhance the immersive feeling of the user U with respect to the virtual space 200.
  • the tablet object 500 moves to a predetermined position within the movement range Ra.
  • the user U can easily find the tablet object 500 and can greatly reduce the effort for picking up the tablet object 500.
  • the position of the tablet object 500 within the movement range Ra is determined based on the positional relationship between the monitor object 600 and the virtual camera 300 (for example, the center point of the line segment C), the user U can select the tablet object. 500 can be easily found.
  • the moving range Ra of the tablet object 500 is determined based on the maximum distance Dmax between the HMD 110 (the head of the user U) and the controller 320 (the hand of the user U). As described above, since the tablet object 500 is arranged in a range that can be picked up by the user U in a state where the user U is stationary (a state in which the position coordinates of the user do not change in the real space), the user U can use the tablet object. The time and labor required for picking up 500 can be greatly reduced.
  • An information processing program for causing a computer (processor) to execute the information processing method according to the present embodiment is incorporated in advance in the storage unit 123 or the ROM in order to implement various processes executed by the control unit 121 by software. Also good.
  • the information processing program includes a magnetic disk (HDD, floppy disk), an optical disk (CD-ROM, DVD-ROM, Blu-ray (registered trademark) disk, etc.), a magneto-optical disk (MO, etc.), a flash memory (SD card). , USB memory, SSD, etc.) may be stored in a computer-readable storage medium.
  • the information processing program stored in the storage medium is incorporated into the storage unit 123 by connecting the storage medium to the control device 120.
  • the control unit 121 executes the information processing method according to the present embodiment by loading the information processing program incorporated in the storage unit 123 onto the RAM and executing the program loaded by the processor.
  • the information processing program may be downloaded from a computer on the communication network 3 via the communication interface 125. Similarly in this case, the downloaded program is incorporated in the storage unit 123.
  • the movement of the hand object is controlled according to the movement of the external controller 320 indicating the movement of the user U's hand, but the hand in the virtual space is controlled according to the movement amount of the user U's hand itself.
  • the movement of the object may be controlled.
  • the position sensor 130 can detect the position and movement amount of the user U's hand, The movement and state of the user's U finger can be detected.
  • the position sensor 130 may be a camera configured to image the user U's hand (including fingers).
  • the position and movement of the user's U hand can be determined based on the image data on which the user's hand is displayed without directly attaching any device to the user's finger.
  • the amount can be detected, and the movement and state of the finger of the user U can be detected.
  • the tablet object is operated by the hand object according to the position and / or movement of the hand that is a part of the body other than the head of the user U.
  • the tablet object may be operated by a foot object (an example of an operation object) that is linked to the movement of the foot of the user U in accordance with the position and / or movement of the foot that is a part of the body.
  • a foot object instead of a hand object may be defined as an operation object.
  • a remote control object or the like instead of the tablet object may be defined as an object that can operate the menu displayed on the monitor object.
  • HMD system 3 Communication network 21: Center position 112: Display unit 114: HMD sensor 120: Control device 121: Control unit 123: Storage unit 124: I / O interface 125: Communication interface 126: Bus 130: Position sensor 140 : Gaze sensor 200: Virtual space 300: Virtual camera 302: Operation button 302 a: Push type button 302 b: Push type button 302 e: Trigger type button 302 f: Trigger type button 304: Detection point 320: External controller (controller) 320i: Analog stick 320L: Left hand external controller (controller) 320R: External controller for right hand (controller) 322: Top surface 324: Grip 326: Frame 400: Hand object (operation object) 500: Tablet object (second object) 510: Display screen 520: Direction key 530: BACK button 540: OK button 550L: L button 550R: R button 600: Monitor object (first object) 610: Menu screen C: Line segment CV: Field of view CVa: First region CVb:

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

仮想空間に対するユーザの没入感をさらに高める。情報処理方法は、仮想空間200を規定する仮想空間データを生成するステップと、HMDの動きと、コントローラの動きとを検出するように構成された検出ユニットの検出結果を取得するステップと、HMDの動きに応じて、仮想カメラ300の視野を更新するステップと、仮想カメラ300の視野と仮想空間データに基づいて、視野画像データを生成するステップと、視野画像データに基づいて、表示部に視野画像を表示させるステップと、コントローラの動きに応じて、手オブジェクト400を動作させるステップと、手オブジェクト400によるタブレットオブジェクト500に対する入力操作に応じて、モニターオブジェクト600に表示されたメニューを操作するステップとを含む。

Description

情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、当該情報処理方法が実行される情報処理装置、及び情報処理システム
 本開示は、情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、当該情報処理方法が実行される情報処理装置、及び情報処理システムに関する。
 仮想空間内にユーザインターフェース(UI)オブジェクトを配置する技術が知られている。例えば、特許文献1の開示では、仮想空間内にウィジェット(UIオブジェクトの一例)が配置されており、仮想カメラの視野内に当該ウィジェットが表示されている。ヘッドマウントデバイス(Head Mounted Device:HMD)の移動に伴い、ウィジェットが仮想カメラの視野外に位置した場合、当該ウィジェットは仮想カメラの視野内に位置するように移動される。このように、ウィジェットが仮想空間内に配置されている間は、ウィジェットは常にHMDに表示される視野画像内に表示される。
特許第5876607号公報
 ところで、特許文献1に開示されているように、視野画像内にウィジェットが常に表示されている場合、ユーザは当該ウィジェットに対して煩わしさを感じる場合がある。特に、ウィジェットが視野画像に表示されている間は、ユーザは仮想空間に対する没入感を十分に得ることができない。
 本発明は、仮想空間に対するユーザの没入感をさらに高めることが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することを目的とする。
 本開示が示す一態様によれば、表示部を備えたヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法が提供される。
 前記情報処理方法は、
 (a)仮想カメラと、仮想空間内に固定的に配置され、メニューを表示する第1オブジ
ェクトと、前記第1オブジェクトに表示されたメニューを操作可能な第2オブジェクトと、操作オブジェクトとを含む前記仮想空間を規定する仮想空間データを生成するステップと、
 (b)前記ヘッドマウントデバイスの動きと、ユーザの頭部以外の身体の一部の動きとを検出するように構成された検出ユニットの検出結果を取得するステップと、
 (c)前記ヘッドマウントデバイスの動きに応じて、前記仮想カメラの視野を更新するステップと、
 (d)前記仮想カメラの視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
 (e)前記視野画像データに基づいて、前記表示部に視野画像を表示させるステップと、
 (f)前記ユーザの身体の一部の動きに応じて、前記操作オブジェクトを動作させるステップと、
 (g)前記操作オブジェクトによる前記第2オブジェクトに対する入力操作に応じて、前記第1オブジェクトに表示されたメニューを操作するステップと、を含む。
 本開示によれば、仮想空間に対するユーザの没入感をさらに高めることが可能な情報処理方法及び当該情報処理方法をコンピュータに実現させるためのプログラムを提供することができる。
ヘッドマウントデバイス(Head Mounted Device:HMD)システムを示す概略図である。 HMDを装着したユーザの頭部を示す図である。 制御装置のハードウェア構成を示す図である。 外部コントローラの具体的な構成の一例を示す図である。 視野画像をHMDに表示する処理を示すフローチャートである。 仮想空間の一例を示すxyz空間図である。 状態(a)は、図6に示す仮想空間のyx平面図である。状態(b)は、図6に示す仮想空間のzx平面図である。 HMDに表示された視野画像の一例を示す図である。 仮想カメラと、手オブジェクトと、タブレットオブジェクトと、モニターオブジェクトとを含む仮想空間を示す図である。 タブレットオブジェクトの表示画面の一例を示す図である。 本実施形態に係る情報処理方法を説明するためのフローチャートである。 タブレットオブジェクトの移動範囲を設定するための方法の一例を示すフローチャートである。 状態(a)は、仮想空間に没入しているユーザの様子を示す図である。状態(b)は、仮想カメラの周辺に設定されたタブレットオブジェクトの移動範囲の一例を示す図である。状態(c)は、仮想カメラの周辺に設定されたタブレットオブジェクトの移動範囲の他の一例を示す図である。 状態(a)は、タブレットオブジェクトが移動範囲外に位置している様子を示す図である。状態(b)は、タブレットオブジェクトが移動範囲外から移動範囲内の所定の位置に移動する様子を示す図である。
 [本開示が示す実施形態の説明]
 本開示が示す実施形態の概要を説明する。
 (1)表示部を備えたヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法であって、
 (a)仮想カメラと、仮想空間内に固定的に配置され、メニューを表示する第1オブジェクトと、前記第1オブジェクトに表示されたメニューを操作可能な第2オブジェクトと、操作オブジェクトとを含む前記仮想空間を規定する仮想空間データを生成するステップと、
 (b)前記ヘッドマウントデバイスの動きと、ユーザの頭部以外の身体の一部の動きとを検出するように構成された検出ユニットの検出結果を取得するステップと、
 (c)前記ヘッドマウントデバイスの動きに応じて、前記仮想カメラの視野を更新するステップと、
 (d)前記仮想カメラの視野と前記仮想空間データに基づいて、視野画像データを生成するステップと、
 (e)前記視野画像データに基づいて、前記表示部に視野画像を表示させるステップと、
 (f)前記ユーザの身体の一部の動きに応じて、前記操作オブジェクトを動作させるステップと、
 (g)前記操作オブジェクトによる前記第2オブジェクトに対する入力操作に応じて、前記第1オブジェクトに表示されたメニューを操作するステップと、を含む。
 なお、前記入力操作は、前記第2オブジェクトと前記操作オブジェクトの相互作用に基づいて特定されてもよい。また、前記仮想空間データは、前記操作オブジェクトの動作に基づいて操作される媒介オブジェクトをさらに含み、前記入力操作は、前記第2オブジェクトと前記媒介オブジェクトの相互作用に基づいて特定されてもよい。
 上記方法によれば、操作オブジェクトによる第2オブジェクトに対する入力操作に応じて、第1オブジェクトに表示されたメニューが操作される。つまり、ユーザは、ユーザの身体の一部(例えば、手)の動きに連動する仮想空間内の操作オブジェクトを用いて、仮想空間内の第2オブジェクトに対して所定の操作を行うことができる。当該所定の操作の結果、第1オブジェクトに表示されるメニューが操作される。このように、メニュー操作を仮想空間内のオブジェクト同士の相互作用により実行することが可能となる。さらに、第1オブジェクト及び第2オブジェクトは視野画像内に常に表示されるわけではないので、視野画像内にウィジェット等のUIオブジェクトが常に表示されてしまうといった状況を回避することが可能となる。従って、仮想空間に対するユーザの没入感をさらに高めることが可能な情報処理方法を提供することができる。
 (2)(h)前記仮想カメラの位置に基づいて、前記第2オブジェクトの移動範囲を設定するステップと、
 (i)前記第2オブジェクトが前記移動範囲内に位置しているかどうかを判定するステップと、
 (j)前記第2オブジェクトが前記移動範囲内に位置していないと判定した場合に、前記第2オブジェクトを前記移動範囲内の所定の位置に移動させるステップと、をさらに含む、項目(1)に記載の情報処理方法。
 上記方法によれば、第2オブジェクトが第2オブジェクトの移動範囲に位置していないと判定された場合に、第2オブジェクトが当該移動範囲内の所定の位置に移動する。例えば、ユーザが第2オブジェクトを持たないまま移動し、又はユーザが第2オブジェクトを投げ飛ばすことで、第2オブジェクトが移動範囲外に配置される。かかる状況によって第2オブジェクトが移動範囲外に位置した場合でも、第2オブジェクトが移動範囲内の所定の位置に移動する。このように、ユーザは、第2オブジェクトを容易に見つけ出すことができると共に、第2オブジェクトを手に取るための手間を大幅に軽減することができる。
 (3)前記ステップ(j)は、
 前記仮想カメラの位置と前記第1オブジェクトの位置に基づいて、前記第2オブジェクトを前記移動範囲内の前記所定の位置に移動させるステップを含む、項目(2)に記載の情報処理方法。
 上記方法によれば、仮想カメラの位置と第1オブジェクトの位置に基づいて第2オブジェクトが移動範囲内の所定位置に移動される。このように、第1オブジェクトと仮想カメラとの間の位置関係に基づいて第2オブジェクトの位置が決定されるため、ユーザは第2オブジェクトを容易に見つけ出すことができる。
 (4)前記ステップ(h)は、
 前記ユーザの頭部と前記ユーザの身体の一部との間の距離を測定するステップと、
 前記測定された距離と、前記仮想カメラの位置に基づいて、前記移動範囲を設定するステップと、を含む、項目(2)又は(3)に記載の情報処理方法。
 上記方法によれば、ユーザの頭部とユーザの身体の一部(例えば、手)との間の距離と
、仮想カメラの位置に基づいて第2オブジェクトの移動範囲が設定される。このように、第2オブジェクトは、ユーザが静止した状態でユーザが手に取ることができる範囲に配置されるため、ユーザが第2オブジェクトを手に取るための手間を大幅に軽減することができる。
 (5)前記ステップ(h)は、
 前記ユーザの頭部の位置と前記ユーザの身体の一部の位置に基づいて、前記ユーザの頭部と前記ユーザの身体の一部との間の距離の最大値を特定するステップと、
 前記特定された距離の最大値と、前記仮想カメラの位置に基づいて、前記移動範囲を設定するステップと、を含む、項目(2)又は(3)に記載の情報処理方法。
 上記方法によれば、ユーザの頭部とユーザの身体の一部との間の距離の最大値と、仮想カメラの位置に基づいて、操作オブジェクトの移動範囲が設定される。このように、第2オブジェクトは、ユーザが静止した状態でユーザが手に取ることができる範囲に配置されるため、ユーザが第2オブジェクトを手に取るための手間を大幅に軽減することができる。
 (6)前記ステップ(h)は、
 前記仮想カメラの位置と前記操作オブジェクトの位置に基づいて、前記仮想カメラと前記操作オブジェクトとの間の距離の最大値を特定するステップと、
 前記特定された距離の最大値と、前記仮想カメラの位置に基づいて、前記移動範囲を設定するステップと、を含む、項目(2)又は(3)に記載の情報処理方法。
 上記方法によれば、仮想カメラと操作オブジェクトとの間の距離の最大値と、仮想カメラの位置に基づいて、操作オブジェクトの移動範囲が設定される。このように、第2オブジェクトは、ユーザが静止した状態でユーザが手に取ることができる範囲に配置されるため、ユーザが第2オブジェクトを手に取るための手間を大幅に軽減することができる。
 (7)項目(1)から(5)のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。少なくともプロセッサとメモリを備え、前記プロセッサの制御により項目(1)から(5)のうちいずれか一項に記載の情報処理方法を実行する情報処理装置。少なくともプロセッサとメモリを備える情報処理装置を含み、項目(1)から(5)のうちいずれか一項に記載の情報処理方法が実行される情報処理システム。
 上記方法によれば、仮想空間に対するユーザの没入感をさらに高めることが可能なプログラム、情報処理装置、および、情報処理システムを提供することができる。
 [本開示が示す実施形態の詳細]
 以下、本開示が示す実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
 最初に、図1を参照してヘッドマウントデバイス(HMD)システム1の構成について説明する。図1は、HMDシステム1を示す概略図である。図1に示すように、HMDシステム1は、ユーザUの頭部に装着されたHMD110と、位置センサ130と、制御装置120と、外部コントローラ320と、ヘッドフォン116とを備える。
 HMD110は、表示部112と、HMDセンサ114と、注視センサ140とを備える。表示部112は、HMD110を装着したユーザUの視界(視野)を覆うように構成された非透過型の表示装置を備えている。これにより、ユーザUは、表示部112に表示された視野画像のみを見ることで仮想空間に没入することができる。表示部112は、HMD110の本体部と一体に構成されていてもよいし、別体に構成されていてもよい。表示部112は、ユーザUの左目に画像を提供するように構成された左目用の表示部とユーザUの右目に画像を提供するように構成された右目用の表示部から構成されてもよい。また、HMD110は、透過型表示装置を備えてもよい。この場合、当該透過型表示装置は、その透過率を調整することにより、一時的に非透過型の表示装置として構成可能であってもよい。
 HMDセンサ114は、HMD110の表示部112の近傍に搭載される。HMDセンサ114は、地磁気センサ、加速度センサ、傾きセンサ(角速度センサやジャイロセンサ等)のうちの少なくとも1つを含み、ユーザUの頭部に装着されたHMD110の各種動きを検出することができる。
 注視センサ140は、ユーザUの視線方向を検出するアイトラッキング機能を有する。注視センサ140は、例えば、右目用注視センサと、左目用注視センサを備えてもよい。右目用注視センサは、ユーザUの右目に例えば赤外光を照射して、右目(特に、角膜や虹彩)から反射された反射光を検出することで、右目の眼球の回転角に関する情報を取得してもよい。一方、左目用注視センサは、ユーザUの左目に例えば赤外光を照射して、左目(特に、角膜や虹彩)から反射された反射光を検出することで、左目の眼球の回転角に関する情報を取得してもよい。
 位置センサ130は、例えば、ポジション・トラッキング・カメラにより構成され、HMD110と外部コントローラ320の位置を検出するように構成されている。位置センサ130は、制御装置120に無線又は有線により通信可能に接続されており、HMD110に設けられた図示しない複数の検知点の位置、傾き又は発光強度に関する情報を検出するように構成されている。さらに、位置センサ130は、外部コントローラ320に設けられた複数の検知点304(図4参照)の位置、傾き及び/又は発光強度に関する情報を検出するように構成されている。検知点は、例えば、赤外線や可視光を放射する発光部である。また、位置センサ130は、赤外線センサや複数の光学カメラを含んでもよい。
 尚、本実施形態の説明では、HMDセンサ114と、注視センサ140と、位置センサ130等のセンサを検出ユニットと総称する場合がある。検出ユニットは、ユーザUの身体の一部(例えば、ユーザUの手)の動きを検出した上で、当該検出結果を示す信号を制御装置120に送信する。また、検出ユニットは、ユーザUの頭部の動きを検出する機能(HMDセンサ114によって実現される機能)と、ユーザUの頭部以外の身体の一部の動きを検出する機能(位置センサ130によって実現される機能)とを有する。また、検出ユニットは、ユーザUの視線の動きを検出する機能(注視センサ140によって実現される機能)を有してもよい。
 制御装置120は、HMD110を制御するように構成されたコンピュータである。制御装置120は、位置センサ130から取得された情報に基づいて、HMD110の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間における仮想カメラの位置と、現実空間におけるHMD110を装着したユーザUの位置を正確に対応付けることができる。さらに、制御装置120は、位置センサ130から取得された情報に基づいて、外部コントローラ320の位置情報を取得し、当該取得された位置情報に基づいて、仮想空間内に表示される手オブジェクト400(後述する)の位置と現実空間における外部コントローラ320の位置を正確に対応付けることができる。
 また、制御装置120は、注視センサ140から送信された情報に基づいて、ユーザUの右目の視線と左目の視線をそれぞれ特定し、当該右目の視線と当該左目の視線の交点である注視点を特定することができる。さらに、制御装置120は、特定された注視点に基づいて、ユーザUの視線方向を特定することができる。ここで、ユーザUの視線方向は、ユーザUの両目の視線方向であって、ユーザUの右目と左目を結ぶ線分の中点と注視点を通る直線の方向に一致する。
 次に、図2を参照して、HMD110の位置や傾きに関する情報を取得する方法について説明する。図2は、HMD110を装着したユーザUの頭部を示す図である。HMD110を装着したユーザUの頭部の動きに連動したHMD110の位置や傾きに関する情報は、位置センサ130及び/又はHMD110に搭載されたHMDセンサ114により検出可能である。図2に示すように、HMD110を装着したユーザUの頭部を中心として、3次元座標(uvw座標)が規定される。ユーザUが直立する垂直方向をv軸として規定し、v軸と直交しHMD110の中心を通る方向をw軸として規定し、v軸およびw軸と直交する方向をu軸として規定する。位置センサ130及び/又はHMDセンサ114は、各uvw軸回りの角度(すなわち、v軸を中心とする回転を示すヨー角、u軸を中心とした回転を示すピッチ角、w軸を中心とした回転を示すロール角で決定される傾き)を検出する。制御装置120は、検出された各uvw軸回りの角度変化に基づいて、仮想カメラの視軸を制御するための角度情報を決定する。
 次に、図3を参照することで、制御装置120のハードウェア構成について説明する。図3は、制御装置120のハードウェア構成を示す図である。図3に示すように、制御装置120は、制御部121と、記憶部123と、I/O(入出力)インターフェース124と、通信インターフェース125と、バス126とを備える。制御部121と、記憶部123と、I/Oインターフェース124と、通信インターフェース125は、バス126を介して互いに通信可能に接続されている。
 制御装置120は、HMD110とは別体に、パーソナルコンピュータ、タブレット又はウェアラブルデバイスとして構成されてもよいし、HMD110に内蔵されていてもよい。また、制御装置120の一部の機能がHMD110に搭載されると共に、制御装置120の残りの機能がHMD110とは別体の他の装置に搭載されてもよい。
 制御部121は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)及び/又はGPU(Graphics Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
 特に、プロセッサが本実施形態に係る情報処理方法をコンピュータに実行させるためのプログラム(後述する)をRAM上に展開し、RAMとの協働で当該プログラムを実行することで、制御部121は、制御装置120の各種動作を制御してもよい。制御部121は、メモリや記憶部123に格納された所定のアプリケーションプログラム(ゲームプログラム)を実行することで、HMD110の表示部112に仮想空間(視野画像)を表示する。これにより、ユーザUは、表示部112に表示された仮想空間に没入することができる。
 記憶部(ストレージ)123は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、USBフラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部123は、本実施形態に係る情報処理方法をコンピュータに実行させるプログラムを格納してもよい。また、ユーザUの認証プログラムや各種画像やオブジェクトに関するデータを含むゲームプログラム等が格納されてもよい。さらに、記憶部123には、各種データを管理するためのテーブルを含むデータベースが構築されてもよい。
 I/Oインターフェース124は、位置センサ130と、HMD110と、外部コントローラ320とをそれぞれ制御装置120に通信可能に接続するように構成されており、例えば、USB(Universal Serial Bus)端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High―Definition Multimedia Interface)端子等により構成されている。尚、制御装置120は、位置センサ130と、HMD110と、外部コントローラ320とのそれぞれと無線接続されていてもよい。
 通信インターフェース125は、制御装置120をLAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク3に接続させるように構成されている。通信インターフェース125は、通信ネットワーク3を介してネットワーク上の外部装置と通信するための各種有線接続端子や、無線接続のための各種処理回路を含んでおり、通信ネットワーク3を介して通信するための通信規格に適合するように構成されている。
 次に、図4を参照して外部コントローラ320の具体的構成の一例について説明する。外部コントローラ320は、ユーザUの身体の一部(頭部以外の部位であり、本実施形態においてはユーザUの手)の動きを検知することにより、仮想空間内に表示される手オブジェクトの動作を制御するために使用される。外部コントローラ320は、ユーザUの右手によって操作される右手用外部コントローラ320R(以下、単にコントローラ320Rという。)と、ユーザUの左手によって操作される左手用外部コントローラ320L(以下、単にコントローラ320Lという。)と、を有する(図13の状態(a)参照)。コントローラ320Rは、ユーザUの右手の位置や右手の手指の動きを示す装置である。また、コントローラ320Rの動きに応じて仮想空間内に存在する右手オブジェクトが移動する。コントローラ320Lは、ユーザUの左手の位置や左手の手指の動きを示す装置である。また、コントローラ320Lの動きに応じて仮想空間内に存在する左手オブジェクトが移動する。コントローラ320Rとコントローラ320Lは略同一の構成を有するので、以下では、図4を参照してコントローラ320Rの具体的構成についてのみ説明する。尚、以降の説明では、便宜上、コントローラ320L,320Rを単にコントローラ320と総称する場合がある。さらに、コントローラ320Rの動きに連動する右手オブジェクトとコントローラ320Lの動きに連動する左手オブジェクトを単に手オブジェクト400と総称する場合がある。
 図4に示すように、コントローラ320Rは、操作ボタン302と、複数の検知点304と、図示しないセンサと、図示しないトランシーバとを備える。検知点304とセンサは、どちらか一方のみが設けられていてもよい。操作ボタン302は、ユーザUからの操作入力を受付けるように構成された複数のボタン群により構成されている。操作ボタン302は、プッシュ式ボタン、トリガー式ボタン及びアナログスティックを含む。プッシュ式ボタンは、親指による押下する動作によって操作されるボタンである。例えば、天面322上に2つのプッシュ式ボタン302a,302bが設けられている。トリガー式ボタンは、人差し指や中指で引き金を引くような動作によって操作されるボタンである。例えば、グリップ324の前面部分にトリガー式ボタン302eが設けられると共に、グリップ324の側面部分にトリガー式ボタン302fが設けられる。トリガー式ボタン302e,302fは、人差し指と中指によってそれぞれ操作される。アナログスティックは、所定のニュートラル位置から360度任意の方向へ傾けて操作されうるスティック型のボタンである。例えば、天面322上にアナログスティック320iが設けられており、親指を用いて操作される。
 コントローラ320Rは、グリップ324の両側面から天面322とは反対側の方向へ延びて半円状のリングを形成するフレーム326を備える。フレーム326の外側面には、複数の検知点304が埋め込まれている。複数の検知点304は、例えば、フレーム326の円周方向に沿って一列に並んだ複数の赤外線LEDである。位置センサ130が、複数の検知点304の位置、傾き又は発光強度に関する情報を検出した後に、制御装置120は、位置センサ130によって検出された情報に基づいて、コントローラ320Rの位置や姿勢(傾き・向き)に関する情報を取得する。
 コントローラ320Rのセンサは、例えば、磁気センサ、角速度センサ、若しくは加速度センサのいずれか、又はこれらの組み合わせであってもよい。センサは、ユーザUがコントローラ320Rを動かしたときに、コントローラ320Rの向きや位置に応じた信号(例えば、磁気、角速度、又は加速度に関する情報を示す信号)を出力する。制御装置120は、センサから出力された信号に基づいて、コントローラ320Rの位置や姿勢に関する情報を取得する。
 コントローラ320Rのトランシーバは、コントローラ320Rと制御装置120との間でデータを送受信するように構成されている。例えば、トランシーバは、ユーザUの操作入力に対応する操作信号を制御装置120に送信してもよい。また、トランシーバは、検知点304の発光をコントローラ320Rに指示する指示信号を制御装置120から受信してもよい。さらに、トランシーバは、センサによって検出された値を示す信号を制御装置120に送信してもよい。
 次に、図5から図8を参照することで視野画像をHMD110に表示するための処理について説明する。図5は、視野画像をHMD110に表示する処理を示すフローチャートである。図6は、仮想空間200の一例を示すxyz空間図である。図7の状態(a)は、図6に示す仮想空間200のyx平面図である。図7の状態(b)は、図6に示す仮想空間200のzx平面図である。図8は、HMD110に表示された視野画像Vの一例を示す図である。
 図5に示すように、ステップS1において、制御部121(図3参照)は、仮想カメラ300と、各種オブジェクトとを含む仮想空間200を示す仮想空間データを生成する。図6に示すように、仮想空間200は、中心位置21を中心とした全天球として規定される(図6では、上半分の天球のみが図示されている)。また、仮想空間200では、中心位置21を原点とするxyz座標系が設定されている。仮想カメラ300は、HMD110に表示される視野画像V(図8参照)を特定するための視軸Lを規定している。仮想カメラ300の視野を定義するuvw座標系は、現実空間におけるユーザUの頭部を中心として規定されたuvw座標系に連動するように決定される。また、制御部121は、HMD110を装着したユーザUの現実空間における移動に応じて、仮想カメラ300を仮想空間200内で移動させてもよい。また、仮想空間200内における各種オブジェクトは、例えば、タブレットオブジェクト500と、モニターオブジェクト600と、手オブジェクト400である(図9参照)。
 次に、ステップS2において、制御部121は、仮想カメラ300の視野CV(図7参照)を特定する。具体的には、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の状態を示すデータを取得した上で、当該取得されたデータに基づいて、HMD110の位置や傾きに関する情報を取得する。次に、制御部121は、HMD110の位置や傾きに関する情報に基づいて、仮想空間200内における仮想カメラ300の位置や向きを特定する。次に、制御部121は、仮想カメラ300の位置や向きから仮想カメラ300の視軸Lを決定し、決定された視軸Lから仮想カメラ300の視野CVを特定する。ここで、仮想カメラ300の視野CVは、HMD110を装着したユーザUが視認可能な仮想空間200の一部の領域に相当する。換言すれば、視野CVは、HMD110に表示される仮想空間200の一部の領域に相当する。また、視野CVは、図7の状態(a)に示すxy平面において、視軸Lを中心とした極角αの角度範囲として設定される第1領域CVaと、図7の状態(b)に示すxz平面において、視軸Lを中心とした方位角βの角度範囲として設定される第2領域CVbとを有する。尚、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、ユーザUの視線方向を特定し、ユーザUの視線方向に基づいて仮想カメラ300の向きを決定してもよい。
 このように、制御部121は、位置センサ130及び/又はHMDセンサ114からのデータに基づいて、仮想カメラ300の視野CVを特定することができる。ここで、HMD110を装着したユーザUが動くと、制御部121は、位置センサ130及び/又はHMDセンサ114から送信されたHMD110の動きを示すデータに基づいて、仮想カメラ300の視野CVを変化させることができる。つまり、制御部121は、HMD110の動きに応じて、視野CVを変化させることができる。同様に、ユーザUの視線方向が変化すると、制御部121は、注視センサ140から送信されたユーザUの視線方向を示すデータに基づいて、仮想カメラ300の視野CVを移動させることができる。つまり、制御部121は、ユーザUの視線方向の変化に応じて、視野CVを変化させることができる。
 次に、ステップS3において、制御部121は、HMD110の表示部112に表示される視野画像Vを示す視野画像データを生成する。具体的には、制御部121は、仮想空間200を規定する仮想空間データと、仮想カメラ300の視野CVとに基づいて、視野画像データを生成する。
 次に、ステップS4において、制御部121は、視野画像データに基づいて、HMD110の表示部112に視野画像Vを表示する(図7参照)。このように、HMD110を装着しているユーザUの動きに応じて、仮想カメラ300の視野CVが更新され、HMD110の表示部112に表示される視野画像Vが更新されるので、ユーザUは仮想空間200に没入することができる。
 尚、仮想カメラ300は、左目用仮想カメラと右目用仮想カメラを含んでもよい。この場合、制御部121は、仮想空間データと左目用仮想カメラの視野に基づいて、左目用の視野画像を示す左目用視野画像データを生成する。さらに、制御部121は、仮想空間データと、右目用仮想カメラの視野に基づいて、右目用の視野画像を示す右目用視野画像データを生成する。その後、制御部121は、左目用視野画像データと右目用視野画像データに基づいて、HMD110の表示部112に左目用視野画像と右目用視野画像を表示する。このようにして、ユーザUは、左目用視野画像と右目用視野画像から、視野画像を3次元画像として立体的に視認することができる。尚、本明細書では、説明の便宜上、仮想カメラ300の数は一つとする。勿論、本開示の実施形態は、仮想カメラの数が2つの場合でも適用可能である。
 次に、仮想空間200に含まれる仮想カメラ300と、手オブジェクト400(操作オブジェクトの一例)と、タブレットオブジェクト500(第2オブジェクトの一例)と、モニターオブジェクト600(第1オブジェクトの一例)について図9を参照して説明する。図9に示すように、仮想空間200は、仮想カメラ300と、手オブジェクト400と、モニターオブジェクト600と、タブレットオブジェクト500とを含む。制御部121は、これらのオブジェクトを含む仮想空間200を規定する仮想空間データを生成している。上述したように、仮想カメラ300は、ユーザUが装着しているHMD110の動きに連動する。つまり、仮想カメラ300の視野は、HMD110の動きに応じて更新される。
 手オブジェクト400は、左手オブジェクトと右手オブジェクトの総称である。上記したように、左手オブジェクトは、ユーザUの左手に装着されるコントローラ320L(図13の状態(a)参照)の動きに応じて移動する。同様に、右手オブジェクトは、ユーザUの右手に装着されるコントローラ320Rの動きに応じて移動する。尚、本実施形態では、説明の便宜上、1つの手オブジェクト400のみが仮想空間200内に配置されているが、2つの手オブジェクト400が仮想空間200内に配置されていてもよい。
 制御部121は、位置センサ130からコントローラ320の位置情報を取得した上で、当該取得された位置情報に基づいて、仮想空間200内の手オブジェクト400の位置と現実空間におけるコントローラ320の位置とを対応付ける。このように、制御部121は、ユーザUの手の位置(コントローラ320の位置)に応じて、手オブジェクト400の位置を制御する。
 また、ユーザUが操作ボタン302を操作することで、仮想空間200内に配置された手オブジェクト400の各指を操作することが可能となる。つまり、制御部121は、操作ボタン302に対する入力操作に対応する操作信号をコントローラ320から取得した上で、当該操作信号に基づいて、手オブジェクト400の手指の動作を制御する。例えば、ユーザUが操作ボタン302を操作することで手オブジェクト400はタブレットオブジェクト500を掴むことができる(図9参照)。さらに、手オブジェクト400がタブレットオブジェクト500を掴んだ状態で、コントローラ320の移動に応じて、手オブジェクト400とタブレットオブジェクト500を移動させることが可能となる。このように、制御部121は、ユーザUの手指の動きに応じて、手オブジェクト400の動作を制御するように構成されている。
 モニターオブジェクト600は、メニュー(特に、メニュー画面610)を表示するように構成されている。メニュー画面610には、ユーザUによって選択されるべき複数の選択項目が表示されてもよい。図9では、選択項目として「洋食」、「和食」及び「中華」がメニュー画面610に表示される。また、メニュー画面610には、ステージ情報や、獲得アイテム情報、リタイアボタン及び/又はゲーム再開ボタンが表示されてもよい。モニターオブジェクト600は、仮想空間200内の所定の位置に固定的に配置されていてもよい。モニターオブジェクト600が配置される位置は、ユーザの操作によって変更可能であってもよい。また、モニターオブジェクト600が配置される位置は、メモリに記憶された所定の動作ルールに基づいて自動的に変更されるものであってもよい。
 タブレットオブジェクト500は、モニターオブジェクト600に表示されたメニューを操作することができる。制御部121は、手オブジェクト400によるタブレットオブジェクト500に対する入力操作に応じて、モニターオブジェクト600に表示されたメニューを操作する。具体的には、制御部121は、コントローラ320から送信された操作信号及び/又は位置センサ130から送信されたコントローラ320の位置情報に基づいて、手オブジェクト400の動作を制御する。その後、制御部121は、手オブジェクト400とタブレットオブジェクト500との間の相互作用を特定した上で、当該相互作用に基づいて、手オブジェクト400によるタブレットオブジェクト500に対する入力操作を特定する。制御部121は、当該特定された入力操作に基づいて、モニターオブジェクト600のメニュー画面610に表示された複数の選択項目(「洋食」、「和食」及び「中華」)のうちの一つを選択する。制御部121は、当該選択結果に応じた所定の処理を実行する。
 なお、制御部121は、手オブジェクト400によりタブレットオブジェクト500に対して直接的に入力される入力操作に限られず、間接的に入力される入力操作に応じて、モニターオブジェクト600に表示されたメニューを操作してもよい。例えば、上記のようにして手オブジェクト400を操作することにより、仮想空間200内の所定の媒介オブジェクトを掴んだ状態で操作し、媒介オブジェクトとタブレットオブジェクト500との間の相互作用に基づいて、手オブジェクト400によるタブレットオブジェクト500に対する入力操作を特定してもよい。制御部121は、当該特定された入力操作に基づいて、モニターオブジェクト600のメニュー画面610に表示された複数の選択項目(「洋食」、「和食」及び「中華」)のうちの一つを選択する。制御部121は、当該選択結果に応じた所定の処理を実行する。媒介オブジェクトは、タブレットオブジェクト500に対して入力を実行できることがユーザに対して示唆されるオブジェクトであることが好ましく、例えばタッチペンのような物体を模したオブジェクトである。
 次に、図10を参照してタブレットオブジェクト500の表示画面510の一例について説明する。表示画面510には、方向キー520と、BACKボタン530と、OKボタン540と、Lボタン550Lと、Rボタン550Rが表示されている。ここで、方向キー520は、モニターオブジェクト600のメニュー画面610に表示されたカーソルの移動を制御するためのボタンである。
 次に、図11から図14を参照して本実施形態に係る情報処理方法について以下に説明する。図11は、本実施形態に係る情報処理方法を説明するためのフローチャートである。図12は、タブレットオブジェクト500の移動範囲を設定するための方法の一例を示すフローチャートである。図13の状態(a)は、仮想空間200に没入しているユーザUの様子を示す図である。図13の状態(b)は、仮想カメラ300の周辺に設定されたタブレットオブジェクト500の移動範囲の一例(移動範囲Ra)を示す図である。図13の状態(c)は、仮想カメラ300の周辺に設定されたタブレットオブジェクト500の移動範囲の他の一例(移動範囲Rb)を示す図である。図14の状態(a)は、タブレットオブジェクト500が移動範囲Ra外に位置している様子を示す図である。図14の状態(b)は、タブレットオブジェクト500が移動範囲Ra外から移動範囲Ra内の所定の位置に移動する様子を示す図である。なお、以下の説明ではタブレットオブジェクト500が移動されることを例示するが、タブレットオブジェクト500にかえて上記の媒介オブジェクトが同様の方法によって移動されてもよい。
 図11に示すように、ステップS11において、制御部121は、タブレットオブジェクト500の移動範囲を設定する。ここで、タブレットオブジェクト500の移動範囲とは、ユーザUが移動しない状態(換言すれば、現実空間でのユーザUの位置座標が変化しない状態)で、ユーザUが手オブジェクト400を用いてタブレットオブジェクト500を掴めることができる範囲として規定されてもよい。タブレットオブジェクト500が移動範囲外に位置する場合には、制御部121は、タブレットオブジェクト500を移動範囲内の所定の位置に移動させる。
 図13の状態(b)に示すように、タブレットオブジェクト500の移動範囲は、仮想カメラ300の中心位置を中心とした所定の半径Rを有する球として規定された移動範囲Raでもよい。ここで、タブレットオブジェクト500と仮想カメラ300との間の距離が半径R以下である場合、タブレットオブジェクト500は、移動範囲Ra内に存在すると判定される。これとは反対に、タブレットオブジェクト500と仮想カメラ300との間の距離が半径Rよりも大きい場合、タブレットオブジェクト500は、移動範囲Ra外に存在すると判定される。
 また、図13の状態(c)に示すように、タブレットオブジェクト500の移動範囲は、仮想カメラ300の中心位置を中心とした回転楕円体として規定された移動範囲Rbでもよい。ここで、回転楕円体の長軸は、仮想カメラ300のw軸と平行であると共に、回転楕円体の短軸は、仮想カメラ300のv軸と平行であってもよい。また、タブレットオブジェクト500の移動範囲は、仮想カメラ300の中心位置を中心とした立方体又は直方体として規定された移動範囲でもよい。
 以降では、タブレットオブジェクト500の移動範囲は、図13の状態(b)に示す移動範囲Raであるものとして説明を行う。移動範囲Raを規定する球の半径Rは、図13の状態(a)に示すように、HMD110とコントローラ320(コントローラ320L又はコントローラ320R)との間の距離Dに基づいて設定される。図12を参照して、移動範囲Raの設定方法(図11に示すステップS11で実行される処理)の一例について説明する。
 図12に示すように、制御部121は、ステップS21において、整数Nの値を1に設定する。図12に示す処理が開始された場合、最初に整数Nの値が1に設定される。例えば、整数Nの値は1フレーム毎に1だけ増加してもよい。例えば、ゲーム動画のフレームレートが90fpsの場合には、1/90秒経過毎に整数Nの値が1だけ増加してもよい。次に、ステップS22において、制御部121は、位置センサ130から送信されたHMD110の位置情報とコントローラ320の位置情報に基づいて、HMD110の位置(ユーザUの頭部の位置)を特定すると共に、コントローラ320の位置(ユーザUの手の位置)を特定する。次に、制御部121は、特定されたHMD110の位置とコントローラ320の位置に基づいて、HMD110とコントローラ320との間の距離D N を特定する(ステップS23)。
 次に、整数Nの値が1であるため(ステップS24でYES)、制御部121は、特定された距離D1をHMD110とコントローラ320との間の最大距離Dmaxに設定する(ステップS25)。その後、所定時間が経過していない場合(ステップS26でNO)、ステップS27において、整数Nの値が1つだけ増加され(N=2)、処理は再びステップS22に戻る。次に、ステップS22の処理が実行された後、ステップS23において、制御部121は、N=2のときのHMD110とコントローラ320との間の距離D2を特定する。次に、N≠1であるため(ステップS24でNO)、制御部121は、距離D2が最大距離Dmax(=D1)よりも大きいかどうかを判定する(ステップS28)。制御部121は、距離D2が最大距離Dmaxよりも大きいと判定した場合(ステップS28でYES)、距離D2を最大距離Dmaxに設定する(ステップS29)。一方、制御部121は、距離D2が最大距離Dmax以下であると判定した場合(ステップS28でNO)、ステップS26の処理に進む。所定時間が経過していない場合(ステップS26でNO)、ステップS27において、整数Nの値が1つだけ増加される。このように、所定時間が経過するまでステップS22,S23,S28,S29の処理が繰り返し実行されると共に、整数Nの値が1フレーム毎に1つだけ増加する。つまり、所定時間が経過するまで1フレーム毎にHMD110とコントローラ320との間の距離D N が特定された上で、HMD110とコントローラ320との間の最大距離Dmaxが更新される。次に、制御部121は、所定時間が経過したと判定した場合(ステップS26でYES)、HMD110とコントローラ320との間の最大距離Dmaxと仮想カメラ300の位置に基づいて、タブレットオブジェクト500の移動範囲Raを設定する(ステップS30)。具体的には、制御部121は、仮想カメラ300の中心位置を移動範囲Raを規定する球の中心に設定すると共に、最大距離Dmaxを移動範囲Raを規定する球の半径Rに設定する。このようにして、HMD110とコントローラ320との間の距離の最大値と仮想カメラ300の位置に基づいて、移動範囲Raが設定される。
 尚、制御部121は、仮想カメラ300と手オブジェクト400との間の距離の最大値と仮想カメラ300の位置に基づいて、移動範囲Raを設定してもよい。この場合、ステップS22において、制御部121は、仮想カメラ300の位置と手オブジェクト400の位置を特定すると共に、ステップS23において、仮想カメラ300と手オブジェクト400との間の距離D N を特定する。さらに、制御部121は、所定時間が経過するまで、仮想カメラ300と手オブジェクト400との間の最大距離Dmaxを特定する。制御部121は、仮想カメラ300の中心位置を移動範囲Raを規定する球の中心に設定すると共に、仮想カメラ300と手オブジェクト400との間の最大距離Dmaxを当該球の半径Rに設定する。
 また、移動範囲Raの別の設定方法としては、制御部121は、ユーザUの所定の姿勢
のときのHMD110とコントローラ320との間の距離と仮想カメラ300の位置に基
づいて移動範囲Raを設定してもよい。例えば、ユーザUが起立した状態で両手を前方に
突き出したときのHMD110とコントローラ320との間の距離と仮想カメラ300の
位置に基づいて移動範囲Raが設定されてもよい。
 図11に戻ると、ステップS12において、制御部121は、手オブジェクト400がタブレットオブジェクト500を掴んだ状態で手オブジェクト400が移動したかどうかを判定する(図14参照)。ステップS12でYESの場合、制御部121は、コントローラ320の移動に応じて、手オブジェクト400とタブレットオブジェクト500を一緒に移動させる(ステップS13)。一方、ステップS12でNOの場合、処理はステップS14に進む。次に、ステップS14において、制御部121は、タブレットオブジェクト500が手オブジェクト400によって操作されたかどうかを判定する。ステップS14でYESの場合、制御部121は、手オブジェクトによるタブレットオブジェクト500に対する入力操作に応じて、モニターオブジェクト600に表示されたメニュー(メニュー画面610)を操作した上で、操作結果に応じた所定の処理を実行する(ステップS15)。一方、ステップS14でNOの場合、処理はステップS16に進む。
 次に、制御部121は、タブレットオブジェクト500は移動範囲Ra外に存在すると共に、タブレットオブジェクト500は手オブジェクト400によって掴まれていないかどうかを判定する(ステップS16)。例えば、図14の状態(a)に示すように、ユーザUが手オブジェクト400を用いてタブレットオブジェクト500を投げ飛ばすことで、タブレットオブジェクト500は移動範囲Ra外に位置する。または、タブレットオブジェクト500が手オブジェクト400によって掴まれていない状態でユーザUが移動することで、タブレットオブジェクト500は移動範囲Ra外に位置する。この場合、ユーザUが移動することで、仮想カメラ300が移動するため、仮想カメラ300の周辺に設定された移動範囲Raが移動する。このようにして、タブレットオブジェクト500は移動範囲Ra外に位置する。ステップS16でYESの場合、制御部121は、仮想カメラ300の位置とモニターオブジェクト600の位置に基づいて、タブレットオブジェクト500を移動範囲Ra内の所定の位置に移動させる(ステップS17)。例えば、図14の状態(b)に示すように、制御部121は、モニターオブジェクト600の中心位置と仮想カメラ300の中心位置とを結ぶ線分Cの中心位置からy軸方向に所定距離だけオフセットした位置を特定した上で、当該特定された位置にタブレットオブジェクト500を配置してもよい。尚、ステップS16では、タブレットオブジェクト500は移動範囲Ra外に存在するかどうかのみが判定されてもよい。
 このように、本実施形態によれば、手オブジェクト400によるタブレットオブジェクト500に対する入力操作に応じて、モニターオブジェクト600に表示されたメニューが操作される。つまり、ユーザUは、ユーザUの手の動きに連動する仮想空間200内の手オブジェクト400を用いて、仮想空間200内のタブレットオブジェクト500に対して所定の操作を行うことができる。当該所定の操作の結果、モニターオブジェクト600に表示されるメニューが操作される。このように、メニュー操作が仮想空間200内のオブジェクト同士の相互作用により実行されると共に、視野画像内にウィジェット等のUIオブジェクトが常に表示されてしまうといった状況を回避することが可能となる。従って、仮想空間200に対するユーザUの没入感をさらに高めることが可能な情報処理方法を提供することができる。
 また、タブレットオブジェクト500が移動範囲Ra外に位置した場合でも、タブレットオブジェクト500が移動範囲Ra内の所定の位置に移動する。このように、ユーザUは、タブレットオブジェクト500を容易に見つけ出すことができると共に、タブレットオブジェクト500を手に取るための手間を大幅に軽減することができる。さらに、モニターオブジェクト600と仮想カメラ300との間の位置関係(例えば、線分Cの中心点)に基づいて、移動範囲Ra内におけるタブレットオブジェクト500の位置が決定されるので、ユーザUはタブレットオブジェクト500を容易に見つけ出すことができる。
 また、HMD110(ユーザUの頭部)とコントローラ320(ユーザUの手)との間の最大距離Dmaxに基づいて、タブレットオブジェクト500の移動範囲Raが決定される。このように、タブレットオブジェクト500は、ユーザUが静止した状態(現実空間においてユーザの位置座標が変化しない状態)でユーザUが手に取ることができる範囲に配置されるため、ユーザUがタブレットオブジェクト500を手に取るための手間を大幅に軽減することができる。
 制御部121によって実行される各種処理をソフトウェアによって実現するために、本実施形態に係る情報処理方法をコンピュータ(プロセッサ)に実行させるための情報処理プログラムが記憶部123又はROMに予め組み込まれていてもよい。または、情報処理プログラムは、磁気ディスク(HDD、フロッピーディスク)、光ディスク(CD-ROM,DVD-ROM、Blu-ray(登録商標)ディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体が制御装置120に接続されることで、当該記憶媒体に格納された情報処理プログラムが、記憶部123に組み込まれる。そして、記憶部123に組み込まれた情報処理プログラムがRAM上にロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部121は本実施形態に係る情報処理方法を実行する。
 また、情報処理プログラムは、通信ネットワーク3上のコンピュータから通信インターフェース125を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部123に組み込まれる。
 以上、本開示の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。
 本実施形態では、ユーザUの手の動きを示す外部コントローラ320の動きに応じて、手オブジェクトの移動が制御されているが、ユーザUの手自体の移動量に応じて、仮想空間内における手オブジェクトの移動が制御されてもよい。例えば、外部コントローラを用いる代わりに、ユーザの手指に装着されるグローブ型デバイスや指輪型デバイスを用いることで、位置センサ130により、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。また、位置センサ130は、ユーザUの手(手指を含む)を撮像するように構成されたカメラであってもよい。この場合、カメラを用いてユーザの手を撮像することにより、ユーザの手指に直接何らかのデバイスを装着させることなく、ユーザの手が表示された画像データに基づいて、ユーザUの手の位置や移動量を検出することができると共に、ユーザUの手指の動きや状態を検出することができる。
 また、本実施形態では、ユーザUの頭部以外の身体の一部である手の位置及び/又は動きに応じて、手オブジェクトによってタブレットオブジェクトが操作されるが、例えば、ユーザUの頭部以外の身体の一部である足の位置及び/又は動きに応じて、ユーザUの足の動きに連動する足オブジェクト(操作オブジェクトの一例)によってタブレットオブジェクトが操作されてもよい。このように、手オブジェクトではなく足オブジェクトが操作オブジェクトとして規定されてもよい。
 また、タブレットオブジェクトの代わりにリモコンオブジェクト等が、モニターオブジェクトに表示されたメニューを操作可能なオブジェクトとして規定されてもよい。
1:HMDシステム
3:通信ネットワーク
21:中心位置
112:表示部
114:HMDセンサ
120:制御装置
121:制御部
123:記憶部
124:I/Oインターフェース
125:通信インターフェース
126:バス
130:位置センサ
140:注視センサ
200:仮想空間
300:仮想カメラ
302:操作ボタン
302a:プッシュ式ボタン
302b:プッシュ式ボタン
302e:トリガー式ボタン
302f:トリガー式ボタン
304:検知点
320:外部コントローラ(コントローラ)
320i:アナログスティック
320L:左手用外部コントローラ(コントローラ)
320R:右手用外部コントローラ(コントローラ)
322:天面
324:グリップ
326:フレーム
400:手オブジェクト(操作オブジェクト)
500:タブレットオブジェクト(第2オブジェクト)
510:表示画面
520:方向キー
530:BACKボタン
540:OKボタン
550L:Lボタン
550R:Rボタン
600:モニターオブジェクト(第1オブジェクト)
610:メニュー画面
C:線分
CV:視野
CVa:第1領域
CVb:第2領域
L:視軸
Ra,Rb:移動範囲

 

Claims (11)

  1.  表示部を備えたヘッドマウントデバイスを制御するコンピュータのプロセッサによって実行される情報処理方法であって、
     メニューを表示する第1オブジェクトと、前記メニューを操作可能な第2オブジェクトと、操作オブジェクトと、を含む前記仮想空間を規定する仮想空間データを生成するステップと、
     前記ヘッドマウントデバイスの動きと、ユーザの頭部以外の身体の一部の動きと、を検出するように構成された検出ユニットの検出結果を取得するステップと、
     前記ヘッドマウントデバイスの動きに応じた視野画像を、前記表示部に表示させるステップと、
     前記ユーザの身体の一部の動きに応じて、前記操作オブジェクトを動作させるステップと、
     前記操作オブジェクトによる前記第2オブジェクトに対する入力操作に応じて、前記メニューを操作するステップと、を含む、情報処理方法。
  2.  前記入力操作は、前記第2オブジェクトと前記操作オブジェクトの相互作用に基づいて特定される、請求項1に記載の情報処理方法。
  3.  前記仮想空間データは、前記操作オブジェクトの動作に基づいて操作される媒介オブジェクトをさらに含み、
     前記入力操作は、前記第2オブジェクトと前記媒介オブジェクトの相互作用に基づいて特定される、請求項1に記載の情報処理方法。
  4.  前記仮想空間データは、前記ヘッドマウントデバイスの動きに応じて前記視野画像を定義する仮想カメラをさらに含み、
     前記仮想カメラの前記仮想空間における位置に基づいて、前記第2オブジェクトまたは前記媒介オブジェクトの移動範囲を設定するステップと、
     前記第2オブジェクトまたは前記媒介オブジェクトが前記移動範囲内に位置しているかどうかを判定するステップと、
     前記第2オブジェクトまたは前記媒介オブジェクトが前記移動範囲内に位置していないと判定した場合に、前記第2オブジェクトまたは前記媒介オブジェクトを前記移動範囲内の所定の位置に移動させるステップと、をさらに含む、請求項1~3のうちいずれか一項に記載の情報処理方法。
  5.  前記仮想カメラの位置と前記第1オブジェクトの位置に基づいて、前記第2オブジェクトまたは前記媒介オブジェクトを前記移動範囲内の前記所定の位置に移動させる、請求項4に記載の情報処理方法。
  6.  前記ユーザの頭部と前記ユーザの身体の一部との間の距離を測定するステップと、
     前記測定された距離と、前記仮想カメラの位置に基づいて、前記移動範囲を設定するステップと、を含む、請求項4又は5に記載の情報処理方法。
  7.  前記ユーザの頭部の位置と前記ユーザの身体の一部の位置に基づいて、前記ユーザの頭部と前記ユーザの身体の一部との間の距離の最大値を特定するステップと、
     前記特定された距離の最大値と、前記仮想カメラの位置に基づいて、前記移動範囲を設定するステップと、を含む、請求項4又は5に記載の情報処理方法。
  8.  前記仮想カメラの位置と前記操作オブジェクトの位置に基づいて、前記仮想カメラと前記操作オブジェクトとの間の距離の最大値を特定するステップと、
     前記特定された距離の最大値と、前記仮想カメラの位置に基づいて、前記移動範囲を設定するステップと、を含む、請求項4又は5に記載の情報処理方法。
  9.  請求項1から8のうちいずれか一項に記載の情報処理方法をコンピュータに実行させるためのプログラム。
  10.  少なくともプロセッサとメモリを備え、前記プロセッサの制御により請求項1から8のうちいずれか一項に記載の情報処理方法を実行する情報処理装置。
  11.  少なくともプロセッサとメモリを備える情報処理装置を含み、請求項1から8のうちいずれか一項に記載の情報処理方法が実行される情報処理システム。
     

     
PCT/JP2017/009739 2016-09-08 2017-03-10 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、当該情報処理方法が実行される情報処理装置、及び情報処理システム WO2018047384A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780002079.3A CN108027987B (zh) 2016-09-08 2017-03-10 信息处理方法、信息处理装置及信息处理系统
US15/753,958 US20190011981A1 (en) 2016-09-08 2017-03-10 Information processing method, system for executing the information processing method, and information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016175916A JP6122537B1 (ja) 2016-09-08 2016-09-08 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2016-175916 2016-09-08

Publications (1)

Publication Number Publication Date
WO2018047384A1 true WO2018047384A1 (ja) 2018-03-15

Family

ID=58666618

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/009739 WO2018047384A1 (ja) 2016-09-08 2017-03-10 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム、当該情報処理方法が実行される情報処理装置、及び情報処理システム

Country Status (4)

Country Link
US (1) US20190011981A1 (ja)
JP (1) JP6122537B1 (ja)
CN (1) CN108027987B (ja)
WO (1) WO2018047384A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6853638B2 (ja) * 2016-09-14 2021-03-31 株式会社スクウェア・エニックス 表示システム、表示方法、及び、コンピュータ装置
US10664993B1 (en) 2017-03-13 2020-05-26 Occipital, Inc. System for determining a pose of an object
CN111344663B (zh) 2017-11-21 2023-10-24 株式会社和冠 渲染装置及渲染方法
JP7349793B2 (ja) * 2019-02-15 2023-09-25 キヤノン株式会社 画像処理装置および画像処理方法、プログラム
CN110134197A (zh) * 2019-06-26 2019-08-16 北京小米移动软件有限公司 可穿戴式控制设备、虚拟/增强现实系统及控制方法
US11178384B2 (en) * 2019-07-10 2021-11-16 Nintendo Co., Ltd. Information processing system, storage medium, information processing apparatus and information processing method
US11228737B2 (en) * 2019-07-31 2022-01-18 Ricoh Company, Ltd. Output control apparatus, display terminal, remote control system, control method, and non-transitory computer-readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107963A (ja) * 2003-09-30 2005-04-21 Canon Inc 三次元cg操作方法および装置
JP2005148844A (ja) * 2003-11-11 2005-06-09 Fukuda Gakuen 表示システム
JP2015232783A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100177035A1 (en) * 2008-10-10 2010-07-15 Schowengerdt Brian T Mobile Computing Device With A Virtual Keyboard
JP5293154B2 (ja) * 2008-12-19 2013-09-18 ブラザー工業株式会社 ヘッドマウントディスプレイ
US9081177B2 (en) * 2011-10-07 2015-07-14 Google Inc. Wearable computer with nearby object response
JP5880115B2 (ja) * 2012-02-17 2016-03-08 ソニー株式会社 ヘッドマウントディスプレイ、ヘッドマウントディスプレイ制御プログラム及びヘッドマウントディスプレイの制御方法
US9096920B1 (en) * 2012-03-22 2015-08-04 Google Inc. User interface method
JP5900393B2 (ja) * 2013-03-21 2016-04-06 ソニー株式会社 情報処理装置、操作制御方法及びプログラム
US9229235B2 (en) * 2013-12-01 2016-01-05 Apx Labs, Inc. Systems and methods for unlocking a wearable device
US9244539B2 (en) * 2014-01-07 2016-01-26 Microsoft Technology Licensing, Llc Target positioning with gaze tracking
US20150193979A1 (en) * 2014-01-08 2015-07-09 Andrej Grek Multi-user virtual reality interaction environment
JP2017187952A (ja) * 2016-04-06 2017-10-12 株式会社コロプラ 表示制御方法及び当該表示制御方法をコンピュータに実行させるためのプログラム
JP2018101293A (ja) * 2016-12-20 2018-06-28 株式会社コロプラ ヘッドマウントデバイスに仮想空間を提供するためにコンピュータによって実行される方法、当該方法をコンピュータに実行させるプログラム、および、コンピュータ装置
JP6392945B1 (ja) * 2017-07-19 2018-09-19 株式会社コロプラ 仮想空間を提供するコンピュータで実行されるプログラム、方法、および当該プログラムを実行する情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107963A (ja) * 2003-09-30 2005-04-21 Canon Inc 三次元cg操作方法および装置
JP2005148844A (ja) * 2003-11-11 2005-06-09 Fukuda Gakuen 表示システム
JP2015232783A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置

Also Published As

Publication number Publication date
JP6122537B1 (ja) 2017-04-26
CN108027987B (zh) 2020-01-17
CN108027987A (zh) 2018-05-11
JP2018041341A (ja) 2018-03-15
US20190011981A1 (en) 2019-01-10

Similar Documents

Publication Publication Date Title
JP6122537B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6093473B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
CN109690447B (zh) 信息处理方法、用于使计算机执行该信息处理方法的程序、以及计算机
US10438411B2 (en) Display control method for displaying a virtual reality menu and system for executing the display control method
JP6220937B1 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
WO2018020735A1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6117414B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6157703B1 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP6140871B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6118444B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018032102A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2018110871A (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP2018026105A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6449922B2 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6290493B2 (ja) 情報処理方法、当該情報処理方法をコンピュータに実行させるためのプログラム及びコンピュータ
JP6403843B1 (ja) 情報処理方法、情報処理プログラム及び情報処理装置
JP6934374B2 (ja) プロセッサを備えるコンピュータにより実行される方法
JP6122194B1 (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018045338A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018026099A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018018499A (ja) 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP6242452B1 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2018185567A (ja) 情報処理方法、情報処理プログラム、情報処理システムおよび情報処理装置
JP2018014084A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6189496B1 (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: 17848331

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP