WO2019155889A1 - シミュレーションシステム、処理方法及び情報記憶媒体 - Google Patents
シミュレーションシステム、処理方法及び情報記憶媒体 Download PDFInfo
- Publication number
- WO2019155889A1 WO2019155889A1 PCT/JP2019/002173 JP2019002173W WO2019155889A1 WO 2019155889 A1 WO2019155889 A1 WO 2019155889A1 JP 2019002173 W JP2019002173 W JP 2019002173W WO 2019155889 A1 WO2019155889 A1 WO 2019155889A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- character
- information
- processing
- reference point
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/216—Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/163—Wearable computers, e.g. on a belt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/014—Hand-worn input/output arrangements, e.g. data gloves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Definitions
- This disclosure relates to a simulation system, a processing method, an information storage medium, and the like.
- Patent Document 1 discloses an image processing apparatus that synthesizes and displays a virtual object image observed from a user's viewpoint position on a real space image observed from the user's viewpoint position.
- a real space area is designated by a user operation
- a virtual object is created based on the designated real space area
- the created virtual object is observed as an observed real space image. To synthesize.
- One of the embodiments includes real space information obtained by performing recognition processing of a real space around the user, an information acquisition unit that acquires user information including the user's position information, and the real space information.
- an information acquisition unit that acquires user information including the user's position information, and the real space information.
- An object processing unit that arranges an object of a character in the virtual space; and a display processing unit that performs a process of displaying an image including the image of the character on a display unit, the object processing unit corresponding to the user
- the hit volume is set based on the position of the user moving object in the virtual space, and the position of the hit volume and the character when the user makes a given input Depending on the engagement, related to the simulation system that performs processing for the character.
- real space information is acquired by performing recognition processing of the real space around the user, and a virtual space corresponding to the real space is generated based on the real space information.
- a reference point is set based on the real space information, and the character object is placed in the virtual space based on the reference point.
- a hit volume is set based on the position of the user moving object in the virtual space, and when the user makes a given input, processing for the character is executed in accordance with the positional relationship between the hit volume and the character. Accordingly, it is possible to set the corresponding virtual space with respect to the real space, place the character, and realize the interaction with the character based on the user input. This enables a simulation system or the like that can effectively use real space information and realize a suitable interaction between the user and the character.
- the hit volume may be a hit volume set in the user's part or the user's belongings.
- the hit volume is set for the user's part or belongings in this way, when the user moves the part or belongings in the real space, the hit volume also moves in conjunction with it, and the virtual reality of the user Can be improved.
- the object processing unit sets the hit volume based on the position of the user moving body when the user moving body and the reference point have a first distance relationship.
- processing is performed on the character according to the positional relationship between the hit volume and the character, and the user moving body and the reference point are at a second distance. If it is a relationship, the hit volume is set between the user moving object and the reference point, and when the user makes the given input, the positional relationship between the hit volume and the character Depending on, processing for the character may be performed.
- one of the embodiments includes real space information obtained by performing recognition processing of a real space around the user, an information acquisition unit that acquires user information including the position information of the user, and the real space information.
- an information acquisition unit that acquires user information including the position information of the user, and the real space information.
- the virtual space generation unit that generates a virtual space corresponding to the real space, and based on the user information and the real space information, sets a reference point in the virtual space, and based on the reference point
- An object processing unit that arranges an object of a character in the virtual space, and a display processing unit that performs a process of displaying an image including the image of the character on a display unit, the object processing unit corresponding to the user
- a hit volume is set between the user moving object of the virtual space and the reference point, and when the user makes a given input, the hit volume and the character are Depending on the positional relationship between the data, related to the simulation system that performs processing for the character.
- real space information is acquired by performing recognition processing of the real space around the user, and a virtual space corresponding to the real space is generated based on the real space information.
- a reference point is set based on the real space information, and the character object is placed in the virtual space based on the reference point.
- a hit volume is set between the user moving object in the virtual space and the reference point, and when the user makes a given input, processing for the character is executed according to the positional relationship between the hit volume and the character. Is done. Accordingly, it is possible to set the corresponding virtual space with respect to the real space, place the character, and realize the interaction with the character based on the user input. This enables a simulation system or the like that can effectively use real space information and realize a suitable interaction between the user and the character.
- the object processing unit may determine whether the user has made the given input based on information from a detection unit that detects the user's movement. .
- the object processing unit performs the character disappearance processing, the character destruction processing, the character display change processing, or the character notification processing as processing for the character. May be.
- the notification process for the character can be executed.
- the object processing unit may determine the arrangement timing of the character according to the distance between the user moving body and the reference point.
- the object processing unit is configured to determine the reference point according to the user situation information, the user moving object situation information, the character situation information or type information, or the game situation information. Settings may be made.
- the information acquisition unit may acquire environment information of the real space, and the object processing unit may set the reference point according to the environment information.
- the object processing unit may change the hit volume according to the position of the reference point.
- the object processing unit sets the hit volume according to the user situation information, the user moving object situation information, the character situation information or type information, or the game situation information. It may be changed.
- one of the embodiments includes real space information obtained by performing recognition processing of a real space around the user, information acquisition processing for acquiring user information including the position information of the user, and the real space information.
- a reference point is set in the virtual space, and based on the reference point
- a user of the virtual space corresponding to the user A hit volume is set based on the position of the moving object, and the positional relationship between the hit volume and the character when the user makes a given input.
- related to the processing method for performing processing for the character is performed by performing recognition processing of a real space around the user, information acquisition processing for acquiring user information including the position information of the user, and the real space information.
- one of the embodiments includes real space information obtained by performing recognition processing of a real space around the user, information acquisition processing for acquiring user information including the position information of the user, and the real space information. Based on the virtual space generation processing for generating a virtual space corresponding to the real space, and based on the user information and the real space information, a reference point is set in the virtual space, and based on the reference point An object process for arranging a character object in the virtual space and a display process for displaying an image including an image of the character on a display unit.
- a user of the virtual space corresponding to the user A hit volume is set between the moving object and the reference point, and when the user makes a given input, the hit volume and the character Depending on the positional relationship related to the processing method for performing processing for the character.
- one of the embodiments relates to a computer-readable information storage medium that stores a program for causing a computer to execute the processing method described above.
- FIG. 4A and FIG. 4B are explanatory diagrams of real space information acquisition processing by real space recognition processing. Explanatory drawing of the display area of HMD. Explanatory drawing of the play field of real space.
- FIG. 7A and FIG. 7B are explanatory diagrams of the attraction game of this embodiment.
- FIG. 8A and FIG. 8B are explanatory diagrams of the attraction game of this embodiment.
- FIG. 9A and FIG. 9B are explanatory diagrams of hit processing of this embodiment. Explanatory drawing of the hit process of this embodiment. 11A and 11B are explanatory diagrams of hit processing according to the present embodiment.
- FIG. 12A and 12B are explanatory diagrams of the attraction game of the present embodiment.
- FIG. 13 (A) and FIG. 13 (B) are explanatory diagrams of the attraction game of this embodiment.
- FIG. 15A and FIG. 15B are explanatory diagrams of the attraction game of this embodiment.
- 17A and 17B are explanatory diagrams of hit processing according to the present embodiment.
- 18A to 18C are explanatory diagrams of hit volume setting and user movement detection processing.
- 19A and 19B are explanatory diagrams of hit processing according to the present embodiment.
- FIG. 20A and FIG. 20B are explanatory diagrams of processing for a character.
- FIG. 20A and FIG. 20B are explanatory diagrams of processing for a character.
- 21A and FIG. 21B are explanatory diagrams of character placement timing determination processing according to the distance between the user character and the reference point.
- the flowchart which shows the example of the setting process of the reference point based on environmental information, the status information of a user, a user character, a character, or game status information.
- 24A and 24B are explanatory diagrams of processing for changing the hit volume in accordance with the position of the reference point.
- the flowchart which shows the example of the change process of hit volume based on the situation information of a user, a user character, a character, or game situation information.
- the flowchart which shows the detailed process example of this embodiment.
- FIG. 1 is a block diagram illustrating a configuration example of a simulation system (a simulator, a game system, and an image generation system) according to the present embodiment.
- the simulation system of the present embodiment realizes MR (Mixed Reality), AR (Augmented Reality), and the like, and can be applied to various systems such as a game system that provides game content.
- MR Mated Reality
- AR Augmented Reality
- the simulation system of the present embodiment is not limited to the configuration shown in FIG. 1, and various modifications such as omitting some of the components (each unit) or adding other components are possible.
- the operation unit 160 is for a user (player) to input various operation information (input information).
- the operation unit 160 can be realized by various operation devices such as an operation button, a direction instruction key, a joystick, a handle, a pedal, a lever, or a voice input device.
- the detection unit 162 detects a user's movement, and can be realized by a motion sensor such as an acceleration sensor or a gyro sensor.
- the detection unit 162 is attached to the user's part or the like and detects the movement of the user's part or the like.
- a change in acceleration or the like when the user's part moves is detected by a motion sensor such as an acceleration sensor to detect the user's movement.
- the user's movement may be detected using a camera.
- a leap motion sensor that detects the movement of a fingertip or the like with two infrared LEDs and two cameras (stereo cameras) may be used.
- the user's movement may be detected by posture detection using Kinect (registered trademark).
- the imaging unit 164 performs imaging of a subject, and is realized by an optical system including an image sensor such as a CCD or CMOS sensor, a focus lens, and the like.
- the imaging unit 164 may be a depth camera realized by an infrared camera or the like.
- an IR projector that posts an infrared pattern may be provided in the imaging unit 164, and a light coding method may be employed in which the projected infrared pattern is read by an infrared camera and depth information is acquired from the pattern distortion.
- the storage unit 170 stores various types of information.
- the storage unit 170 functions as a work area such as the processing unit 100 or the communication unit 196.
- the game program and game data necessary for executing the game program are held in the storage unit 170.
- the function of the storage unit 170 can be realized by a semiconductor memory (DRAM, VRAM), HDD (Hard Disk Drive), SSD, optical disk device, or the like.
- the storage unit 170 includes a real space information storage unit 171, an object information storage unit 172, and a drawing buffer 178.
- the information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and its function can be realized by an optical disk (DVD, BD, CD), HDD, semiconductor memory (ROM), or the like.
- the processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, in the information storage medium 180, a program for causing a computer (an apparatus including an input device, a processing unit, a storage unit, and an output unit) to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit). Is memorized.
- the display unit 190 outputs an image generated according to the present embodiment, and can be realized by an LCD, an organic EL display, a CRT, or the like.
- the display unit 190 is, for example, a display (display device) of the HMD 200 (head-mounted display device) shown in FIGS.
- the sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker or headphones.
- the I / F (interface) unit 194 performs interface processing with the portable information storage medium 195, and its function can be realized by an ASIC for I / F processing or the like.
- the portable information storage medium 195 is for a user to save various types of information, and is a storage device that retains storage of such information even when power is not supplied.
- the portable information storage medium 195 can be realized by an IC card (memory card), a USB memory, a magnetic card, or the like.
- the communication unit 196 communicates with the outside (another apparatus) via a wired or wireless network, and functions thereof are hardware such as a communication ASIC or communication processor, or communication firmware. Can be realized.
- a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the server (host device) to the information storage medium 180 (or storage unit 170) via the network and communication unit 196. May be. Use of an information storage medium by such a server (host device) can also be included within the scope of the present disclosure.
- the processing unit 100 includes operation information from the operation unit 160 and tracking information of the HMD 200 in FIGS. 2 and 3 (information on at least one of the position and direction of the HMD. Information on at least one of the viewpoint position and the line-of-sight direction).
- information acquisition processing, virtual space generation processing, object processing, virtual camera control processing, game processing (simulation processing), display processing, sound processing, or the like is performed based on a program or the like.
- each process (each function) of this embodiment performed by each unit of the processing unit 100 can be realized by a processor (a processor including hardware).
- each process of the present embodiment can be realized by a processor that operates based on information such as a program and a memory that stores information such as a program.
- the function of each unit may be realized by individual hardware, or the function of each unit may be realized by integrated hardware.
- the processor may include hardware, and the hardware may include at least one of a circuit that processes a digital signal and a circuit that processes an analog signal.
- the processor can be configured by one or a plurality of circuit devices (for example, ICs) mounted on a circuit board or one or a plurality of circuit elements (for example, resistors, capacitors, etc.).
- the processor may be, for example, a CPU (Central Processing Unit). However, the processor is not limited to the CPU, and various processors such as a GPU (GraphicsGProcessing Unit) or a DSP (Digital Signal Processor) can be used.
- the processor may be an ASIC hardware circuit.
- the processor may include an amplifier circuit, a filter circuit, and the like that process an analog signal.
- the memory storage unit 170
- the memory stores instructions that can be read by a computer, and the processing (function) of each unit of the processing unit 100 is realized by executing the instructions by the processor.
- the instruction here may be an instruction set constituting a program, or an instruction for instructing an operation to the hardware circuit of the processor.
- the processing unit 100 includes an information acquisition unit 102, a virtual space generation unit 104, an object processing unit 106, a virtual camera control unit 112, a game processing unit 114, a display processing unit 120, and a sound processing unit 130.
- each process of the present embodiment executed by these units can be realized by a processor (or a processor and a memory).
- Various modifications such as omitting some of these components (each unit) or adding other components are possible.
- the information acquisition unit 102 performs various types of information acquisition processing.
- the virtual space generation unit 104 performs a virtual space generation process
- the object processing unit 106 performs various processes on the character object and the placement object. Details of the information acquisition unit 102, the virtual space generation unit 104, and the object processing unit 106 will be described later.
- the virtual camera control unit 112 controls the virtual camera. For example, a process for controlling the virtual camera is performed based on user operation information, tracking information, and the like input by the operation unit 160.
- the virtual camera control unit 112 controls the virtual camera set as the first-person viewpoint or the third-person viewpoint of the user. For example, by setting a virtual camera at a position corresponding to the viewpoint (first-person viewpoint) of the user moving object in the virtual space corresponding to the user in the real space, and setting the viewpoint position and line-of-sight direction of the virtual camera, Controls the position (position coordinates) and posture (rotation angle around the rotation axis).
- the position and orientation of the virtual camera are controlled by setting the virtual camera at the position of the viewpoint (third-person viewpoint) following the user moving body and setting the viewpoint position and line-of-sight direction of the virtual camera.
- the virtual camera control unit 112 controls the virtual camera so as to follow the change in the user's viewpoint based on the tracking information of the user's viewpoint information acquired by the viewpoint tracking.
- tracking information viewpoint tracking information
- This tracking information can be acquired by performing tracking processing of the HMD 200, for example.
- the virtual camera control unit 112 changes the viewpoint position and line-of-sight direction of the virtual camera based on the acquired tracking information (information on at least one of the user's viewpoint position and line-of-sight direction).
- the virtual camera control unit 112 performs virtual operation so that the viewpoint position and the line-of-sight direction (position, posture) of the virtual camera change in the virtual space according to changes in the user's viewpoint position and line-of-sight direction in the real space. Set up the camera. By doing in this way, a virtual camera can be controlled to follow a user's viewpoint change based on tracking information of a user's viewpoint information.
- the game processing unit 114 performs various game processes for the user to play the game.
- the game processing unit 114 (simulation processing unit) executes various simulation processes for the user to experience MR (Mixed Reality), AR (Augmented Reality), or VR (Virtual Reality).
- the game process is, for example, a process for starting a game when a game start condition is satisfied, a process for advancing the started game, a process for ending a game when a game end condition is satisfied, or calculating a game result. Processing.
- the display processing unit 120 performs display processing of a virtual space image (game image, simulation image). For example, a drawing process is performed based on the results of various processes (game process, simulation process) performed by the processing unit 100, thereby generating an image and displaying it on the display unit 190. Specifically, geometric processing such as coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, perspective transformation, or light source processing is performed. Based on the processing result, drawing data (the position of the vertex of the primitive surface) Coordinates, texture coordinates, color data, normal vector, ⁇ value, etc.) are created.
- coordinate transformation world coordinate transformation, camera coordinate transformation
- clipping processing perspective transformation
- perspective transformation or light source processing
- the object (one or a plurality of primitive surfaces) after perspective transformation (after geometry processing) is converted into image information in units of pixels such as a drawing buffer 178 (frame buffer, work buffer, etc.).
- an image that can be seen from the virtual camera given viewpoints, the first and second viewpoints for the left eye and the right eye
- the drawing processing performed by the display processing unit 120 can be realized by vertex shader processing, pixel shader processing, or the like.
- the sound processing unit 130 performs sound processing based on the results of various processes performed by the processing unit 100. Specifically, game sounds such as music (music, BGM), sound effects, or sounds are generated, and the game sounds are output to the sound output unit 192.
- game sounds such as music (music, BGM), sound effects, or sounds are generated, and the game sounds are output to the sound output unit 192.
- the simulation system of this embodiment contains the information acquisition part 102, the virtual space production
- the information acquisition unit 102 acquires real space information obtained by performing recognition processing of the real space around the user.
- the information acquisition unit 102 acquires user information including user position information.
- Real space recognition processing can be realized, for example, by space mapping.
- space mapping is realized by performing real space recognition processing using various cameras provided as the imaging unit 164. Taking FIG. 2 described below as an example, real space recognition processing is performed using an RGB camera 246, a depth camera 247, and environment recognition cameras 248 and 249 provided in the HMD 200.
- the real space information is 3D map information of the real space obtained by real space recognition processing (space mapping), and is information obtained by meshing the scanned real space.
- Real space information obtained by scanning the real space is stored in the real space information storage unit 171.
- the real space information is constituted by a plurality of spatial data, for example.
- Each spatial data of the plurality of spatial data is data corresponding to each region when the real space is divided into a plurality of regions and scanned.
- An ID (surface ID) is assigned to each spatial data and stored in the real space information storage unit 171.
- a polygon mesh is generated based on the spatial data to which the ID is assigned, and the scanned real space can be displayed as a mesh. It is also possible to interact with real space maps and virtual space objects.
- the information acquisition unit 102 acquires user information including position information of the user in the real space.
- the user information can include direction information of the user in the real space.
- the user position information for example, user viewpoint position information can be used.
- user direction information user gaze direction information can be used.
- User position information (viewpoint position information) and direction information (line-of-sight direction information) can be acquired by the head tracking process of the HMD 200.
- the virtual space generation unit 104 (virtual space generation processing program module) performs a process of generating a virtual space corresponding to the real space based on the real space information acquired by the information acquisition unit 102. Then, the virtual space generation unit 104 performs setting processing of a virtual space that is a three-dimensional space (game space). For example, map information obtained by real space recognition processing (space mapping) is set as virtual space information. For example, virtual space information is set by a plurality of spatial data corresponding to a plurality of areas obtained by dividing the real space. The virtual space information is stored in the object information storage unit 172 as object information.
- the virtual space generation unit 104 performs setting processing of a virtual space (object space) in which objects are arranged.
- objects polygons, free-form surfaces or sub-surfaces
- display objects such as moving objects (user moving objects, characters), arrangements, maps (terrain), buildings, auditoriums, courses (roads), trees, walls, water surfaces, etc.
- An object configured with a primitive surface such as a division surface
- the position and rotation angle of the object in the world coordinate system are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Place the object.
- object information that is information such as the position, rotation angle, moving speed, and moving direction of an object (part object) in the virtual space is associated with the object number. Is remembered.
- the virtual space generation unit 104 performs processing for updating the object information for each frame, for example.
- the object processing unit 106 performs various types of processing for character objects and placement objects. Specifically, the object processing unit 106 sets a reference point in the virtual space based on user information and real space information. For example, a reference point is set in the virtual space based on the user position information and real space information. This reference point setting process is performed by the reference point setting unit 108. The object processing unit 106 performs processing for arranging the character object in the virtual space based on the reference point. For example, a process of arranging (appearing) a character at an arrangement point (appearing point) set corresponding to the reference point is performed.
- the display processing unit 120 (display processing program module) performs processing for displaying an image including an image of a character on the display unit 190. For example, a process of displaying an image including a character image (virtual space image) on the display device of the HMD 200 is performed.
- the object processing unit 106 sets a hit volume based on the position of the user moving object in the virtual space corresponding to the user. For example, the position of the hit volume is determined and arranged based on the position of the user moving body. A hit volume may be set at the position of the user's part specified by the position of the user moving body or the position of the belongings.
- the object processing unit 106 performs processing on the character according to the positional relationship between the hit volume and the character when the user performs a given input. Whether or not the user has given a given input can be detected using the operation unit 160 or the detection unit 162, for example. For example, when the user performs a given operation using the operation unit 160, it is determined that the user has given a given input. Alternatively, when the user's given movement (movement of a part such as the user's hand) is detected by the detection unit 162, it is determined that the user has given the given input. A given movement of the user may be detected by imaging with the imaging unit 164.
- the object processing unit 106 determines the positional relationship between the hit volume and the character at the timing when the user makes a given input. For example, a hit determination process (collision determination process) is performed to determine whether the character position is within the hit volume. Or you may perform the hit determination process which judges whether the hit volume set based on the position of a user mobile body and the 2nd hit volume set based on the position of a character crossed. These hit determination processes are performed by the hit processing unit 109. Then, when the user makes a given input (at the timing when the given input is made), if the hit volume and the character are in a given positional relationship, processing according to that positional relationship is performed. To do.
- a hit determination process collision determination process
- hit processing is performed on the character. Specifically, an extinction process, a destruction process, a display mode change process, or a notification process using sound or vibration, which will be described later, is performed.
- the user moving object corresponds to a user in the real space, and may be a display object on which the image is displayed or a virtual object on which the image is not displayed.
- the user moving body may be hidden, or only a part of the user moving body (for example, a hand, a chest, or a face). May be displayed.
- a virtual camera in the virtual space left eye virtual camera and right eye virtual camera
- the user moving object may be regarded as the user moving object (avatar). it can.
- the hit volume is a hit volume set in, for example, the user's part or the user's belongings.
- a hit volume that contains the user's part or a hit volume that contains the user's belongings is set. Then, by performing the hit determination process between the hit volume and the character, it can be determined whether or not the user's part or possession has hit the character.
- the hit volume has a three-dimensional shape, for example, but may be a planar hit area.
- the object processing unit 106 sets a hit volume between the user moving object in the virtual space corresponding to the user and the reference point.
- a hit volume is set in an area (intermediate area) between the position of the user moving body and the position of the reference point.
- a hit volume is set on a line connecting the position of the user moving body and the position of the reference point.
- the object processing unit 106 performs processing on the character according to the positional relationship between the hit volume and the character when the user performs a given input. For example, the positional relationship between the hit volume and the character when the user makes a given input is determined, and the character is processed.
- hit determination processing is performed to determine whether the character position is within the hit volume.
- a hit determination process for determining whether or not the hit volume set between the user moving object and the reference point intersects (collises) the second hit volume set based on the character position. Determination processing) may be performed.
- hit processing is performed on the character. Specifically, a character disappearance process, a destruction process, a display mode change process, or a notification process using sound or vibration, which will be described later, is performed.
- the object processing unit 106 includes a moving body processing unit 110.
- the mobile object processing unit 110 performs various processes for a mobile object that moves in the virtual space. For example, processing for moving the moving body in virtual space (object space, game space) and processing for moving the moving body are performed.
- the moving body is a user moving body or a character corresponding to the user.
- the mobile object processing unit 110 is based on operation information input by the user via the operation unit 160, acquired tracking information, a program (movement / motion algorithm), various data (motion data), and the like. Control processing for moving the model object) in the virtual space or moving the moving object (motion, animation) is performed.
- a simulation for sequentially obtaining movement information (position, rotation angle, speed, or acceleration) and motion information (part object position or rotation angle) of a moving body for each frame for example, 1/60 second.
- a frame is a unit of time for performing a moving / movement process (simulation process) and an image generation process of a moving object.
- the object processing unit 106 sets the hit volume based on the position of the user moving body when the user moving body and the reference point are in the first distance relationship, and when the user performs a given input The character is processed according to the positional relationship between the hit volume and the character.
- a hit volume is set between the user moving object and the reference point, and when the user performs a given input, The character is processed according to the positional relationship between the volume and the character.
- the first distance relationship is a relationship in which the distance between the user moving body and the reference point is shorter than the second distance relationship.
- a hit volume is set based on the position of the user moving body, and hit determination processing or the like is performed.
- the second distance relationship is a relationship in which the distance between the user moving body and the reference point is farther than the first distance relationship.
- a hit volume is set between the user moving body and the reference point, and hit determination processing or the like is performed.
- the object processing unit 106 determines whether or not the user has made a given input based on information from the detection unit 162 that detects the user's movement. For example, based on a motion sensor (acceleration sensor or the like) of the detection unit 162, the movement, vibration, or acceleration of the user's part is detected to determine whether or not the user has given a given input. For example, it is determined whether or not the user has performed an action of hitting. Specifically, the timing at which the acceleration of the user's part changes suddenly is determined as the timing at which the user has given a given input. Then, processing for the character is performed according to the positional relationship between the hit volume and the character at the timing when the user makes a given input.
- a motion sensor acceleration sensor or the like
- the object processing unit 106 performs character disappearance processing, character destruction processing, character display mode change processing, or character notification processing as processing for the character.
- the character disappearance process is a process for hiding the character so that it is not visually visible in the virtual space.
- the character destruction process is a process for displaying an image in a state where the character is destroyed or a process for generating a destruction effect.
- the character display mode changing process is a process of changing the character color, brightness (brightness), translucency, texture, or the like.
- the character notification process is a process for notifying the user of the occurrence of an attack hit event or the like using a sound or vibration. In addition, when the attack with respect to a character is not successful, the presentation process showing that the attack was not successful may be performed.
- the object processing unit 106 determines the character placement timing according to the distance between the user moving body and the reference point. For example, the character is placed with the timing at which the distance between the user moving body and the reference point is closer than a given distance as the placement timing. For example, a character appears and is displayed at the timing. Alternatively, when the distance between the user moving body and the reference point is longer than a given distance, the character may be placed in the virtual space and disappear.
- the object processing unit 106 sets a reference point according to the user situation information, the user moving object situation information, the character situation information or type information, or the game situation information. For example, based on these pieces of information, the setting position and number of reference points are determined, or the appearance timing of reference points is determined. For example, the reference point setting position and the number of settings are changed, or the reference point appearance timing is changed.
- the user status information is, for example, information on the user's age group, physique, or gender. Alternatively, the user status information is the status of the user's game play. For example, the game level (beginner, intermediate, advanced) of the user, information on the number of game plays of the user and game play frequency, information on the game results of the user, and the like.
- the information on the user moving body is information such as the status (level, experience value) and ability (attack power, defense power, etc.) of the user moving body, and is information represented by, for example, game parameters of the user moving body.
- the character status information is information such as the character status and ability, and is information represented by, for example, the game parameters of the character.
- the character type information is information indicating to which type the character belongs.
- the game situation information includes the progress of the game, the stage where the game play is performed, the situation of the map, and the like.
- the information acquisition unit 102 acquires environmental information of the real space.
- the environment information is information about the environment such as brightness and area of the real space. For example, brightness information and area information in the play field where the user is located.
- the object processing unit 106 sets a reference point according to the environment information. For example, the setting position and number of reference points are determined or the appearance timing of the reference points is determined according to the environment information. For example, the reference point setting position and the number of settings are changed, or the reference point appearance timing is changed.
- the object processing unit 106 changes the hit volume according to the position of the reference point.
- the size, shape, or arrangement position of the hit volume is changed according to the position of the reference point.
- the hit volume is changed by changing the size, shape, or arrangement position of the hit volume according to the reference point setting position, setting timing, or the relationship between the reference point and the user moving object. .
- the object processing unit 106 changes the hit volume in accordance with the user situation information, the user moving object situation information, the character situation information or type information, or the game situation information. For example, the size, shape, or arrangement position of the hit volume is changed to reflect the user situation, the situation of the user moving body, the situation or type of the character, or the game situation.
- the information acquisition unit 102 acquires the position information of the user in the real space based on the tracking information of the viewpoint.
- the tracking information of the viewpoint can be acquired by performing tracking processing of the HMD 200, for example.
- the information acquisition unit 102 acquires the position information of the HMD 200 as the position information of the user wearing the HMD 200.
- the tracking information includes the change information of the viewpoint position from the initial viewpoint position of the user (change value of the coordinate of the viewpoint position), and the change information of the gaze direction from the initial gaze direction of the user (the rotation axis in the gaze direction). At least one of the rotation angle change values around the rotation angle).
- the information acquisition unit 102 may acquire user direction information and posture information. For example, based on the tracking information obtained by the tracking processing of the viewpoint, the direction information that is the direction in which the user faces in real space is acquired.
- the information acquisition unit 102 acquires posture information that is user motion information.
- Posture information is information that identifies the movement of a part such as a user's hand, head, or foot.
- the information acquisition unit 102 acquires user posture information by a process called Kinect (registered trademark). Note that the position information acquired by the information acquisition unit 102 may be relative position information.
- the display processing unit 120 (image generation unit) generates an image displayed on the display unit 190 as a virtual space image.
- the virtual space image is, for example, an AR or MR image.
- the virtual space image may be a VR image.
- the AR image is an image that is displayed so as to be superimposed on a display object that constitutes a landscape in the real space.
- An MR image is an image generated by an MR technique that mixes real space and virtual space, and constructs a new space in which real and virtual objects affect each other in real time. It is a concept that encompasses augmented reality and augmented virtual.
- the VR image is, for example, an image generated so that the VR space extends over the entire perimeter of the field of view of the user wearing the HMD 200 described later.
- the display processing unit 120 generates an image that can be viewed from a virtual camera (a given viewpoint) in the virtual space as a display image of the HMD 200. For example, a drawing process of an image seen from a virtual camera set to the viewpoint (first person viewpoint) of a character (user character, other user character) is performed. Alternatively, a drawing process of an image seen from a virtual camera set to a viewpoint (third person viewpoint) following the character is performed.
- the generated image is desirably a stereoscopic image such as a left-eye image or a right-eye image.
- a virtual reality simulation process is performed as the game process of the game played by the user.
- the virtual reality simulation process is a simulation process for simulating an event in the real space in the virtual space, and is a process for causing the user to experience the event virtually.
- a user moving body such as a virtual user corresponding to a user in real space or a boarding moving body thereof is moved in the virtual space, or processing for causing the user to experience changes in the environment and surroundings accompanying the movement.
- the processing of the simulation system of the present embodiment in FIG. 1 may be realized by a processor or memory built in the HMD 200.
- a processor built in the HMD 200 performs each process of this embodiment, and displays an image (virtual space image) generated by the process of this embodiment on the display unit 190 of the HMD 200.
- the processing of the simulation system of the present embodiment may be realized by a home game device or an arcade game device, or may be realized by distributed processing of the home game device or arcade game device and a server system.
- the simulation system of the present embodiment may be realized by a processing device such as a PC installed in a facility, a processing device worn by a user, or distributed processing of these processing devices.
- a user wears a jacket, and a processing device such as a backpack PC is attached to the back side of the jacket.
- each process of this embodiment is performed by processing apparatuses, such as backpack PC with which a user wears, or the image (virtual space image) displayed on the display part 190 is produced
- each process of this embodiment is performed or the image displayed on the display part 190 is produced
- FIG. 2 shows an example of the HMD 200 used in this embodiment.
- the HMD 200 in FIG. 2 is a see-through type (transmission type) eyeglass type HMD. Specifically, it is an optical see-through type HMD. According to the see-through type HMD 200, for example, MR and AR virtual space images can be displayed.
- the temple unit 240 has a built-in speaker.
- the goggle unit 242 is provided with a display device 243 and a holographic optical element 244.
- the display device 243 is provided with a display unit including a micro display, a mirror, a prism, and the like.
- the display device 243 is provided with a display unit for the left eye and a display unit for the right eye, thereby realizing a stereoscopic view.
- the position of the virtual image can be made variable by providing a pair of micro displays in each of the left-eye and right-eye display units.
- Display light from the display device 243 is guided in front of the user US while being refracted inside the light guide plate of the holographic optical element 244. Then, the display light is refracted in the eyeball direction by the holographic optical element 244, and the display light is sent to the eyeball. This makes it appear that there is a virtual image (reproduced image of the hologram) in front of the eyes.
- the light guide plate of the holographic optical element 244 is also referred to as a combiner, and a real image and a virtual image of the outside world can be seen to overlap each other by a combiner that is a half mirror, thereby realizing MR and AR.
- the goggle unit 242 is provided with an RGB camera 246, a depth camera 247, and environment recognition cameras 248 and 249.
- RGB camera 246 enables photographing in the front direction of the user US.
- depth camera 247 depth information (depth information) in the front direction can be acquired.
- the goggle unit 242 is provided with an emitter (not shown) for a depth camera. Then, an infrared pattern is projected onto an object in real space by an IR projector as an emitter, the projected infrared pattern is read by an infrared camera as depth camera 247, and depth information of the object in real space is obtained from the distortion of the pattern. get.
- the environment recognition cameras 248 and 249 can be used to recognize the environment around the user US.
- the goggles 242 incorporates an inertial measurement unit (IMU) that includes an acceleration sensor and a gyro sensor.
- IMU inertial measurement unit
- the position and direction of the head of the user US is detected based on the image captured by the camera provided in the goggles 242 and measurement information from the inertial measurement unit, thereby realizing head tracking. Then, it becomes possible to acquire position information (viewpoint position information) and direction information (gaze direction information) of the user US.
- position information viewpoint position information
- direction information gaze direction information
- position information relative position information
- direction information relative direction information
- posture information motion information of other users around the user US
- position information motion information
- Fig. 3 shows another example of the HMD 200.
- the HMD 200 in FIG. 3 is a type of HMD that is worn so as to cover the entire periphery of the user's field of view.
- the display unit of the HMD in FIG. 3 is realized by, for example, an organic EL display (OEL) or a liquid crystal display (LCD).
- OEL organic EL display
- LCD liquid crystal display
- the display unit of the HMD 200 is provided with a first display or first display area set in front of the user's left eye and a second display or second display area set in front of the right eye. Therefore, stereoscopic display is possible.
- a left-eye image and a right-eye image with different parallax are generated, a left-eye image is displayed on the first display, and a right-eye image is displayed on the second display.
- the left-eye image is displayed in the first display area of one display, and the right-eye image is displayed in the second display area.
- the HMD 200 is provided with two eyepiece lenses (fisheye lenses) for the left eye and the right eye, thereby expressing a VR space that extends over the entire perimeter of the user's field of view. Then, correction processing for correcting distortion generated in an optical system such as an eyepiece is performed on the left-eye image and the right-eye image.
- RGB camera 216 an RGB camera 216
- depth camera 217 a depth camera 217
- MR and AR MR and AR
- real space recognition processing acquisition of position information, direction information, posture information (motion information) of other users, acquisition of user posture information, and the like Can be realized.
- the tracking processing for acquiring the user position information and direction information may be realized by an inertial measurement unit (IMU) that is built in the HMD 200 and includes an acceleration sensor and a gyro sensor.
- IMU inertial measurement unit
- the HMD 200 is provided with a plurality of light receiving elements, and a measuring device (base station) having light emitting elements around the user is provided. Then, by receiving light such as a laser from a light emitting element (LED) of a measuring device (a plurality of measuring devices) by the light receiving element of the HMD 200, tracking processing of the HMD 200 is performed, and the user's position information (viewpoint position) Information) and direction information (line-of-sight information) may be acquired.
- LED light emitting element
- the HMD 200 is provided with a plurality of light emitting elements, and a measurement device having cameras (first and second cameras) around the user.
- the position of the head of the user US in the depth direction is detected by imaging the light from the light emitting element of the HMD 200 with the camera of the measuring device.
- the rotation angle (line of sight) of the head of user US may be detected, and the tracking process of HMD200 may be implement
- the tracking process for acquiring the user's position information and direction information.
- the tracking process may be realized by using the inertial measurement unit provided in the HMD 200 as a single unit of the HMD 200, or the above-described measurement device may be provided outside.
- various viewpoint tracking processes such as known eye tracking, face tracking, or head tracking may be employed.
- a so-called smartphone VR or VR goggles type may be used.
- the smartphone is housed in the goggle portion of the HMD200 so that the display portion of the smartphone faces the eyes of the user.
- a left eyepiece and a right eyepiece are incorporated.
- the user views the left-eye image and the right-eye image displayed on the display unit of the smartphone through the left-eye eyepiece and the right-eye eyepiece, respectively, thereby viewing the VR stereoscopic image. be able to.
- the tracking process which pinpoints a user's viewpoint position and a gaze direction is realizable based on the inertial measurement unit (acceleration sensor, gyro sensor) etc. which are incorporated in a smart phone.
- the method of this embodiment will be described in detail.
- a case where the method of the present embodiment is applied to an attraction game in which a user wears an HMD and combats a character such as a mosquito will be mainly described as an example.
- the method of this embodiment can be applied to various games (virtual experience game, fighting game, competition game, RPG, sports game, horror experience game, simulation game of vehicles such as trains and airplanes, puzzle games, communication games, or music games. Etc.) and can be applied to other than games.
- the user moving object in the virtual space corresponding to the user in the real space is described as a user character.
- This user character may be an object to be displayed or a virtual character that is not displayed as an object.
- real space information is acquired by performing recognition processing of the real space around the user, and a virtual space corresponding to the real space is generated based on the acquired real space information.
- a virtual space corresponding to the real space is generated based on the acquired real space information.
- FIG. 4A an object such as a desk DK or a wall WL exists in the real space.
- Real space information is acquired by performing a recognition process in which the real space is scanned by a camera provided in the HMD 200 of FIGS.
- real space information is acquired as wire frame data obtained by meshing the real space.
- This real space recognition process is executed in real time, for example, and real space information is acquired by sequentially scanning the real space around the user.
- the spatial data associated with the ID is sequentially acquired and accumulated and stored as real space information in the real space information storage unit 171 of FIG.
- This real space information also has depth information (depth value).
- depth information depth information
- a hidden surface removal process between an object in the virtual space and an object in the real space can be performed.
- a virtual space character, placement object
- a real space object dek DK, wall WL.
- hit processing collision processing
- MR unprecedented type of MR or AR
- FIG. 5 shows an image seen by the user in the optical see-through HMD 200 of FIG.
- a landscape such as a background object in the real space is seen by the user.
- the virtual space image generated by the display device 243 in FIG. 2 is displayed in the display area ARV.
- the location of the display area ARV moves to the left and right as shown in DR1 and DR2.
- an image of a virtual space object such as a character or a placement object is displayed on the display device 243.
- FIG. 5 shows an example in which the display area ARV is narrow and the viewing angle is small, the display area ARV can be widened and the viewing angle can be further expanded by improving various devices of the HMD 200. is there.
- FIG. 6 shows an example of the play field FL used in the attraction game of this embodiment.
- a store in a shopping street is installed in a play field FL of an indoor theme park.
- the user wears the HMD 200 of FIG. 2 on the head and searches the play field FL together with friends such as friends. Specifically, it starts from the place P1, moves to the place P2, exterminations mosquitoes (characters) appearing at the place P3, and returns to the place P1. Thereafter, a ride type attraction game as described in FIG. 14 is played.
- a virtual space corresponding to the play field FL in the real space is generated by performing real space recognition processing using the camera provided in the HMD 200 in FIG.
- the real space around the moving user is sequentially scanned and accumulated and updated as real space information.
- a poster PS serving as a marker is pasted on the front wall of the user.
- recognition processing of the poster PS (marker) by the camera of the HMD 200 an image IMA on which a mosquito picture is drawn and a guide GDA are displayed. That is, the image IMA and the guide GDA are displayed in the display area ARV in FIG.
- the guide GDA points toward the place P3 in FIG. 6, and when the user turns his gaze toward the place P3, a landscape as shown in FIG. 7B is seen by the user.
- a reference point RP is set at a location corresponding to the column PIL.
- real space information is acquired by real space recognition processing, and a reference point RP is set based on user information such as user position information and real space information.
- the real space pillar PIL is recognized by the HMD 200 camera, and a virtual object corresponding to the real space pillar PIL is generated in the virtual space.
- a virtual pillar object of a mesh polygon is generated as in the desk of FIG.
- a reference point RP is set at a location corresponding to the pillar object. For example, when it is determined that the user position is close to the pillar object based on the user position information, the reference point RP is set for the pillar object.
- the reference point RP can be set at a location corresponding to the real space pillar PIL.
- accurate coordinates may not be acquired by real space recognition processing by the HMD 200 camera. For this reason, for example, the accurate coordinates may be set by using the absolute coordinates of the marker position by the poster PS in FIG.
- the object of the mosquito character CH is made to appear.
- the mosquito character CH is placed at the placement point (placement location) specified by the reference point RP and appears.
- an image of the mosquito character CH is displayed in the display area ARV described with reference to FIG. 5, and MR can be realized as if mosquitoes appeared at the location of the pillar PIL in the real space. That is, it is possible to display an image in which a landscape (pillar) in a real space and an image (mosquito) in a virtual space are mixed.
- the reference point RP is set for the virtual pillar object generated by the real space recognition process.
- FIG. 8A a guide GD1 in which the letters “coming from the front” are written is also displayed.
- the guide GD1 is a placement object in the virtual space, and the placement point of the placement object of the guide GD1 is also set based on the reference point RP.
- the attack effect AG air cannon
- the mosquito character is displayed. Hit the CH and get rid of the mosquitoes.
- a guide GD2 on which the letters “done, let's go back” are displayed.
- a guide GD3 that instructs the user to return is also displayed.
- the arrangement positions of the arrangement objects of these guides GD2 and GD3 are also set based on the reference point RP.
- the user wears the HMD 200 of FIG. 2 on the head. Further, the user holds the belongings BL and BR with his hands HL and HR.
- the belongings BL and BR are realized by, for example, a paper fan with a large hand shape.
- An arm sensor SE is attached to the hand HL.
- the arm sensor SE is an arm band type motion sensor (gesture sensor), and includes an acceleration sensor, a three-axis gyro sensor, a myoelectric potential sensor, and the like. By mounting this arm sensor SE on the hand HL, it is possible to detect movement of the arm, opening / closing of the palm, and the like. As shown in FIGS.
- the user character USC corresponding to the user (US) (in the broad sense, the user moving body).
- a hit volume HV is set, and a hit determination process (collision determination process) for the character CH is performed using the hit volume HV. That is, when the distance between the user character USC and the character CH is long, hit determination processing is performed by the method of FIGS. 19A and 19B.
- a hit volume HV is set based on the position of the user character USC.
- a hit determination process for the character CH is performed using the volume HV. That is, when the distance between the user character USC and the character CH is short, hit determination processing is performed by the method of FIGS. 17A and 17B.
- the belonging objects corresponding to the belongings BL and BR may appear in the virtual space, and the size of the belonging object may be increased each time the user strikes the hand HL or HR. As a result, even a mosquito character CH located relatively far away can be killed by hitting the belonging object.
- the user After the mosquitoes appearing at the place P3 in FIG. 6 are exterminated as described with reference to FIGS. 8A to 11B, the user returns to the place P1, which is the first start point.
- the placement objects OB1 to OB4 serving as a guide for guiding and moving the user from the place P3 to the place P1 are displayed in the virtual space.
- a reference point RP is set for the place P1
- the placement objects OB1 to OB4 are placed based on the set reference point RP.
- real space recognition processing as described with reference to FIGS. 4A and 4B is performed, and real space information is acquired.
- the reference point RP is set based on the user information such as the user position information and the acquired real space information. Specifically, real space recognition processing is performed by the camera of the HMD 200, and a virtual object corresponding to an object (for example, an entrance, a wall, or a door) arranged at the place P1 is generated in the virtual space. Then, a reference point RP is set at the location of this virtual object. In this way, the reference point RP can be appropriately set for the place P1, and the placement object OB1 serving as a guide for guiding the user between the place P1 where the reference point RP is set and the user. ⁇ OB4 can be appropriately arranged.
- the display mode of the placement objects OB1 to OB4 is changed according to the positional relationship between the user character (user moving body) in the virtual space corresponding to the user and the placement objects OB1 to OB4.
- the placement object OB1 placed at a position far from the reference point RP is set and displayed in the display state. That is, the image of the placement object OB1 is displayed in the display area ARV of FIG. In this arrangement object OB1, for example, a character “This is it” is written.
- the placement object OB2 is an object placed at a position closer to the reference point RP than the placement object OB1.
- object OB2 for example, “here, here” is written.
- the placement object OB1 changes from an opaque state to a semi-transparent state, and then changes to a non-display state (transparent state).
- the next placement object OB3 is set in the display state and displayed as shown in FIG.
- the placement object OB3 is an object placed at a position closer to the reference point RP than the placement objects OB1 and OB2.
- the characters “I will soon be ready” are written.
- the arrangement object OB2 changes from the opaque state to the semi-transparent state, and then the display mode changes from the non-display state.
- the next placement object OB4 is set to the display state and displayed as shown in FIG. Is done.
- the placement object OB4 is an object placed at a position closer to the reference point RP than the placement objects OB1, OB2, and OB3.
- this arrangement object OB4 for example, a letter “return” is written.
- the arrangement object OB3 changes from the opaque state to the semi-transparent state, and then the display mode changes from the non-display state.
- the user is successfully guided and moved to the place P1 of the reference point RP.
- FIG. 14 shows the play field FLR of this ride type attraction.
- a course CS is installed in the play field FLR.
- the users US1 and US2 board the ride housings RD1 and RD2, and the ride housings RD1 and RD2 move along the course CS.
- areas M1 to M14 of the play field FLR mosquitoes appear and attack the user.
- the user performs an action of hitting the hand as described with reference to FIGS. 9A to 11B to get rid of the attacking mosquitoes.
- an event EV1 occurs in which the object OBC on the ceiling collapses and falls at a location on the far side of the play field FLR.
- the ceiling object OBC is represented by a virtual space object, and a virtual space image in which the ceiling falls is displayed on the HMD 200.
- an event EV2 occurs in which a large number of mosquitoes attack
- an event EV3 occurs in which a boss BSF of a huge mosquito appears.
- the mosquito boss BSF is an object in real space, and an effect is displayed in which an effect image in the virtual space is superimposed on the boss BSF.
- FIG. 15 (A) and FIG. 15 (B) show an example of an appearance event of a mosquito on the play field FLR. 15A and 15B, MRs in which holes HE1, HE2, and HE3 appear in the real space and mosquito characters CH1, CH2, and CH3 jump out of the holes HE1, HE2, and HE3. Is realized. Then, the user can take action to tap the hand as described in FIGS. 9A to 11B to get rid of the attacking mosquitoes.
- the images of the holes HE1, HE2, and HE3 are virtual space images, and the images of the characters CH1, CH2, and CH3 are also virtual space images, and these virtual space images are displayed superimposed on an object in the real space.
- MR is realized.
- the objects of the holes HE1 to HE3 and the objects of the characters CH1 to CH3 are arranged based on the reference point RP.
- real space recognition processing as shown in FIGS. 4A and 4B is performed on an object in real space arranged in the play field FLR in FIG.
- a virtual space in which virtual objects corresponding to the objects in the real space of FIGS. 15A and 15B are arranged is generated, and a reference point RP is set in the generated virtual space.
- the holes HE1 to HE3 set in association with the reference point RP.
- the characters CH1 to CH3 also appear from the holes HE1 to HE3.
- MR images as shown in FIGS. 15A and 15B can be generated without using an AR marker or the like.
- a guide GD is displayed.
- the guide GD is a placement object that indicates the direction of the position where the character CH exists. For example, as shown in FIG. 5, when the display area ARV of the virtual space image of the HMD 200 is narrow (when the viewing angle is small), the image of the character CH in the display area ARV unless the user turns his / her line of sight toward the character CH Cannot be displayed.
- the guide GD as shown in FIG. 16 is displayed, for example, when the user turns his / her line of sight to the right, the display area ARV of the HMD 200 in FIG. 5 moves in the direction DR2, and the image of the character CH is displayed. It is displayed in the area ARV.
- the process of notifying the position of the character CH is not limited to a process using a display object such as a guide GD as shown in FIG.
- the presence position of the character CH may be notified to the user using three-dimensional sound from a sound output unit (headphone, speaker) provided in the HMD 200 or the like.
- a sound generated by the character CH for example, a “boom” sound
- 3D sound is processed by 3D sound so that it can be heard from the right direction, and is output from the sound output unit. Good.
- the HMD 200 having a small display area ARV and a small viewing angle is used as shown in FIG. 5
- the user can be notified of the position of the character CH appropriately.
- this embodiment can be obtained by performing recognition processing of the real space around the user as described with reference to FIGS. 4 (A) and 4 (B).
- user information including user position information is acquired.
- a virtual space corresponding to the real space is generated based on the acquired real space information. For example, a virtual space in which a polygon mesh object as shown in FIG. Then, as shown in FIG. 8A, FIG. 8B, FIG. 12A to FIG. 13B, FIG. 15A, and FIG.
- a reference point RP is set in the virtual space, and based on the reference point RP, the character object and the placement object are placed in the virtual space, and an image including the character and the placement object image is displayed on the display unit 190.
- a virtual space image including an image of a character or a placement object is displayed on the display unit 190 (display area ARV) of the HMD 200.
- the hit volume is set based on the position of the user character (user moving body in a broad sense) in the virtual space corresponding to the user, and the positional relationship between the hit volume and the character is determined when the user makes a given input. In response, processing for the character is performed.
- FIG. 17 (A).
- a virtual corresponding to a background object (pillar, wall, door, etc.) in the real space.
- a space background object MRS (for example, an object composed of mesh polygons) is generated.
- a reference point RP is set based on real space information and the like. By generating the background object MRS corresponding to the background object in the real space, the reference point RP can be set at the location corresponding to the background object in the real space.
- a character CH is arranged based on the reference point RP. For example, the character CH appears from the appearance point specified based on the reference point RP.
- the reference point RP is set based on real space information and is a point or place for setting the arrangement position of the character (CH) and the arrangement objects (OB1 to OB4).
- the reference position RP may be the intention position (appearance position) itself of the character or the arrangement object. Since the reference point RP is set based on the real space information, the reference point RP reflects the position, shape, etc. of the object in the real space.
- the reference point RP is set by detecting the user's movement, direction, approach, etc., and characters and placement objects appear. It becomes possible to make it.
- the reference point RP can be used as a pseudo marker in MR.
- the hit volume HV (hit area) is set based on the position PS of the user character USC corresponding to the user in the real space. For example, in FIGS. 17A and 17B, the hit volume HV is set in front of the position PS of the user character USC.
- the positional relationship between the hit volume HV and the character CH is determined. Taking FIG. 9 (A) to FIG. 11 (B) as an example, when the user performs an action of clapping his hand, it is determined that the user has given a given input. Then, the positional relationship between the hit volume HV and the character CH at the timing when a given input is made by the action of hitting the hand is determined.
- the positional relationship between the hit volume HV and the character CH is the positional relationship as shown in FIG.
- the position of the character CH is not within the hit volume HV, it is determined that the attack by the user's clapping of the hand did not hit the character CH.
- the second hit volume may be set based on the position of the character CH.
- the hit determination process may be realized by performing an intersection determination process between the hit volume HV set based on the position PS of the user character USC and the second hit volume set based on the position of the character CH. .
- the virtual space corresponding to the real space is generated by the real space information acquired based on the real space recognition process, and the reference point RP is set.
- the reference point RP can be set at a position corresponding to the real space.
- the reference point RP is set and specified by the reference point RP.
- the character CH can be arranged and appear in a place where In this embodiment, the positional relationship between the hit volume HV and the character CH set based on the position of the user character USC is determined, and the process for the character CH is performed.
- a character space is set by setting a corresponding virtual space with respect to the real space, and an interaction with the character CH based on a user input can be realized, thereby realizing an interactive game using real space information. Is possible. That is, it is possible to realize a simulation system capable of effectively utilizing real space information and realizing suitable interaction between the user and the character.
- a hit volume set in the user's part or the user's belongings can be used as the hit volume HV.
- a hit volume HV is set for the hand HL that is a part of the user.
- a hit volume HV that includes the user's hand HL is set.
- the hit volume HV moves in conjunction with it.
- the movement of the user's hand HL can be detected by using an arm sensor SE (a detection unit in a broad sense) worn by the user.
- the movement of the hand HL is detected using an acceleration sensor or a three-axis gyro sensor built in the arm sensor SE, and the hit volume HV is moved so as to follow the movement of the hand HL.
- a hit volume HV is set for the user's belongings BL.
- a hit volume HV that includes the user's belongings BL is set.
- the hit volume HV moves in conjunction with the movement.
- the movement of the belonging BL is detected using the arm sensor SE or the like, and the hit volume HV is moved so as to follow the movement of the belonging BL.
- a motion detection sensor such as the arm sensor SE may be attached to the belonging BL to detect the movement of the belonging BL.
- the possessed item BL has a large hand shape, but various items can be used as the possessed item BL.
- the possessed item BL may have a shape such as a sword, a stick, an ax, or a gun.
- the hit volume is set for the user's part or belongings in this way, when the user moves the part or belongings in the real space, the hit volume also moves in conjunction with the move. Accordingly, it is possible to perform hit determination processing or the like using a hit volume that moves in conjunction with the movement of the user's part or belongings, and the virtual reality of the user can be improved.
- the detection unit 162 determines whether or not the user has made a given input based on information from the detection unit 162 that detects the user's movement. For example, as shown in FIGS. 9A to 11B, it is detected using the detection unit 162 whether or not a user has made a given input by an action such as clapping.
- the detection unit 162 can be realized by the arm sensor SE shown in FIGS. 18A and 18B. Specifically, it is detected using an acceleration sensor built in the arm sensor SE.
- FIG. 18C shows the detection result of the acceleration sensor when the user makes a given input.
- the moving hand stops at a rapid acceleration, so that a detection result (actually an acceleration in the negative direction) as shown at A1 in FIG. 18C is obtained from the acceleration sensor. . Based on the detection result, it is determined that the user has given a given input by the action of clapping his hand. Then, the positional relationship between the hit volume HV and the character CH at the timing when it is determined that a given input has been made may be determined.
- the process for detecting whether or not the user has made a given input is not limited to the process using such an acceleration sensor.
- a motion sensor such as a gyro sensor
- an external device such as an external camera is used to detect the movement of the user's part or belongings. It may be detected whether or not the user has made a given input.
- the user's operation input using the operation unit 160 such as a game controller may be detected to detect whether or not the user has made a given input.
- a hit volume is set between the user character and the reference point in the virtual space corresponding to the user, and when the user makes a given input, the positional relationship between the hit volume and the character is set. In response, processing for the character is performed.
- a hit volume HV is set between the user character USC and the reference point RP.
- a hit volume is set at an intermediate point of a line connecting the user character USC and the reference point RP.
- the hit volume HV is set on the extension of the line of sight.
- the positional relationship between the hit volume HV and the character CH is determined. For example, as shown in FIGS. 9A to 11B, the positional relationship between the hit volume HV and the character CH at the timing when a given input is made by the action of hitting the hand is determined.
- a second hit volume is set based on the position of the character CH, the hit volume HV set between the user character USC and the reference point RP, and the character CH You may implement
- the character CH exceeds the range of the hit volume HV from the position of FIG. 19B and approaches the user character USC, it is determined that the attack of the character CH has been received by the user character USC. Also good. Then, it is possible to perform the effect processing by the effect indicating that the status of the user character USC is damaged, the hit points of the user character USC are reduced, or the attack is received.
- the character CH Interaction with is possible. That is, by setting the hit volume HV between the reference point RP and the user character USC, it becomes possible to perform hit processing on the character CH located at a distant position, and suitable interaction between the user and the character in MR is possible. Become.
- the hit volume HV is set based on the position of the user character USC and the user performs a given input. Furthermore, processing for the character CH is performed according to the positional relationship between the hit volume HV and the character CH.
- the part object and the belonging object corresponding to the part such as the user's hand and the belongings may be displayed in the virtual space.
- a part object or a belonging object is displayed as a part of the user character.
- the size of the part object or the belonging object may be gradually increased. By doing this, even when a large number of characters such as mosquitoes are generated (for example, event EV2 in FIG. 14), it is possible to produce a game effect such as attacking with these large characters with a larger hand. become.
- the user character USC and the reference point RP are The hit volume HV is set during this time to perform hit determination processing.
- the attack of the user character USC is hit against the character CH. It becomes possible to realize such interactions.
- the character CH is extinguished or destroyed by hitting the effect AG of the attack generated by the action of hitting the user's hand against the character CH located at a long distance. Etc. can be processed.
- a character disappearance process a character destruction process, a character display mode change process, or a character notification process is performed.
- the character CH disappearance process, the destruction process, or the display mode change process is performed as the process for the character CH.
- an input such as clapping a hand as shown in FIGS. 9A to 11B is performed.
- the disappearance process of the character CH is a process of hiding the character CH as a virtual space image.
- the character CH is erased from the displayed list of objects.
- the character CH destruction process can be realized, for example, by switching the object of the character CH to an object representing a destroyed state.
- display processing of an image effect that indicates destruction may be performed as destruction processing of the character CH.
- the change process of the display mode of the character CH is a process of changing the color, luminance, translucency, texture, or the like of the character CH, for example.
- the display mode is changed to indicate that the character CH has received an attack from the user.
- a sound effect for notifying that the character CH has been attacked is output.
- three-dimensional sound processing is performed so that sound effects can be heard from the position where the character CH is present.
- the vibration device built in the game controller owned by the user is vibrated.
- a sensation device using a vibrating device or an air cannon is provided in the play field FL in FIG. 6 or the play field FLR in FIG. 14, and the sensation device is used to perform a process of notifying that the character CH has been attacked. May be.
- a rendering process or a notification process may be performed so as to notify the failure of the attack.
- an effect image indicating failure of the attack is displayed or a sound effect is output.
- FIG. 17B and FIG. 19B when the user does not perform an input of clapping at the timing when the character CH is positioned in the hit volume HV, an effect of notifying such a failure of the attack. Processing and notification processing are performed.
- FIG. 19B when the character CH exceeds the range of the hit volume HV and approaches the user character USC, an effect process and a notification process for notifying such an attack failure are performed. Also good.
- the character placement timing is determined according to the distance between the user character and the reference point.
- the distance LA between the user character USC and the reference point RP is long. That is, the user character USC is located at a location far from the reference point RP. In this case, the character CH does not appear at the position corresponding to the reference point RP.
- the distance LB between the user character USC and the reference point RP is shorter than the distance LA in FIG. That is, the user character USC is located near the reference point RP.
- the character CH is arranged at a position corresponding to the reference point RP and the character CH appears.
- the reference point RP can be used like a pseudo AR marker that causes the character CH to appear.
- real space recognition processing is performed, and a reference point is set based on real space information acquired by the recognition processing.
- a background object MRS corresponding to a background object in real space is generated and placed in a virtual space, and a reference point RP is set for this background object MRS. Is done.
- the arrangement timing of the character CH is determined according to the distance between the user character USC and the reference point RP. Therefore, it is possible to realize a process in which the arrangement timing of the character CH is determined according to the distance between the background object in the real space and the user, and to realize the appearance process of the character CH suitable for MR. Become.
- the reference point is set according to the user situation information, the user character situation information, the character situation information or type information, or the game situation information. Furthermore, in the present embodiment, environment information of the real space is acquired, and a reference point is set according to the environment information. That is, the reference point setting is variably changed based on various information.
- FIG. 22 shows a flowchart of the reference point setting process.
- environmental information such as brightness information and area information of the real space is acquired (step S1).
- the brightness information and area information of the real space are, for example, brightness information and area information in the play field FL of FIG. 6 and the play field FLR of FIG.
- the brightness information is brightness information by illumination in the play fields FL and FLR. For example, if the illumination is weak, it is determined to be dark, and if the illumination is strong, it is determined to be bright.
- the area information is information serving as an index of the area of the play fields FL and FLR.
- the recognition range of the recognition processing in the real space described with reference to FIGS. 4A and 4B, the accuracy and reliability of recognition, and the like change according to the width and brightness of the play fields FL and FLR.
- user status information such as the user's age group, physique, and game play status is acquired (step S2).
- the user's age group is, for example, information on whether the user is a child or an adult. Alternatively, it may be information on whether the user is a young man or an old man.
- the physique is information such as the height of the user, for example. Alternatively, it may be user weight information.
- the game play status includes, for example, the user's game play skill level (beginner, intermediate or advanced), the user's equipment status, the user's past game results, the user's game play frequency, the user's game play frequency, and the user The various statuses in the game, or the situation regarding the user's friends.
- the user character status information such as the user character status, level, and game parameters is acquired (step S3).
- the status of the user character is a situation such as the attack power, defense power, durability, or equipment of the user character.
- the level of the user character represents a level such as an experience value of the user character in the game.
- the user character game parameters are various parameters of the user character used in the game process.
- Character status information is information such as character status, level, and game parameters.
- the character type information is information about what type the character belongs to. For example, when an insect character other than a mosquito appears, an animal character appears, or a monster character appears as a character, the type information is information representing the type of insect, animal, or monster.
- the game status information includes a game progress status, a game event occurrence status, a game difficulty level, a game stage clear status, or a game map status.
- a reference point is set based on the acquired real space environment information, user situation information, user character situation information, character situation information or type information, or game situation information (step S6).
- the reference point is set at a position close to the user character, or the reference point setting interval is narrowed. For example, a sub reference point is set between the main reference point and the user character.
- the reference point is determined using real space information acquired in real time by real space recognition processing, the reference point is determined using real space information acquired by past recognition processing and accumulated in the real space information storage unit 171. Set.
- the reference point setting position is changed according to the user's age group and physique. For example, if it is a child user or a short user, the reference point is set at a low position. On the other hand, if the user is an adult user or a tall user, the reference point is set at a higher position than that of a child or a short user.
- the reference point setting position, setting number, setting interval, or setting mode is changed according to whether the user is a beginner or an advanced user, or according to the number of times the user has played the game or the frequency of play. For example, if the user is a beginner, the reference point is set so that the difficulty level becomes lower, and if the user is an advanced user, the reference point is set so that the difficulty level becomes higher.
- a reference point is set so that a user's game play becomes more advantageous as a privilege with respect to a user with many game play frequency or high play frequency.
- the reference point setting position, setting number, setting interval, or setting mode is changed according to the status, level, or various game parameters of the user character's attack power, defense power, equipment or durability.
- the setting of the reference point is changed according to whether the ability of the user character is high or low, or whether the user is wearing a predetermined equipment.
- the reference point setting position, setting number, setting interval, or setting mode is changed according to the character status information and type information.
- the setting of the reference point is changed according to the status such as the character's attack power, defense power, equipment, or durability.
- the reference point setting position or the like is changed depending on whether the appearing character is the first type (for example, the first type of insect, animal, or monster) or the second type.
- the reference point setting position, number of settings, setting interval or setting mode is changed according to the game situation.
- the setting of the reference point is changed according to the progress of the game and the occurrence of the event.
- the reference point setting position, the setting number, the setting interval, or the like is changed according to the difficulty level of the game. For example, as the difficulty level of the game becomes higher, the setting of the reference point is changed so that it becomes difficult for the user to clear the game.
- the hit volume is changed according to the position of the reference point.
- the size, shape, or arrangement position of the hit volume is changed according to the position of the reference point.
- a hit volume HV is set for a reference point RP located in the front direction (line-of-sight direction) of the user character USC, and a hit is made for the reference point RP2 located in the diagonally left direction of the user character USC.
- Volume HV2 is set.
- the hit volume HV set in the front direction of the user character USC is set to a size larger than the hit volume HV2 set in the diagonally left direction.
- an attack on a character such as a mosquito that has attacked from the front direction becomes easy, but an attack on a character that has attacked from a direction other than the front direction, such as an oblique left direction, becomes difficult.
- it is possible to perform modifications such as reducing the size of the hit volume set in the front direction and increasing the size of the hit volume set in a direction other than the front direction.
- the hit volume HV is set to a large size.
- the hit volume HV is set to a small size.
- the size of the hit volume is changed according to the distance between the reference point RP and the user character USC. In this way, as shown in FIG. 24A, when the reference point RP is far from the user character USC and a character such as a mosquito appears at a far place, the hit volume HV is increased in size. By being set, an attack on a character located in a distant place can be facilitated. When the user character USC approaches the reference point RP, the size of the hit volume HV is reduced and set to a normal size.
- the hit volume is changed according to the user situation information, the user character situation information, the character situation information or type information, or the game situation information.
- FIG. 25 is a flowchart of the hit volume setting process.
- user status information such as the user's age group, physique, and game play status is acquired (step S11).
- user character status information such as the user character status, level, and game parameters is acquired (step S12).
- character status information and type information are acquired (step S13).
- game situation information is acquired (step S14).
- the hit volume is changed based on the user situation information, the user character situation information, the character situation information or type information, or the game situation information (step S15). For example, the size, shape, or arrangement position of the hit volume is changed based on such information.
- the hit volume is changed according to the user's age group and physique. For example, if the user is a child or a short user, the hit volume is set at a low position. On the other hand, if the user is an adult user or a tall user, the hit volume is set at a higher position than that of a child or a short user.
- the size, shape, or arrangement position of the hit volume is changed according to whether the user is a beginner or an advanced user, or according to the number of times the user plays the game and the frequency of play. For example, if the user is a beginner, the hit volume is set so that the difficulty level is lower, and if the user is an advanced user, the hit volume is set so that the difficulty level is higher. In addition, as a privilege, the hit volume is set so that the user's game play is more advantageous for a user who has played many games or has a high play frequency.
- the size, shape, or placement position of the hit volume is changed according to the status, level, or various game parameters of the user character's attack power, defense power, equipment or durability.
- the hit volume is changed depending on whether the ability of the user character is high or low, or whether the user is wearing a predetermined equipment.
- the hit volume is changed according to the character status information and type information.
- the hit volume is changed in accordance with the status such as the character's attack power, defense power, equipment or durability.
- the size, shape, or arrangement position of the hit volume is changed depending on whether the appearing character is the first type or the second type.
- the size, shape, or placement position of the hit volume is changed according to the game situation.
- the hit volume is changed depending on whether a predetermined event occurs in the game.
- the hit volume is changed according to the difficulty level of the game. For example, as the level of difficulty of the game increases, the size, shape, or arrangement position of the hit volume is changed so that it is difficult for the user to clear the game.
- the real space around the user is recognized to obtain real space information (step S21). That is, the real space scanning process described with reference to FIGS. 4A and 4B is performed, and the acquired real space information is accumulated in the real space information storage unit 171 of FIG. Also, user information including user position information is acquired (step S22). For example, user information including user position information, user direction information, posture information, and the like is acquired by the tracking processing of the HMD 200 described with reference to FIGS.
- a virtual space corresponding to the real space is generated (step S23). For example, a virtual object corresponding to an object (desk, wall, etc.) in real space as shown in FIG. 4B is generated and set in the virtual space.
- a reference point is set based on the user information and the real space information, and a character object is placed in the virtual space based on the reference point (step S24).
- the reference point RP is set as shown in FIG. 7B, and the character CH is placed at the position set by the reference point RP to appear as shown in FIGS. 8A and 8B. .
- a hit volume is set based on the position of the user character, or a hit volume is set between the user character and the reference point (step S25).
- the hit volume HV is set based on the position PS of the user character USC.
- a hit volume HV is set between the user character USC and the reference point RP.
- it is determined whether or not the user has given a given input step S26). For example, it is determined whether or not an input by the action of hitting the hand as described with reference to FIGS. 9A to 11B is performed.
- processing for the character is executed according to the positional relationship between the hit volume and the character (step S27). For example, as described in FIG.
- the present disclosure is not limited, and techniques, processing, and configurations equivalent to these are included in the scope of the present disclosure.
- the present embodiment can be applied to various games. Further, the present embodiment can be applied to various simulation systems such as a business game device, a home game device, or a large attraction system in which a large number of users participate.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Optics & Photonics (AREA)
- Environmental & Geological Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
シミュレーションシステムは、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、ユーザの位置情報を含むユーザ情報を取得する情報取得部と、実空間情報に基づいて、実空間に対応する仮想空間を生成する仮想空間生成部と、ユーザ情報と実空間情報とに基づいて、仮想空間に基準点を設定し、基準点に基づいて、キャラクタのオブジェクトを仮想空間に配置するオブジェクト処理部と、キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部を含む。オブジェクト処理部は、ユーザに対応する仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
Description
本開示は、シミュレーションシステム、処理方法及び情報記憶媒体等に関する。
従来より、複合現実(MR)、拡張現実(AR)、バーチャルリアリティ(VR)などを実現するシステムが知られている。例えば特許文献1には、使用者の視点位置から観察される実空間画像に、使用者の視点位置から観察される仮想物体の画像を合成表示する画像処理装置が開示されている。この画像処理装置では、使用者が操作することで実空間の領域を指定し、指定された実空間の領域に基づいて仮想オブジェクトを作成し、作成された仮想オブジェクトを、観察された実空間画像に合成する。
特許文献1のようなMRやARのシステムを用いれば、実空間画像に対して仮想空間画像を合成することができる。しかしながら、仮想空間画像であるキャラクタと実空間のユーザとの好適なインタラクションの実現については、その達成が不十分であった。またキャラクタを登場させるために、専用のマーカを実空間に配置する必要があるという課題もある。また従来のシステムでは、キャラクタ等の出現のために、実空間の情報を有効に活用できていなかった。
本実施形態の1つによれば、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム、処理方法及び情報記憶媒体等を提供できる。
本実施形態の1つは、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、を含み、前記オブジェクト処理部は、前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うシミュレーションシステムに関係する。
本実施形態の1つでは、ユーザの周囲の実空間の認識処理を行うことで実空間情報が取得され、実空間情報に基づき実空間に対応する仮想空間が生成される。また実空間情報に基づき基準点が設定され、基準点に基づきキャラクタのオブジェクトが仮想空間に配置される。そして仮想空間のユーザ移動体の位置に基づきヒットボリュームが設定され、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理が実行される。従って、実空間に対して、対応する仮想空間を設定してキャラクタを配置し、ユーザの入力に基づくキャラクタとのインタラクションを実現できるようになる。これにより、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム等の可能になる。
また本実施形態の1つでは、前記ヒットボリュームは、前記ユーザの部位又は前記ユーザの所持物に設定されるヒットボリュームであってもよい。
このようにユーザの部位又は所持物にヒットボリュームを設定すれば、実空間においてユーザが、その部位や所持物を動かすと、それに連動してヒットボリュームも移動するようになり、ユーザの仮想現実感の向上を図れる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記ユーザ移動体と前記基準点とが第1の距離関係である場合には、前記ユーザ移動体の位置に基づき前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行い、前記ユーザ移動体と前記基準点とが第2の距離関係である場合には、前記ユーザ移動体と前記基準点との間に前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行ってもよい。
このようにすれば、ユーザ移動体と基準点との距離関係に応じた適切なヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係を判断して、キャラクタに対する処理を実行できるようになる。
また本実施形態の1つは、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、を含み、前記オブジェクト処理部は、前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うシミュレーションシステムに関係する。
本実施形態の1つでは、ユーザの周囲の実空間の認識処理を行うことで実空間情報が取得され、実空間情報に基づき実空間に対応する仮想空間が生成される。また実空間情報に基づき基準点が設定され、基準点に基づきキャラクタのオブジェクトが仮想空間に配置される。そして仮想空間のユーザ移動体と基準点との間に、ヒットボリュームが設定され、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理が実行される。従って、実空間に対して、対応する仮想空間を設定してキャラクタを配置し、ユーザの入力に基づくキャラクタとのインタラクションを実現できるようになる。これにより、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステム等の可能になる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記ユーザの動きを検出する検出部からの情報に基づいて、前記ユーザが前記所与の入力を行ったか否かを判断してもよい。
このようにすれば、実空間でのユーザの動きを検出して、ユーザが所与の入力を行ったか否かを判断し、ヒットボリュームを用いた処理を実行できるようになる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記キャラクタに対する処理として、前記キャラクタの消滅処理、前記キャラクタの破壊処理、前記キャラクタの表示態様の変更処理又は前記キャラクタについての報知処理を行ってもよい。
このようにすれば、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタを消滅させたり、キャラクタを破壊したり、キャラクタの表示態様を変更したり、或いはキャラクタについての報知処理を実行できるようになる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記ユーザ移動体と前記基準点との距離に応じて、前記キャラクタの配置タイミングを決定してもよい。
このようにすれば、ユーザ移動体と基準点との距離関係を反映させて、基準点に対応するキャラクタを配置することが可能になる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記基準点の設定を行ってもよい。
このようにすれば、ユーザの状況、ユーザ移動体の状況、キャラクタの状況、或いはゲーム状況に応じた適切な基準点の設定が可能になる。
また本実施形態の1つでは、前記情報取得部は、前記実空間の環境情報を取得し、前記オブジェクト処理部は、前記環境情報に応じて、前記基準点の設定を行ってもよい。
このようにすれば、実空間の環境の状況を反映させた適切な基準点の設定が可能になる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記基準点の位置に応じて、前記ヒットボリュームを変化させてもよい。
このようにすれば、基準点に応じた適切なヒットボリュームの設定が可能になる。
また本実施形態の1つでは、前記オブジェクト処理部は、前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記ヒットボリュームを変化させてもよい。
このようにすれば、ユーザの状況、ユーザ移動体の状況、キャラクタの状況又は種類、或いはゲーム状況に応じた適切なヒットボリュームの設定が可能になる。
また本実施形態の1つは、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得処理と、前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成処理と、前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理と、前記キャラクタの画像を含む画像を表示部に表示する表示処理と、を行い、前記オブジェクト処理において、前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行う処理方法に関係する。
また本実施形態の1つは、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得処理と、前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成処理と、前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理と、前記キャラクタの画像を含む画像を表示部に表示する表示処理と、を行い、前記オブジェクト処理において、前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行う処理方法に関係する。
また本実施形態の1つは、コンピュータ読み取り可能な情報記憶媒体であって、上記に記載の処理方法をコンピュータに実行させるためのプログラムを記憶した情報記憶媒体に関係する。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
1.シミュレーションシステム
図1は、本実施形態のシミュレーションシステム(シミュレータ、ゲームシステム、画像生成システム)の構成例を示すブロック図である。本実施形態のシミュレーションシステムはMR(Mixed Reality)やAR(Augmented Reality)などを実現するものであり、ゲームコンテンツを提供するゲームシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図1は、本実施形態のシミュレーションシステム(シミュレータ、ゲームシステム、画像生成システム)の構成例を示すブロック図である。本実施形態のシミュレーションシステムはMR(Mixed Reality)やAR(Augmented Reality)などを実現するものであり、ゲームコンテンツを提供するゲームシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
操作部160は、ユーザ(プレーヤ)が種々の操作情報(入力情報)を入力するためのものである。操作部160は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル、レバー又は音声入力装置等の種々の操作デバイスにより実現できる。
検出部162はユーザの動きを検出するものであり、例えば加速度センサ、ジャイロセンサなどのモーションセンサにより実現できる。例えば検出部162はユーザの部位などに取り付けられてユーザの部位等の動きを検出する。例えばユーザの部位が動いた時の加速度等の変化を加速度センサ等のモーションセンサにより検出して、ユーザの動きを検出する。なおユーザの動きをカメラを用いて検出してもよい。一例としては、2つの赤外LEDと2つのカメラ(ステレオカメラ)で指先等の動きを検出するリープモーションセンサを用いてもよい。或いはキネクト(登録商標)による姿勢検出によりユーザの動きを検出してもよい。
撮像部164(カメラ)は、被写体の撮像を行うものであり、CCDやCMOSセンサなどの画像センサと、フォーカスレンズ等により構成される光学系などにより実現される。撮像部164は赤外線カメラなどにより実現されるデプスカメラであってもよい。例えば撮像部164に、赤外線パターンを投稿するIRプロジェクターを設け、投光した赤外線パターンを赤外線カメラにより読み取り、パターンの歪みからデプス情報を取得するライトコーディング方式を採用してもよい。
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(ハードディスクドライブ)、SSD、光ディスク装置などにより実現できる。記憶部170は、実空間情報記憶部171、オブジェクト情報記憶部172、描画バッファ178を含む。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、LCD、有機ELディスプレイ、或いはCRTなどにより実現できる。表示部190は、例えば後述の図2、図3のHMD200(頭部装着型表示装置)のディスプレイ(表示装置)である。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ又はヘッドホンなどにより実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本開示の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作情報や、図2、図3のHMD200のトラッキング情報(HMDの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報)や、プログラムなどに基づいて、情報取得処理、仮想空間生成処理、オブジェクト処理、仮想カメラ制御処理、ゲーム処理(シミュレーション処理)、表示処理、或いは音処理などを行う。
処理部100の各部が行う本実施形態の各処理(各機能)はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することもできる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理(機能)が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部100は、情報取得部102、仮想空間生成部104、オブジェクト処理部106、仮想カメラ制御部112、ゲーム処理部114、表示処理部120、音処理部130を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
情報取得部102は各種の情報の取得処理を行う。仮想空間生成部104は仮想空間の生成処理を行い、オブジェクト処理部106はキャラクタのオブジェクトや配置オブジェクトについての種々の処理を行う。情報取得部102、仮想空間生成部104、オブジェクト処理部106の詳細については後述する。
仮想カメラ制御部112(仮想カメラ制御処理のプログラムモジュール)は、仮想カメラの制御を行う。例えば、操作部160により入力されたユーザの操作情報やトラッキング情報などに基づいて、仮想カメラを制御する処理を行う。例えば仮想カメラ制御部112は、ユーザの一人称視点又は三人称視点として設定される仮想カメラの制御を行う。例えば実空間のユーザに対応する仮想空間のユーザ移動体の視点(一人称視点)に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置(位置座標)や姿勢(回転軸回りでの回転角度)を制御する。或いは、ユーザ移動体に追従する視点(三人称視点)の位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置や姿勢を制御する。
例えば仮想カメラ制御部112は、視点トラッキングにより取得されたユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。例えば本実施形態では、ユーザの視点位置、視線方向の少なくとも1つである視点情報のトラッキング情報(視点トラッキング情報)が取得される。このトラッキング情報は、例えばHMD200のトラッキング処理を行うことで取得できる。そして仮想カメラ制御部112は、取得されたトラッキング情報(ユーザの視点位置及び視線方向の少なくとも一方の情報)に基づいて仮想カメラの視点位置、視線方向を変化させる。例えば、仮想カメラ制御部112は、実空間でのユーザの視点位置、視線方向の変化に応じて、仮想空間での仮想カメラの視点位置、視線方向(位置、姿勢)が変化するように、仮想カメラを設定する。このようにすることで、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御できる。
ゲーム処理部114(ゲーム処理のプログラムモジュール)は、ユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部114(シミュレーション処理部)は、ユーザがMR(Mixed Reality)、AR(Augmented Reality)、又はVR(Virtual Reality)などを体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
表示処理部120は、仮想空間画像(ゲーム画像、シミュレーション画像)の表示処理を行う。例えば処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、仮想空間において仮想カメラ(所与の視点。左眼用、右眼用の第1、第2の視点)から見える画像が生成される。なお、表示処理部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音処理部130(音処理のプログラムモジュール)は、処理部100で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部192に出力させる。
そして本実施形態のシミュレーションシステムは、図1に示すように、情報取得部102と仮想空間生成部104とオブジェクト処理部106と表示処理部120を含む。
情報取得部102(情報取得処理のプログラムモジュール)は、ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報を取得する。また情報取得部102は、ユーザの位置情報を含むユーザ情報を取得する。実空間の認識処理は例えば空間マッピングにより実現できる。例えば撮像部164として設けられた種々のカメラを用いて実空間の認識処理を行うことで、空間マッピングが実現される。後述の図2を例にとれば、HMD200に設けられたRGBカメラ246、デプスカメラ247、環境認識カメラ248、249を用いて実空間の認識処理を行う。実空間情報は、実空間の認識処理(空間マッピング)により得られた実空間の3Dマップ情報であり、スキャンした実空間をメッシュ化した情報である。実空間をスキャンすることで得られた実空間情報は実空間情報記憶部171に記憶される。実空間情報は例えば複数の空間データにより構成される。複数の空間データの各空間データは、実空間を複数の領域に分割してスキャンした際の各領域に対応するデータである。そして各空間データに対してID(サーフェスID)が割り当てられて、実空間情報記憶部171に記憶される。このIDが割り当てられた空間データに基づいて例えばポリゴンメッシュが生成され、スキャンした実空間をメッシュ化して表示することが可能になる。また実空間のマップと仮想空間のオブジェクトとのインタラクションも可能になる。
また情報取得部102は、実空間のユーザの位置情報を含むユーザ情報を取得する。ユーザ情報は実空間のユーザの方向情報を含むことができる。ユーザの位置情報としては、例えばユーザの視点位置情報を用いることができる。ユーザの方向情報としては、ユーザの視線方向情報を用いることができる。ユーザの位置情報(視点位置情報)や方向情報(視線方向情報)はHMD200のヘッドトラッキング処理により取得できる。
仮想空間生成部104(仮想空間生成処理のプログラムモジュール)は、情報取得部102により取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する処理を行う。そして仮想空間生成部104は、3次元空間(ゲーム空間)である仮想空間の設定処理を行う。例えば実空間の認識処理(空間マッピング)により得られたマップ情報が、仮想空間情報として設定される。例えば実空間を分割した複数の領域に対応する複数の空間データにより、仮想空間情報が設定される。仮想空間情報は、オブジェクト情報としてオブジェクト情報記憶部172に記憶される。
また仮想空間生成部104(仮想空間設定部)は、オブジェクトが配置される仮想空間(オブジェクト空間)の設定処理を行う。例えば、移動体(ユーザ移動体、キャラクタ)、配置物、マップ(地形)、建物、観客席、コース(道路)、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクト情報記憶部172には、仮想空間でのオブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間生成部104は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
オブジェクト処理部106(オブジェクト処理のプログラムモジュール)は、キャラクタのオブジェクトや配置オブジェクトについての各種の処理を行う。具体的にはオブジェクト処理部106は、ユーザ情報と実空間情報とに基づいて、仮想空間に基準点を設定する。例えばユーザの位置情報と実空間情報とに基づいて、仮想空間に基準点を設定する。この基準点の設定処理は基準点設定部108が行う。そしてオブジェクト処理部106は、基準点に基づいて、キャラクタのオブジェクトを仮想空間に配置する処理を行う。例えば基準点に対応して設定された配置ポイント(出現ポイント)にキャラクタを配置(出現)する処理を行う。表示処理部120(表示処理のプログラムモジュール)は、キャラクタの画像を含む画像を表示部190に表示する処理を行う。例えばHMD200の表示装置に、キャラクタの画像を含む画像(仮想空間画像)を表示する処理を行う。
そして本実施形態では、オブジェクト処理部106が、ユーザに対応する仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定する。例えばユーザ移動体の位置を元に、ヒットボリュームの位置を決定して配置する。ユーザ移動体の位置により特定されるユーザの部位の位置や所持物の位置にヒットボリュームを設定してもよい。そしてオブジェクト処理部106は、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。ユーザが所与の入力を行ったか否かは、例えば操作部160や検出部162を用いて検出できる。例えば操作部160によりユーザが所与の操作を行った場合に、ユーザが所与の入力を行ったと判断する。或いは検出部162によりユーザの所与の動き(ユーザの手等の部位の動き)が検出された場合に、ユーザが所与の入力を行ったと判断する。ユーザの所与の動きを撮像部164で撮像することで検出してもよい。
そしてオブジェクト処理部106は、ユーザが所与の入力を行ったタイミングでの、ヒットボリュームとキャラクタとの位置関係を判断する。例えばキャラクタの位置がヒットボリューム内にあるか否かのヒット判定処理(衝突判定処理)を行う。或いは、ユーザ移動体の位置に基づき設定されたヒットボリュームと、キャラクタの位置に基づき設定された第2のヒットボリュームとが交差したか否かを判断するヒット判定処理を行ってもよい。これらのヒット判定処理はヒット処理部109により行われる。そして、ユーザが所与の入力を行った際に(所与の入力を行ったタイミングで)、ヒットボリュームとキャラクタが所与の位置関係になった場合に、その位置関係に応じた処理をキャラクタに対して行う。例えばヒットボリュームとキャラクタとがヒットしたと判定された場合に、キャラクタに対するヒット処理を行う。具体的には後述するような消滅処理、破壊処理、表示態様の変更処理又は音や振動による報知処理を行う。
なおユーザ移動体は、実空間のユーザに対応するものであり、その画像が表示される表示物であってもよいし、画像が表示されない仮想的なものであってもよい。例えば仮想空間の画像として一人称視点の画像が表示される場合等には、ユーザ移動体は非表示であってもよいし、ユーザ移動体の一部の部位(例えば手、胸又は顔等)だけが表示されるものであってもよい。ユーザ移動体が非表示である場合には、例えば実空間のユーザの視点に対応する仮想空間の仮想カメラ(左眼用、右眼用の仮想カメラ)をユーザ移動体(アバター)とみなすことができる。
またヒットボリュームは、例えばユーザの部位又はユーザの所持物に設定されるヒットボリュームである。例えばユーザの部位を内包するようなヒットボリューム、或いはユーザの所持物を内包するようなヒットボリュームが設定される。そして、このヒットボリュームとキャラクタとのヒット判定処理を行うことで、ユーザの部位又は所持物がキャラクタにヒットしたか否かを判定できる。なおヒットボリュームは例えば3次元形状のものであるが、平面的なヒットエリアであってもよい。
或いはオブジェクト処理部106は、ユーザに対応する仮想空間のユーザ移動体と基準点との間に、ヒットボリュームを設定する。例えばユーザ移動体の位置と基準点の位置の間の領域(中間領域)にヒットボリュームを設定する。例えばユーザ移動体の位置と基準点の位置を結ぶ線上にヒットボリュームを設定する。そしてオブジェクト処理部106は、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。例えばユーザが所与の入力を行った際におけるヒットボリュームとキャラクタとの位置関係を判断して、キャラクタに対する処理を行う。具体的にはユーザが所与の入力を行ったか否かを、上述のように例えば操作部160や検出部162を用いて検出する。そしてユーザが所与の入力を行ったタイミングでの、ヒットボリュームとキャラクタとの位置関係を判断する。例えばキャラクタの位置がヒットボリューム内にあるか否かのヒット判定処理を行う。或いは、ユーザ移動体と基準点との間に設定されたヒットボリュームと、キャラクタの位置に基づき設定された第2のヒットボリュームとが交差(衝突)したか否かを判断するヒット判定処理(衝突判定処理)を行ってもよい。そして、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタが所与の位置関係になった場合に、その位置関係に応じた処理をキャラクタに対して行う。例えばキャラクタに対するヒット処理を行う。具体的には後述するようなキャラクタの消滅処理、破壊処理、表示態様の変更処理又は音や振動による報知処理を行う。
オブジェクト処理部106は移動体処理部110を含む。移動体処理部110は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間(オブジェクト空間、ゲーム空間)において移動体を移動させる処理や、移動体を動作させる処理を行う。移動体は、ユーザに対応するユーザ移動体やキャラクタなどである。例えば移動体処理部110は、操作部160によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(モデルオブジェクト)を仮想空間内で移動させたり、移動体を動作(モーション、アニメーション)させる制御処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
またオブジェクト処理部106は、ユーザ移動体と基準点とが第1の距離関係である場合には、ユーザ移動体の位置に基づきヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。一方、ユーザ移動体と基準点とが第2の距離関係である場合には、ユーザ移動体と基準点との間にヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。ここで、第1の距離関係は、第2の距離関係に比べて、ユーザ移動体と基準点との距離が近いという関係である。この場合には、ユーザ移動体の位置に基づきヒットボリュームを設定して、ヒット判定処理等を行う。一方、第2の距離関係は、第1の距離関係に比べて、ユーザ移動体と基準点との距離が遠いという関係である。この場合には、ユーザ移動体と基準点との間にヒットボリュームを設定して、ヒット判定処理等を行う。
またオブジェクト処理部106は、ユーザの動きを検出する検出部162からの情報に基づいて、ユーザが所与の入力を行ったか否かを判断する。例えば検出部162のモーションセンサ(加速度センサ等)に基づいて、ユーザの部位の動き、振動又は加速度を検出して、ユーザが所与の入力を行ったか否かを判断する。例えばユーザが叩くアクションを行ったか否かを判断する。具体的にはユーザの部位の加速度が急激に変化するタイミングを、ユーザが所与の入力を行ったタイミングと判断する。そしてユーザが所与の入力を行ったタイミングでのヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
またオブジェクト処理部106は、キャラクタに対する処理として、キャラクタの消滅処理、キャラクタの破壊処理、キャラクタの表示態様の変更処理又はキャラクタについての報知処理を行う。キャラクタの消滅処理は、キャラクタを非表示にして、仮想空間において視覚的に見えないようにする処理である。キャラクタの破壊処理は、キャラクタが破壊された状態の画像を表示する処理や、破壊エフェクトを発生する処理である。キャラクタの表示態様の変更処理は、キャラクタの色、輝度(明るさ)、半透明度又はテクスチャ等を変更する処理である。キャラクタの報知処理は、キャラクタに対する攻撃のヒットイベントなどが発生したことを、音や振動などを用いてユーザに報知する処理である。なお、キャラクタに対する攻撃が成功しなかった場合には、攻撃が成功しなかったことを表す演出処理を行ってもよい。
またオブジェクト処理部106は、ユーザ移動体と基準点との距離に応じて、キャラクタの配置タイミングを決定する。例えばユーザ移動体と基準点との間の距離が所与の距離よりも近くなったタイミングを、配置タイミングとして、キャラクタを配置する。例えば当該タイミングにおいてキャラクタを出現させて表示する。或いは、ユーザ移動体と基準点との間の距離が所与の距離よりも遠くなった場合に、キャラクタを仮想空間に非配置にして、消滅させてもよい。
またオブジェクト処理部106は、ユーザの状況情報、ユーザ移動体の状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、基準点の設定を行う。例えばこれらの情報に基づいて、基準点の設定位置や設定数を決定したり、或いは基準点の出現タイミングを決定する。例えば基準点の設定位置や設定数を変化させたり、或いは基準点の出現タイミングを変化させる。ユーザの状況情報は、例えばユーザの年齢層、体格又は性別の情報などである。或いはユーザの状況情報は、ユーザのゲームプレイの状況である。例えばユーザのゲームレベル(初級、中級、上級)や、ユーザのゲームプレイ回数やゲームプレイ頻度の情報や、ユーザのゲーム成績の情報などである。ユーザ移動体の情報は、ユーザ移動体のステータス(レベル、経験値)や能力(攻撃力、防御力等)などの情報であり、例えばユーザ移動体のゲームパラメータにより表される情報である。キャラクタの状況情報は、キャラクタのステータスや能力などの情報であり、例えばキャラクタのゲームパラメータにより表される情報である。キャラクタの種類情報は、キャラクタがどの種類に属するキャラクタであるかを表す情報である。ゲーム状況情報は、ゲームの進行状況や、ゲームプレイが行われるステージやマップの状況などである。
また情報取得部102は、実空間の環境情報を取得する。環境情報は、実空間の明るさや広さなどの環境についての情報である。例えばユーザが位置するプレイフィールドでの明るさ情報や広さ情報などである。そしてオブジェクト処理部106は、環境情報に応じて、基準点の設定を行う。例えば環境情報に応じて、基準点の設定位置や設定数を決定したり、或いは基準点の出現タイミングを決定する。例えば基準点の設定位置や設定数を変化させたり、或いは基準点の出現タイミングを変化させる。
またオブジェクト処理部106は、基準点の位置に応じて、ヒットボリュームを変化させる。例えば基準点の位置に応じて、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。例えば基準点の設定位置や、設定タイミングや、或いは基準点とユーザ移動体との関係などに応じて、ヒットボリュームの大きさ、形状又は配置位置等を変化させるなどして、ヒットボリュームを変化させる。
またオブジェクト処理部106は、ユーザの状況情報、ユーザ移動体の状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、ヒットボリュームを変化させる。例えばユーザの状況、ユーザ移動体の状況、キャラクタの状況又は種類、或いはゲーム状況を反映させるように、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。
なお情報取得部102は、視点のトラッキング情報に基づいて、実空間でのユーザの位置情報を取得する。視点のトラッキング情報は、例えばHMD200のトラッキング処理を行うことで取得できる。例えば情報取得部102は、HMD200の位置情報を、当該HMD200を装着するユーザの位置情報として取得する。一例としては、トラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報(視点位置の座標の変化値)、及び、ユーザの初期視線方向からの視線方向の変化情報(視線方向の回転軸回りでの回転角度の変化値)の少なくとも一方を含むことができる。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの位置に対応する視点位置や、ユーザの方向に対応する視線方向を特定できる。なお、HMD200のトラッキング処理ではなく、ユーザやユーザの頭部などの部位を直接にトラッキングする処理により、ユーザの位置情報を取得してもよい。また情報取得部102は、ユーザの方向情報や姿勢情報を取得してもよい。例えば視点のトラッキング処理により得られたトラッキング情報に基づいて、実空間においてユーザが向く方向である方向情報を取得する。また情報取得部102は、ユーザのモーション情報である姿勢情報を取得する。姿勢情報は、ユーザの手、頭又は足などの部位の動きを特定する情報である。例えば情報取得部102は、キネクト(登録商標)と呼ばれる処理によりユーザの姿勢情報を取得する。なお、情報取得部102が取得する位置情報は、相対的な位置情報であってもよい。
また表示処理部120(画像生成部)は、表示部190に表示される画像を、仮想空間画像として生成する。仮想空間画像は、例えばAR又はMRの画像などである。仮想空間画像はVRの画像であってもよい。ARの画像は、実空間の風景などを構成する表示物に重畳するように表示される画像である。MRの画像は、実空間と仮想空間を混合し、現実のものと仮想的なものがリアルタイムで影響し合うような新たな空間を構築するMRの手法により生成される画像であり、MRは全拡張現実と拡張仮想を包含する概念である。VRの画像は、例えば後述のHMD200を装着するユーザの視界の全周囲に亘ってVR空間が広がるように生成される画像である。
また表示処理部120は、HMD200の表示画像として、仮想空間において仮想カメラ(所与の視点)から見える画像を生成する。例えばキャラクタ(ユーザキャラクタ、他ユーザキャラクタ)の視点(一人称視点)に設定された仮想カメラから見える画像の描画処理を行う。或いは、キャラクタに追従する視点(三人称視点)に設定された仮想カメラから見える画像の描画処理を行う。生成される画像は、例えば左眼用画像、右眼用画像などの立体視用の画像であることが望ましい。
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応する仮想ユーザやその搭乗移動体などのユーザ移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
なお図1の本実施形態のシミュレーションシステムの処理は、HMD200に内蔵されるプロセッサやメモリにより実現してもよい。例えばHMD200に内蔵されるプロセッサが本実施形態の各処理を行い、本実施形態の処理により生成された画像(仮想空間画像)をHMD200の表示部190に表示する。或いは本実施形態のシミュレーションシステムの処理を、家庭用ゲーム装置又は業務用ゲーム装置により実現してもよいし、家庭用ゲーム装置又は業務用ゲーム装置とサーバシステムとの分散処理により実現してもよい。或いは本実施形態のシミュレーションシステムを、施設に設置されるPC等の処理装置や、ユーザが装着する処理装置や、これらの処理装置の分散処理により実現してもよい。例えばユーザがジャケットを着用し、ジャケットの背面側にバックパックPC等の処理装置が取り付けられる。そしてユーザが装着するバックパックPC等の処理装置により本実施形態の各処理を実行したり、表示部190に表示される画像(仮想空間画像)を生成する。或いは、ユーザが装着する処理装置と、施設に設置される管理用の処理装置との分散処理により、本実施形態の各処理を実行したり、表示部190に表示される画像を生成する。或いは、本実施形態のシミュレーションシステムの処理を、ネットワークに通信接続できる携帯型通信端末や、携帯型通信端末とサーバシステムとにより実現してもよい。例えば携帯型通信端末とサーバシステムとの分散処理により実現してもよい。
2.HMD
次に本実施形態で用いられるHMD200及びHMD200を用いたトラッキング処理について説明する。
次に本実施形態で用いられるHMD200及びHMD200を用いたトラッキング処理について説明する。
図2は本実施形態で用いられるHMD200の一例である。図2のHMD200はシースルー型(透過型)のメガネタイプのHMDである。具体的には光学シースルー型のHMDである。このシースルー型のHMD200によれば例えばMRやARの仮想空間画像の表示が可能になる。
図2のHMD200はテンプル部240とゴーグル部242を有する。テンプル部240にはスピーカが内蔵されている。ゴーグル部242には表示装置243とホログラフィック光学素子244が設けられている。表示装置243には、マイクロディスプレイ、ミラー、プリズム等により構成される表示ユニットが設けられている。表示装置243には左眼用の表示ユニットと右眼用の表示ユニットが設けられており、これにより立体視が実現される。また左眼用、右眼用の各表示ユニットに一対のマイクロディスプレイを設けることで虚像の位置を可変にできる。
表示装置243からの表示光は、ホログラフィック光学素子244の導光板内部を屈折しながら、ユーザUSの眼前に導光される。そしてホログラフィック光学素子244により表示光を眼球方向に屈折させて、眼球に表示光を送る。これにより眼前に虚像(ホログラムの再生像)があるように見えるようになる。ホログラフィック光学素子244の導光板はコンバイナーとも呼ばれ、ハーフミラーであるコンバイナーにより、外界の実像と虚像が重なって見えるようになり、MRやARが実現される。
またゴーグル部242には、RGBカメラ246、デプスカメラ247、環境認識カメラ248、249が設けられている。RGBカメラ246を用いることでユーザUSの正面方向の撮影が可能になる。デプスカメラ247を用いることで正面方向でのデプス情報(奥行き情報)を取得できる。例えばゴーグル部242にはデプスカメラ用のエミッター(不図示)が設けられている。そしてエミッターであるIRプロジェクターにより赤外線パターンを実空間の物体に対して投光し、投光した赤外線パターンを、デプスカメラ247である赤外線カメラにより読み取り、パターンの歪みから実空間の物体のデプス情報を取得する。更に環境認識カメラ248、249を用いることでユーザUSの周囲の環境認識が可能になる。またゴーグル部242には、加速度センサ、ジャイロセンサにより構成される慣性計測ユニット(IMU)が内蔵されている。ユーザUSの頭の位置や向く方向は、ゴーグル部242に設けられたカメラによる撮像画像と慣性計測ユニットからの測定情報などに基づいて検出され、これによりヘッドトラッキングが実現される。そしてユーザUSの位置情報(視点位置情報)や方向情報(視線方向情報)の取得も可能になる。またRGBカメラ246、デプスカメラ247、環境認識カメラ248、249を用いることで、空間マッピングと呼ばれる実空間の認識処理が実現される。これらのカメラを用いて実空間でのユーザの周囲のスキャンを行うことで、ユーザの周囲の実空間の認識処理が実現され、実空間情報が取得される。またこれらのカメラを用いることで、ユーザUSの周囲に居る他のユーザの位置情報(相対的な位置情報)、方向情報(相対的な方向情報)、或いは姿勢情報(動き情報)も取得できる。例えばキネクト(登録商標)などの処理により姿勢情報を取得することで、他のユーザがどのようなアクションを行ったかを検出できるようになる。或いはユーザ自身の部位の動きなどをユーザの姿勢情報(動き情報)として取得してもよい。
図3にHMD200の他の例を示す。図3のHMD200はユーザの視界の全周囲を覆うように装着されるタイプのHMDである。図3のHMDの表示部は例えば有機ELディスプレイ(OEL)や液晶ディスプレイ(LCD)などにより実現される。例えばHMD200の表示部には、ユーザの左眼の前に設定される第1のディスプレイ又は第1の表示領域と、右眼の前に設定される第2のディスプレイ又は第2の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左眼用画像と右眼用画像を生成し、第1のディスプレイに左眼用画像を表示し、第2のディスプレイに右眼用画像を表示する。或いは1つのディスプレイの第1の表示領域に左眼用画像を表示し、第2の表示領域に右眼用画像を表示する。またHMD200には左眼用、右眼用の2つの接眼レンズ(魚眼レンズ)が設けられており、これによりユーザの視界の全周囲に亘って広がるVR空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左眼用画像、右眼用画像に対して行われる。
また図3のHMD200には、RGBカメラ216、デプスカメラ217、環境認識カメラ218、219が設けられている。これらのカメラを用いることでビデオシースルー型のHMD200が実現され、MRやARの実現が可能になる。またこれらのカメラを用いることで、図2のHMD200と同様に、実空間の認識処理や、他のユーザの位置情報、方向情報、姿勢情報(動き情報)の取得やユーザの姿勢情報の取得などを実現できる。
図3のHMD200において、ユーザの位置情報、方向情報を取得するトラッキング処理は、HMD200に内蔵され、加速度センサ、ジャイロセンサにより構成される慣性計測ユニット(IMU)により実現してもよい。或いはHMD200に複数の受光素子を設け、ユーザの周囲に発光素子を有する測定用の装置(ベースステーション)を設ける。そして測定用の装置(複数の測定用装置)の発光素子(LED)からのレーザなどの光をHMD200の受光素子で受光することで、HMD200のトラッキング処理を行って、ユーザの位置情報(視点位置情報)や方向情報(視線情報)を取得してもよい。或いはHMD200に複数の発光素子を設け、ユーザの周囲にカメラ(第1、第2のカメラ)を有する測定用の装置を設ける。そしてHMD200の発光素子からの光を測定用の装置のカメラで撮像することで、ユーザUSの頭部の奥行き方向での位置等を検出する。またHMD200に設けられる慣性計測ユニット(モーションセンサ)の検出情報に基づいて、ユーザUSの頭部の回転角度(視線)を検出し、これによりHMD200のトラッキング処理を実現してもよい。
なおユーザの位置情報や方向情報等を取得するためのトラッキング処理については、種々の変形実施が可能である。例えばHMD200に設けられた慣性計測ユニットを用いて、HMD200の単体でトラッキング処理を実現してもよいし、上述のような測定用の装置を外部に設けてトラッキング処理を実現してもよい。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング処理を採用してもよい。
またHMD200として、いわゆるスマートフォンVR又はVRゴーグルと呼ばれるタイプのものを用いてもよい。このタイプのHMD200では、スマートフォンの表示部がユーザの目に対向するように、HMD200のゴーグル部の中にスマートフォンを収納する。ゴーグル部(VRゴーグル)の内側には、左眼用接眼レンズ、右眼用接眼レンズが内蔵されている。ユーザは、スマートフォンの表示部に表示された左眼用画像、右眼用画像を、各々、左眼用接眼レンズ、右眼用接眼レンズを介して見ることで、VRの立体視画像を鑑賞することができる。そしてユーザの視点位置、視線方向を特定するトラッキング処理は、スマートフォンに内蔵される慣性計測ユニット(加速度センサ、ジャイロセンサ)などに基づいて実現できる。またゴーグル部又はスマートフォンに設けられたカメラを用いて実空間の認識処理を行えばよい。
3.本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では、ユーザがHMDを装着して、蚊などのキャラクタを退治するアトラクションゲームに本実施形態の手法を適用した場合について主に例にとり説明を行う。但し本実施形態の手法は、種々のゲーム(仮想体験ゲーム、格闘ゲーム、競争ゲーム、RPG、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等)に適用でき、ゲーム以外にも適用可能である。また以下では、実空間のユーザに対応する仮想空間のユーザ移動体を、ユーザキャラクタと表記して説明を行う。このユーザキャラクタは、表示されるオブジェクトであってもよいし、オブジェクトとして表示されない仮想的なものであってもよい。
次に本実施形態の手法について詳細に説明する。なお、以下では、ユーザがHMDを装着して、蚊などのキャラクタを退治するアトラクションゲームに本実施形態の手法を適用した場合について主に例にとり説明を行う。但し本実施形態の手法は、種々のゲーム(仮想体験ゲーム、格闘ゲーム、競争ゲーム、RPG、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等)に適用でき、ゲーム以外にも適用可能である。また以下では、実空間のユーザに対応する仮想空間のユーザ移動体を、ユーザキャラクタと表記して説明を行う。このユーザキャラクタは、表示されるオブジェクトであってもよいし、オブジェクトとして表示されない仮想的なものであってもよい。
3.1 ゲームの説明
まず本実施形態により実現されるアトラクションゲームについて説明する。本実施形態では、ユーザの周囲の実空間の認識処理を行うことにより実空間情報を取得し、取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する。例えば図4(A)では、実空間に机DKや壁WLなどの物体が存在している。この実空間を、図2、図3のHMD200に設けられたカメラによりスキャンする認識処理を行うことで、実空間情報を取得する。具体的には図4(B)に示すように実空間をメッシュ化したワイヤーフレームのデータとして、実空間情報を取得する。この実空間の認識処理は例えばリアルタイムに実行され、ユーザの周囲の実空間が順次にスキャンされて実空間情報が取得される。例えばIDに対応づけられた空間データが順次に取得されて、実空間情報として、図1の実空間情報記憶部171に蓄積されて記憶される。この実空間情報は、デプス情報(奥行き値)も有しており、このデプス情報を用いることで、例えば仮想空間のオブジェクトと実空間の物体との隠面消去処理も可能になる。また実空間情報に基づいて仮想空間を生成することで、仮想的なオブジェクト(キャラクタ、配置オブジェクト)と、実空間の物体(机DK、壁WL)とのインタラクションが可能になる。例えば仮想的なオブジェクトと実空間の物体とのヒット処理(衝突処理)なども可能になり、これまでにないタイプのMRやAR(以下、単にMRと記載する)の実現が可能になる。
まず本実施形態により実現されるアトラクションゲームについて説明する。本実施形態では、ユーザの周囲の実空間の認識処理を行うことにより実空間情報を取得し、取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する。例えば図4(A)では、実空間に机DKや壁WLなどの物体が存在している。この実空間を、図2、図3のHMD200に設けられたカメラによりスキャンする認識処理を行うことで、実空間情報を取得する。具体的には図4(B)に示すように実空間をメッシュ化したワイヤーフレームのデータとして、実空間情報を取得する。この実空間の認識処理は例えばリアルタイムに実行され、ユーザの周囲の実空間が順次にスキャンされて実空間情報が取得される。例えばIDに対応づけられた空間データが順次に取得されて、実空間情報として、図1の実空間情報記憶部171に蓄積されて記憶される。この実空間情報は、デプス情報(奥行き値)も有しており、このデプス情報を用いることで、例えば仮想空間のオブジェクトと実空間の物体との隠面消去処理も可能になる。また実空間情報に基づいて仮想空間を生成することで、仮想的なオブジェクト(キャラクタ、配置オブジェクト)と、実空間の物体(机DK、壁WL)とのインタラクションが可能になる。例えば仮想的なオブジェクトと実空間の物体とのヒット処理(衝突処理)なども可能になり、これまでにないタイプのMRやAR(以下、単にMRと記載する)の実現が可能になる。
図5は、図2の光学シースルー型のHMD200においてユーザの目に映る画像を表すものである。図5のB1、B2、B3、B4の領域には、実空間の背景物などの風景がユーザの目に映る。そして表示領域ARVに、図2の表示装置243により生成された仮想空間画像が表示される。ユーザが顔を左右に振ると、DR1、DR2に示すように表示領域ARVの場所が左右に移動する。そしてこの表示装置243にキャラクタや配置オブジェクトなどの仮想空間のオブジェクトの画像が表示される。これによりB1、B2、B3の実空間の風景と表示領域ARVの仮想空間画像がミックスされたMRの実現が可能になる。なお図5では表示領域ARVが狭く、視野角が小さい場合の例を示したが、HMD200の各種のデバイスを改善することで、表示領域ARVを広くし、視野角を更に拡大することも可能である。
図6は本実施形態のアトラクションゲームに使用されるプレイフィールドFLの例である。本実施形態のアトラクションゲームでは、例えば室内型テーマパークのプレイフィールドFLに商店街の店舗等が設置される。ユーザは例えば図2のHMD200を頭に装着して、友達等の仲間と一緒にプレイフィールドFLを探索する。具体的には場所P1からスタートして場所P2に移動し、場所P3に出現する蚊(キャラクタ)を退治して、場所P1に戻る。その後、図14で説明するようなライド型のアトラクションゲームをプレイする。
そして本実施形態では、図2のHMD200に設けられたカメラを用いて実空間の認識処理を行うことで、実空間のプレイフィールドFLに対応する仮想空間が生成されるようになる。この場合に、HMD200を装着したユーザがプレイフィールドFLを移動するにつれて、移動するユーザの周囲の実空間が順次にスキャンされて実空間情報として蓄積されて更新されるようになる。
図6の場所P2にユーザが移動すると、図7(A)に示すように、ユーザの正面の壁にはマーカとなるポスターPSが貼られている。HMD200のカメラによりこのポスターPS(マーカ)の認識処理を行うことで、蚊の絵が描かれた画像IMAや、ガイドGDAが表示される。即ち画像IMAやガイドGDAが図5の表示領域ARVに表示される。ガイドGDAは、図6の場所P3の方を指しており、ユーザが場所P3の方に視線を向けると、図7(B)に示すような風景がユーザの目に映る。そして図7(B)に示すように、柱PILに対応する場所に基準点RPが設定される。例えば本実施形態では、実空間の認識処理により実空間情報が取得され、ユーザの位置情報等のユーザ情報と実空間情報に基づいて、基準点RPが設定される。具体的にはHMD200のカメラにより実空間の柱PILの認識処理が行われ、実空間の柱PILに対応する仮想的なオブジェクトが仮想空間に生成される。例えば図4(B)の机のようにメッシュポリゴンの仮想的な柱のオブジェクトが生成される。そして、この柱のオブジェクトに対応する場所に基準点RPが設定される。例えばユーザの位置情報に基づきユーザの位置が柱のオブジェクトに近いと判断された場合に、柱のオブジェクトに対して基準点RPが設定される。このようにすることで、実空間の柱PILに対応する場所に基準点RPを設定できるようになる。なおHMD200のカメラによる実空間の認識処理では正確な座標を取得できない場合がある。このため例えば図7(A)のポスターPSによるマーカの位置の絶対座標を用いることで、正確な座標の設定を行うようにしてもよい。
そして本実施形態では、図8(A)に示すように、設定された基準点RPに基づいて、蚊のキャラクタCHのオブジェクトを出現させる。例えば基準点RPにより特定される配置ポイント(配置場所)に蚊のキャラクタCHを配置して出現させる。これにより図5で説明した表示領域ARVに蚊のキャラクタCHの画像が表示されるようになり、実空間の柱PILの場所に蚊が出現したかのように見えるMRを実現できるようになる。即ち実空間の風景(柱)と仮想空間の画像(蚊)がミックスされた画像の表示が可能になる。そして本実施形態では実空間の認識処理により生成された仮想的な柱のオブジェクトに対して基準点RPが設定されている。従って、例えばARマーカ等を用いなくても、実空間の柱PILに対応するポイントから蚊のキャラクタCHを出現させることが可能になる。また図8(A)では「前から来るぞ」という文字が書かれたガイドGD1も表示されている。このガイドGD1は仮想空間の配置オブジェクトであり、このガイドGD1の配置オブジェクトの配置ポイントも、基準点RPに基づき設定される。
図8(B)では、後述の図9(A)~図10で説明するように両手でパチンと叩くアクションをユーザが行うことで、攻撃のエフェクトAG(空気砲)が表示され、蚊のキャラクタCHにヒットして、蚊が退治される。蚊の退治に成功すると、「やった、戻ろう」という文字が書かれたガイドGD2が表示される。またユーザが戻る方向を指示するガイドGD3も表示される。これらのガイドGD2、GD3の配置オブジェクトの配置位置も、基準点RPに基づき設定される。
図9(A)~図10では、ユーザ(US)は図2のHMD200を頭部に装着している。またユーザは、その手HL、HRで所持物BL、BRを持っている。所持物BL、BRは、例えば大きな手の形状の紙製のうちわなどにより実現される。また手HLにはアームセンサSEを装着している。アームセンサSEは、アームバンド型のモーションセンサ(ジェスチャセンサ)であり、加速度センサ、3軸ジャイロセンサ、筋電位センサなどを内蔵している。このアームセンサSEを手HLに装着することで、腕の動きや手のひらの開閉などを検出できるようになる。図9(A)、図9(B)に示すように、ユーザが手HL、HRでパチンと叩くアクションを行うと、このアクションの動きがアームセンサSEの加速度センサ等により検出される。このアームセンサSEは図1の検出部162に相当するものであり、手HL、HRでパチンと叩くアクションが、本実施形態においてユーザが行う所与の入力になる。このアクションにより、攻撃のエフェクトAGが表示され、図10に示すように蚊のキャラクタCHが退治されて、消滅したり、破壊されるようになる。
そして図9(A)~図10の場合には、後述の図19(A)、図19(B)で説明するように、ユーザ(US)に対応するユーザキャラクタUSC(広義にはユーザ移動体)とキャラクタCHとの間にヒットボリュームHVが設定され、このヒットボリュームHVを用いてキャラクタCHに対するヒット判定処理(衝突判定処理)が行われる。即ちユーザキャラクタUSCとキャラクタCHとの間の距離が遠い場合には、図19(A)、図19(B)の手法によりヒット判定処理が行われる。
一方、図11(A)、図11(B)では、後述の図17(A)、図17(B)で説明するように、ユーザキャラクタUSCの位置に基づきヒットボリュームHVが設定され、このヒットボリュームHVを用いてキャラクタCHに対するヒット判定処理が行われる。即ちユーザキャラクタUSCとキャラクタCHとの間の距離が近い場合には、図17(A)、図17(B)の手法によりヒット判定処理が行われる。この場合に例えば所持物BL、BRに対応する所持物オブジェクトを仮想空間に出現させ、ユーザが手HL、HRを叩く毎に、この所持物オブジェクトの大きさを大きくするようにしてもよい。これにより、比較的遠くに位置する蚊のキャラクタCHであっても、所持物オブジェクトをヒットさせて退治することが可能になる。
図6の場所P3に出現する蚊を、図8(A)~図11(B)で説明したように退治した後、ユーザは、最初のスタート地点である場所P1に戻ることになる。この場合に本実施形態では図12(A)~図13(B)に示すように、場所P3から場所P1にユーザを誘導して移動させるためのガイドとなる配置オブジェクトOB1~OB4を、仮想空間に配置する。具体的には場所P1に対して基準点RPが設定され、設定された基準点RPに基づいて配置オブジェクトOB1~OB4が配置される。この場合に本実施形態では、図4(A)、図4(B)で説明したような実空間の認識処理が行われ、実空間情報が取得される。そしてユーザの位置情報等のユーザ情報と、取得された実空間情報とに基づき、基準点RPが設定される。具体的にはHMD200のカメラにより実空間の認識処理が行われ、場所P1に配置される物体(例えば入り口、壁、ドア)に対応する仮想的なオブジェクトが仮想空間に生成される。そして、この仮想的なオブジェクトの場所に基準点RPが設定される。このようにすることで、場所P1に対して適切に基準点RPを設定できるようになり、基準点RPが設定される場所P1とユーザとの間に、ユーザを誘導するガイドとなる配置オブジェクトOB1~OB4を適切に配置できるようになる。
そして本実施形態では、ユーザに対応する仮想空間のユーザキャラクタ(ユーザ移動体)と配置オブジェクトOB1~OB4との位置関係に応じて、配置オブジェクトOB1~OB4の表示態様を変化させている。
例えば図12(A)では、基準点RPから遠い位置に配置される配置オブジェクトOB1が、表示状態に設定されて表示されている。即ち図5の表示領域ARVに配置オブジェクトOB1の画像が表示される。この配置オブジェクトOB1には例えば「こっちだよ」という文字が書かれている。
その後、ユーザが、場所P1の基準点RPの方に移動して近づくと、図12(B)に示すように、次の配置オブジェクトOB2が表示状態に設定されて表示される。配置オブジェクトOB2は、配置オブジェクトOB1に比べて、基準点RPに近い位置に配置されるオブジェクトである。この配置オブジェクトOB2には、例えば「こっち、こっち」という文字が書かれている。この場合に配置オブジェクトOB1については、不透明状態から半透明状態に変化し、その後、非表示状態(透明状態)へと表示態様が変化する。
ユーザが、場所P1の基準点RPの方に更に移動して近づくと、図13(A)に示すように、次の配置オブジェクトOB3が表示状態に設定されて表示される。配置オブジェクトOB3は、配置オブジェクトOB1、OB2に比べて、基準点RPに近い位置に配置されるオブジェクトである。この配置オブジェクトOB3には、例えば「そろそろつくよ」という文字が書かれている。この場合に配置オブジェクトOB2については、不透明状態から半透明状態に変化し、その後、非表示状態へと表示態様が変化する。
ユーザが場所P1の基準点RPの方に更に移動して、基準点RPの場所の直ぐ近くに来ると、図13(B)に示すように次の配置オブジェクトOB4が表示状態に設定されて表示される。配置オブジェクトOB4は、配置オブジェクトOB1、OB2、OB3に比べて、基準点RPに近い位置に配置されるオブジェクトである。この配置オブジェクトOB4には、例えば「おかえり」という文字が書かれている。この場合に配置オブジェクトOB3については、不透明状態から半透明状態に変化し、その後、非表示状態へと表示態様が変化する。
このように本実施形態では、基準点RPに基づき設定された配置オブジェクトOB1~OB4を用いることで、基準点RPの場所P1にユーザを適切に誘導して移動させることに成功している。
場所P1に戻ったユーザは、場所P1にその入り口が設けられるライド型のアトラクションゲームをプレイする。図14はこのライド型のアトラクションのプレイフィールドFLRを示すものである。プレイフィールドFLRにはコースCSが設置されている。ユーザUS1、US2はライド筐体RD1、RD2に搭乗し、ライド筐体RD1、RD2はコースCSに沿って移動する。そしてプレイフィールドFLRのエリアM1~M14では、蚊が出現してユーザを襲ってくる。ユーザは、図9(A)~図11(B)で説明したような手をパチンと叩くアクションを行って、襲ってくる蚊を退治する。またプレイフィールドFLRの奥側の場所では、天井のオブジェクトOBCが崩壊して落ちてくるイベントEV1が発生する。この天井のオブジェクトOBCは仮想空間のオブジェクトで表現され、天井が落ちてくる仮想空間画像がHMD200に表示される。またエリアM13、M14では、大量の蚊が襲ってくるイベントEV2が発生し、最後は巨大な蚊のボスBSFが出現するイベントEV3が発生する。この蚊のボスBSFは実空間の物体であり、このボスBSFに対して、仮想空間のエフェクト画像が重畳して表示される演出が行われる。
図15(A)、図15(B)は、プレイフィールドFLRでの蚊の出現イベントの一例を示すものである。図15(A)、図15(B)では、実空間に対して穴HE1、HE2、HE3が出現し、穴HE1、HE2、HE3から蚊のキャラクタCH1、CH2、CH3が飛び出て来るようなMRが実現される。そしてユーザは、図9(A)~図11(B)で説明したような手をパチンと叩くアクションを行って、襲ってくる蚊を退治することができる。ここで、穴HE1、HE2、HE3の画像は仮想空間画像であり、キャラクタCH1、CH2、CH3の画像も仮想空間画像であり、これらの仮想空間画像が実空間の物体に重畳して表示されるMRが実現されている。
そして本実施形態では、穴HE1~HE3のオブジェクトやキャラクタCH1~CH3のオブジェクトは基準点RPに基づき配置される。例えば図4(A)、図4(B)に示すような実空間の認識処理が、図14のプレイフィールドFLRに配置される実空間の物体に対して行われる。これにより図15(A)、図15(B)の実空間の物体に対応する仮想的なオブジェクトが配置される仮想空間が生成され、生成された仮想空間において基準点RPが設定される。そしてライド筐体に搭乗して移動するユーザに対応するユーザキャラクタが、基準点RPの位置に近づくと、図15(A)に示すように、基準点RPに関連づけて設定された穴HE1~HE3のオブジェクトが出現し、穴HE1~HE3からキャラクタCH1~CH3も出現するようになる。このようにすることで、ARマーカ等を使用しなくても、図15(A)、図15(B)に示すようなMRの画像を生成できるようになる。
図16では、ガイドGDが表示されている。このガイドGDは、キャラクタCHの存在位置の方向を示す配置オブジェクトである。例えば図5のように、HMD200の仮想空間画像の表示領域ARVが狭い場合(視野角が小さい場合)には、ユーザがキャラクタCHの方に視線を向けないと、表示領域ARVにキャラクタCHの画像を表示できない。この点、図16のようなガイドGDを表示すれば、例えばユーザが右方向に視線を向けることで、図5のHMD200の表示領域ARVがDR2の方向に移動して、キャラクタCHの画像が表示領域ARVに表示されるようになる。このようにガイドGDとなる配置オブジェクトを配置して表示することで、ユーザはキャラクタCHの方に視線を向けて手を叩くアクションを行うことで、蚊のキャラクタCHを退治することが可能になる。
なおキャラクタCHの存在位置を報知する処理は、図16のようなガイドGD等の表示物を用いる処理には限定されない。例えばHMD200等に設けられる音出力部(ヘッドホン、スピーカ)からの3次元音響を用いて、キャラクタCHの存在位置をユーザに報知してもよい。例えば右方向にキャラクタCHが存在する場合には、キャラクタCHの発生音(例えば「ブーン」という音)が、右方向から聞こえるような3次元音響の処理を行って、音出力部から出力すればよい。このようにすることで、図5のように表示領域ARVが狭く視野角が小さいHMD200を用いた場合にも、キャラクタCHの存在位置を適切にユーザに報知できるようになる。
3.2 基準点、ヒットボリュームの設定
以上のように本実施形態では、図4(A)、図4(B)で説明したようにユーザの周囲の実空間の認識処理を行うことで得られる実空間情報を取得する。またユーザの位置情報を含むユーザ情報を取得する。そして取得された実空間情報に基づいて実空間に対応する仮想空間を生成する。例えば図4(B)に示すようなポリゴンメッシュのオブジェクトが配置される仮想空間を生成する。そして図8(A)、図8(B)、図12(A)~図13(B)、図15(A)、図15(B)に示すように、例えばユーザ情報(位置情報)と実空間情報とに基づいて、仮想空間に基準点RPを設定し、基準点RPに基づいて、キャラクタのオブジェクトや配置オブジェクトを仮想空間に配置し、キャラクタや配置オブジェクトの画像を含む画像を表示部190に表示する。例えばHMD200の表示部190(表示領域ARV)にキャラクタや配置オブジェクトの画像を含む仮想空間画像を表示する。
以上のように本実施形態では、図4(A)、図4(B)で説明したようにユーザの周囲の実空間の認識処理を行うことで得られる実空間情報を取得する。またユーザの位置情報を含むユーザ情報を取得する。そして取得された実空間情報に基づいて実空間に対応する仮想空間を生成する。例えば図4(B)に示すようなポリゴンメッシュのオブジェクトが配置される仮想空間を生成する。そして図8(A)、図8(B)、図12(A)~図13(B)、図15(A)、図15(B)に示すように、例えばユーザ情報(位置情報)と実空間情報とに基づいて、仮想空間に基準点RPを設定し、基準点RPに基づいて、キャラクタのオブジェクトや配置オブジェクトを仮想空間に配置し、キャラクタや配置オブジェクトの画像を含む画像を表示部190に表示する。例えばHMD200の表示部190(表示領域ARV)にキャラクタや配置オブジェクトの画像を含む仮想空間画像を表示する。
そしてユーザに対応する仮想空間のユーザキャラクタ(広義にはユーザ移動体)の位置に基づき、ヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
例えば図17(A)。図17(B)では、実空間の認識処理(スキャン処理、マッピング処理)を行うことで取得された実空間情報に基づいて、実空間の背景物(柱、壁、ドア等)に対応する仮想空間の背景オブジェクトMRS(例えばメッシュポリゴンにより構成されるオブジェクト)が生成されている。また実空間情報等に基づいて基準点RPが設定される。実空間の背景物に対応する背景オブジェクトMRSを生成することで、実空間の背景物の対応する場所に基準点RPを設定できるようになる。そして、この基準点RPに基づいて、キャラクタCHが配置される。例えば基準点RPに基づき特定される出現ポイントからキャラクタCHを出現させる。
基準点RPは、実空間情報に基づき設定され、キャラクタ(CH)や配置オブジェクト(OB1~OB4)の配置位置を設定するためのポイント又は場所である。キャラクタや配置オブジェクトの配意位置(出現位置)そのものが基準点RPであってもよい。基準点RPは、実空間情報に基づき設定されるため、実空間の物体の位置や形状等を反映したものになる。また基準点RPを、ユーザの位置情報や方向情報を含むユーザ情報に基づき設定することで、例えばユーザの移動や向く方向や接近等を検出して基準点を設定し、キャラクタや配置オブジェクトを出現させることが可能になる。例えば基準点RPをMRにおける擬似的なマーカのようなものとして使用できるようになる。
また本実施形態では、実空間のユーザに対応するユーザキャラクタUSCの位置PSに基づき、ヒットボリュームHV(ヒットエリア)が設定される。例えば図17(A)、図17(B)では、ユーザキャラクタUSCの位置PSの前方側にヒットボリュームHVが設定される。そしてユーザが所与の入力を行った際に、ヒットボリュームHVとキャラクタCHとの位置関係が判断される。図9(A)~図11(B)を例にとれば、ユーザが手を叩くアクションを行った場合に、ユーザが所与の入力が行ったと判断される。そして、このように手を叩くアクションによる所与の入力が行われたタイミングでの、ヒットボリュームHVとキャラクタCHとの位置関係が判断される。
例えばヒットボリュームHVとキャラクタCHの位置関係が図17(A)のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合にはキャラクタCHの位置が、ヒットボリュームHV内にないため、ユーザが手を叩くことによる攻撃はキャラクタCHにヒットしなかったと判断される。
一方、ヒットボリュームHVとキャラクタCHの位置関係が図17(B)のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合には、キャラクタCHの位置がヒットボリュームHV内にあるため、ユーザが手を叩くことによる攻撃がキャラクタCHにヒットしたと判断する。そしてキャラクタCHに対する処理として、キャラクタCHの消滅処理や破壊処理などを行う。このようにすることで、図11(A)、図11(B)に示すように、ユーザの直ぐ近くに接近して来るキャラクタCHに対して、攻撃を加えて、消滅させたり破壊するなどの処理が可能になる。
なお図17(A)、図17(B)において、キャラクタCHの位置に基づき第2のヒットボリュームを設定してもよい。そしてユーザキャラクタUSCの位置PSに基づき設定されたヒットボリュームHVと、キャラクタCHの位置に基づき設定された第2のヒットボリュームとの交差判定処理を行うことで、ヒット判定処理を実現してもよい。
以上のように本実施形態では、実空間の認識処理に基づき取得された実空間情報により、実空間に対応する仮想空間が生成されて、基準点RPが設定される。これにより実空間に対応する位置に基準点RPを設定できるようになる。またユーザの位置情報を含むユーザ情報を用いて基準点RPを設定することで、例えばユーザに対応するユーザキャラクタが接近して来たときに、基準点RPを設定し、基準点RPによって特定される場所にキャラクタCHを配置して出現させることができる。そして本実施形態では、ユーザキャラクタUSCの位置に基づき設定されたヒットボリュームHVとキャラクタCHとの位置関係を判断して、キャラクタCHに対する処理を行っている。従って、基準点RPに基づき出現させた仮想的なキャラクタCHとユーザとの間のインタラクションを実現でき、例えばユーザの攻撃がヒットしたか否かなどを判断するヒット判定処理を実現できるようになる。従って、実空間に対して、対応する仮想空間を設定してキャラクタCHを配置し、ユーザの入力に基づくキャラクタCHとのインタラクションを実現できるようになり、実空間情報を利用したインタラクティブなゲームの実現が可能になる。即ち、実空間情報を有効活用してユーザとキャラクタとの好適なインタラクションを実現できるシミュレーションシステムの実現が可能になる。
また本実施形態では、ヒットボリュームHVとして、ユーザの部位又はユーザの所持物に設定されるヒットボリュームを用いることができる。
例えば図18(A)では、ユーザの部位である手HLに対してヒットボリュームHVが設定されている。例えばユーザの手HLを内包するようなヒットボリュームHVが設定される。そしてユーザが手HLを動かすと、それに連動してヒットボリュームHVも移動する。ユーザの手HLの動きは、ユーザが装着しているアームセンサSE(広義には検出部)を用いて検出できる。例えばアームセンサSEが内蔵する加速度センサや3軸ジャイロセンサなどを用いて手HLの動きを検出して、その手HLの動きに追従するようにヒットボリュームHVを移動させる。
また図18(B)では、ユーザの所持物BLに対してヒットボリュームHVが設定されている。例えばユーザの所持物BLを内包するようなヒットボリュームHVが設定される。そしてユーザが所持物BLを動かすと、それに連動してヒットボリュームHVも移動する。所持物BLの動きは、アームセンサSEなどを用いて検出し、所持物BLの動きに追従するようにヒットボリュームHVを移動させる。この場合に、アームセンサSEなどの動き検出センサを所持物BLに取り付けて、所持物BLの動きを検出してもよい。また図18(B)では所持物BLが大きな手の形状になっているが、所持物BLとしては種々の形状のものを採用できる。例えば剣、棒、斧又は銃のような形状の所持物BLであってもよい。
このようにユーザの部位又は所持物にヒットボリュームを設定すれば、実空間においてユーザが、その部位や所持物を動かすと、それに連動してヒットボリュームも移動するようになる。従って、ユーザの部位又は所持物の動きに連動して移動するヒットボリュームを用いてヒット判定処理等を行うことが可能になり、ユーザの仮想現実感の向上を図れるようになる。
また本実施形態では、ユーザの動きを検出する検出部162からの情報に基づいて、ユーザが所与の入力を行ったか否かを判断する。例えば図9(A)~図11(B)のように、ユーザが手を叩くなどのアクションにより所与の入力を行ったか否かを、検出部162を用いて検出する。例えば検出部162は図18(A)、図18(B)のアームセンサSEにより実現できる。具体的にはアームセンサSEに内蔵される加速度センサを用いて検出する。図18(C)はユーザが所与の入力を行った際の加速度センサの検出結果である。ユーザが手を叩くアクションを行うと、動いていた手が急加速で停止するため、加速度センサから図18(C)のA1に示すような検出結果(実際には負方向の加速度)が得られる。この検出結果に基づいて、ユーザが手を叩くアクションにより所与の入力を行ったと判断する。そして、所与の入力が行われたと判断されるタイミングでの、ヒットボリュームHVとキャラクタCHとの位置関係を判断すればよい。
このようにすれば、実空間でのユーザの実際の動きを検出して、ユーザが所与の入力を行ったか否かを判断し、ヒットボリューム等を用いたヒット判定処理等を実現できるようになる。これによりユーザは、実際に部位や所持物を動かすことで、キャラクタに対する攻撃等を行えるようになり、ユーザの仮想現実感を更に向上することが可能になる。
なおユーザが所与の入力を行ったか否かの検出処理は、このような加速度センサを用いた処理には限定されない。例えば加速度センサ以外のモーションセンサ(ジャイロセンサ等)を用いて、ユーザが入力を行った際の動きを検出したり、外部カメラなどの外部の装置を用いて、ユーザの部位や所持物の動きを検出して、ユーザが所与の入力を行ったか否かを検出してもよい。或いは、ゲームコントローラなどの操作部160を用いたユーザの操作入力を検出して、ユーザが所与の入力を行ったか否か検出してもよい。
また本実施形態では、ユーザに対応する仮想空間のユーザキャラクタと基準点との間に、ヒットボリュームを設定し、ユーザが所与の入力を行った際に、ヒットボリュームとキャラクタとの位置関係に応じて、キャラクタに対する処理を行う。
例えば図19(A)では、ユーザキャラクタUSCと基準点RPとの間に、ヒットボリュームHVが設定される。例えばユーザキャラクタUSCと基準点RPとを結ぶ線の中間ポイントにヒットボリュームを設定する。ユーザキャラクタUSCが基準点RPの方に視線を向けている場合に、例えばその視線の延長上にヒットボリュームHVを設定する。そしてユーザが所与の入力を行った際に、ヒットボリュームHVとキャラクタCHとの位置関係が判断される。例えば図9(A)~図11(B)のように、手を叩くアクションによる所与の入力が行われたタイミングでの、ヒットボリュームHVとキャラクタCHとの位置関係が判断される。
そしてヒットボリュームHVとキャラクタCHの位置関係が図19(A)のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合には、キャラクタCHの位置がヒットボリュームHV内にないため、ユーザが手を叩くことによる攻撃は、キャラクタCHにヒットしなかったと判断される。
一方、ヒットボリュームHVとキャラクタCHの位置関係が図19(B)のような位置関係であるときに、ユーザが手を叩くアクションを行ったとする。この場合には、キャラクタCHの位置がヒットボリュームHV内にあるため、ユーザが手を叩くことによる攻撃がキャラクタCHにヒットしたと判断する。そしてキャラクタCHに対する処理として、キャラクタCHの消滅処理や破壊処理などを行う。このようにすることで、図9(A)~図11に示すように、ユーザから距離が離れた位置にいるキャラクタCHに対して攻撃を加えて、消滅させたり破壊するなどの処理が可能になる。
なお図19(A)、図19(B)において、キャラクタCHの位置に基づき第2のヒットボリュームを設定し、ユーザキャラクタUSCと基準点RPの間に設定されたヒットボリュームHVと、キャラクタCHの位置に基づき設定された第2のヒットボリュームとの交差判定処理を行うことで、ヒット判定処理を実現してもよい。またキャラクタCHが図19(B)の位置からヒットボリュームHVの範囲を越えて、ユーザキャラクタUSCの方に接近して来た場合には、キャラクタCHの攻撃をユーザキャラクタUSCが受けたと判断してもよい。そしてユーザキャラクタUSCのステータスにダメージを与えたり、ユーザキャラクタUSCのヒットポイントを減少させたり、或いは攻撃を受けたことを表すエフェクトによる演出処理を行ってもよい。
図19(A)、図19(B)の手法によれば、基準点RPや基準点RPに基づき配置されるキャラクタCHの位置が、ユーザキャラクタUSCから遠くの位置にある場合にも、キャラクタCHに対するインタラクションが可能になる。即ち、基準点RPとユーザキャラクタUSCの間にヒットボリュームHVを設定することで、遠くの位置にいるキャラクタCHに対するヒット処理などが可能になり、MRにおけるユーザとキャラクタとの好適なインタラクションが可能になる。
また本実施形態では、ユーザキャラクタUSCと基準点RPとが第1の距離関係である場合には、ユーザキャラクタUSCの位置に基づきヒットボリュームHVを設定し、ユーザが所与の入力を行った際に、ヒットボリュームHVとキャラクタCHとの位置関係に応じて、キャラクタCHに対する処理を行う。
例えば図17(A)、図17(B)のように、ユーザキャラクタUSCと基準点RPの間の距離L1が近いという第1の距離関係にある場合には、ユーザキャラクタUSCの位置に基づきヒットボリュームHVを設定して、ヒット判定処理を行う。このようにすることで、ユーザキャラクタUSCから近い距離の場所でキャラクタCHを出現させた場合に、当該キャラクタCHに対してユーザキャラクタUSCの攻撃をヒットさせるなどのインタラクションを実現できるようになる。例えば図11(A)、図11(B)のように、ユーザの直ぐ近くにいるキャラクタCHを、ユーザの所持物BL、BRや手HL、HRで実際に叩くことで攻撃を加え、キャラクタCHを消滅させたり破壊するなどの処理が可能になる。即ち、実空間の物体である所持物BL、BRや手HL、HRを用いて、仮想空間のオブジェクトであるキャラクタCHを叩くようなMRの画像表現が可能になる。
なお、ユーザの手などの部位や所持物に対応する部位オブジェクトや所持物オブジェクトを、仮想空間に表示するようにしてもよい。例えばユーザキャラクタの一部として、部位オブジェクト又は所持物オブジェクトを表示する。そして例えばユーザが手を叩くなどのアクションを行う毎に、部位オブジェクト又は所持物オブジェクトのサイズを徐々に大きくしてもよい。こうすることで、多数の蚊等のキャラクタを発生させた場合(例えば図14でのイベントEV2)にも、これらの多数のキャラクタに対して、大きくなった手で攻撃するなどのゲーム演出が可能になる。
一方、ユーザキャラクタUSCと基準点RPとが第2の距離関係である場合には、ユーザキャラクタUSCと基準点RPとの間にヒットボリュームHVを設定し、ユーザが所与の入力を行った際に、ヒットボリュームHVとキャラクタCHとの位置関係に応じて、キャラクタCHに対する処理を行う。
例えば図19(A)、図19(B)のように、ユーザキャラクタUSCと基準点RPの間の距離L2が遠いという第2の距離関係にある場合には、ユーザキャラクタUSCと基準点RPとの間にヒットボリュームHVを設定して、ヒット判定処理を行う。このようにすれば、図9(A)~図10のようにユーザキャラクタUSCから遠い距離の場所でキャラクタCHを出現させた場合にも、当該キャラクタCHに対してユーザキャラクタUSCの攻撃をヒットさせるなどのインタラクションを実現できるようになる。例えば図9(A)~図10のように、遠い距離に位置するキャラクタCHに対して、ユーザの手を叩くアクションにより発生した攻撃のエフェクトAGをヒットさせて、キャラクタCHを消滅させたり破壊するなどの処理が可能になる。
また本実施形態では、キャラクタに対する処理として、キャラクタの消滅処理、キャラクタの破壊処理、キャラクタの表示態様の変更処理又はキャラクタについての報知処理を行う。
例えば図20(A)ではキャラクタCHに対する処理として、キャラクタCHの消滅処理、破壊処理又は表示態様の変更処理が行われている。例えば図17(B)、図19(B)のようにヒットボリュームHV内にキャラクタCHが位置している状態で、図9(A)~図11(B)のような手を叩くなどの入力がユーザにより行われた場合に、キャラクタCHの消滅処理、破壊処理又は表示態様の変更処理を行う。キャラクタCHの消滅処理は、キャラクタCHを仮想空間画像として非表示にする処理である。例えば、表示されるオブジェクトのリストからキャラクタCHを消去する。キャラクタCHの破壊処理は、例えばキャラクタCHのオブジェクトを、破壊された状態を表すオブジェクトに切り替えることなどにより実現できる。或いは破壊を表すような画像エフェクトの表示処理を、キャラクタCHの破壊処理として行ってもよい。キャラクタCHの表示態様の変更処理は、例えばキャラクタCHの色、輝度、半透明度又はテクスチャ等を変化させる処理である。例えばキャラクタCHがユーザからの攻撃を受けたことを表すような表示態様に変化させる。或いはキャラクタCHに対する処理として、図20(B)に示すような効果音等を用いた報知処理を行ってもよい。例えばキャラクタCHが攻撃を受けてやられたことを報知する効果音を出力する。この場合に、キャラクタCHの存在位置から効果音が聞こえてくるような3次元音響処理を行う。或いはキャラクタCHに対する処理として、振動デバイスを用いた振動による報知処理を行ってもよい。例えばキャラクタCHに攻撃がヒットしたと判断された場合に、ユーザが所持するゲームコントローラに内蔵される振動デバイスを振動させる。或いは図6のプレイフィールドFLや図14のプレイフィールドFLRに、振動デバイスや空気砲による体感装置を設け、この体感装置を用いて、キャラクタCHが攻撃を受けてやられたことを報知する処理を行ってもよい。
また例えばユーザの攻撃が失敗した場合に、攻撃の失敗を知らせるような演出処理や報知処理を行ってもよい。例えば攻撃の失敗を表すエフェクト画像を表示したり、効果音を出力する。例えば図17(B)、図19(B)のようにキャラクタCHがヒットボリュームHV内に位置するタイミングで、ユーザが手を叩く入力を行わなかった場合に、このような攻撃の失敗を知らせる演出処理や報知処理を行う。或いは図19(B)において、キャラクタCHがヒットボリュームHVの範囲を超えて、ユーザキャラクタUSCの方に接近して来た場合に、このような攻撃の失敗を知らせる演出処理や報知処理を行ってもよい。
また本実施形態では、ユーザキャラクタと基準点との距離に応じて、キャラクタの配置タイミングを決定する。
例えば図21(A)では、ユーザキャラクタUSCと基準点RPとの間の距離LAが長い。即ち基準点RPから遠い場所にユーザキャラクタUSCが位置している。この場合には、基準点RPに対応する位置にキャラクタCHを出現させない。一方、図21(B)では、ユーザキャラクタUSCと基準点RPとの間の距離LBが、図21(A)の距離LAに比べて短い。即ち基準点RPに近い場所にユーザキャラクタUSCが位置している。そしてユーザキャラクタUSCと基準点RPとが、このような位置関係(接近関係)になった場合に、基準点RPに対応する位置にキャラクタCHを配置して、キャラクタCHを出現させる。
このようにすれば、ユーザキャラクタUSCと基準点RPとの距離関係を反映させて、基準点RPに対応するキャラクタCHを出現させることが可能になる。これにより、基準点RPを、キャラクタCHを出現させる擬似的なARマーカのように用いることが可能になる。例えば本実施形態では実空間の認識処理が行われ、認識処理により取得された実空間情報に基づき基準点が設定される。具体的には図21(A)、図21(B)において、実空間の背景物に対応する背景オブジェクトMRSが生成されて仮想空間に配置され、この背景オブジェクトMRSに対して基準点RPが設定される。そしてユーザキャラクタUSCと基準点RPとの距離に応じて、キャラクタCHの配置タイミングが決定される。従って、あたかも実空間の背景物とユーザとの距離に応じて、キャラクタCHの配置タイミングが決定されるような処理を実現することができ、MRに好適なキャラクタCHの出現処理を実現できるようになる。
また本実施形態では、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、基準点の設定を行う。更に本実施形態では、実空間の環境情報を取得し、環境情報に応じて、基準点の設定を行う。即ち、種々の情報に基づいて基準点の設定を可変に変化させる。
図22に基準点の設定処理についてのフローチャートを示す。まず、実空間の明るさ情報や広さ情報などの環境情報を取得する(ステップS1)。実空間の明るさ情報や広さ情報は、例えば図6のプレイフィールドFLや図14のプレイフィールドFLRでの明るさ情報や広さ情報である。例えば明るさ情報は、プレイフィールドFL、FLRでの照明等による明るさ情報である。例えば照明が弱ければ、暗いと判断され、照明が強ければ、明るいと判断される。広さ情報は、プレイフィールドFL、FLRの広さの指標となる情報である。例えばプレイフィールドFL、FLRの広さや明るさに応じて、図4(A)、図4(B)で説明した実空間の認識処理の認識範囲や、認識の精度や信頼度等が変化する。
次にユーザの年齢層、体格、ゲームプレイ状況等のユーザの状況情報を取得する(ステップS2)。ユーザの年齢層は、例えばユーザが子供であるか大人であるかの情報である。或いはユーザが若者であるか老人であるかの情報であってもよい。体格は、例えばユーザの身長の高さなどの情報である。或いはユーザの体重の情報であってもよい。ゲームプレイ状況は、例えばユーザのゲームプレイの熟練度(初級者、中級者又は上級者)、ユーザの装備の状況、ユーザの過去のゲーム成績、ユーザのゲームプレイ回数、ユーザのゲームプレイ頻度、ユーザのゲームでの各種ステータス、或いはユーザのフレンドに関する状況などである。
次にユーザキャラクタのステータス、レベル、ゲームパラメータ等のユーザキャラクタの状況情報を取得する(ステップS3)。ユーザキャラクタのステータスは、ユーザキャラクタの攻撃力、防御力、耐久度又は装備などの状況である。ユーザキャラクタのレベルは、ゲームでのユーザキャラクタの経験値などのレベルを表すものである。ユーザキャラクタのゲームパラメータは、ゲーム処理の際に使用されるユーザキャラクタの各種のパラメータである。
次にキャラクタの状況情報、種類情報を取得する(ステップS4)。キャラクタの状況情報は、キャラクタのステータス、レベル、ゲームパラメータ等の情報である。キャラクタの種類情報は、キャラクタがどのような種類に属するかについての情報である。例えばキャラクタとして、蚊以外の虫のキャラクタを出現させたり、動物のキャラクタを出現させたり、モンスターのキャラクタを出現させる場合に、種類情報は、虫や動物やモンスターの種類を表す情報である。
次にゲーム状況情報を取得する(ステップS5)。ゲーム状況情報は、ゲームの進行状況、ゲームでのイベントの発生状況、ゲームの難易度、ゲームステージのクリア状況、或いはゲームのマップの状況などである。
そして、取得された実空間の環境情報、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に基づいて、基準点を設定する(ステップS6)。
例えば実空間の照明等の環境が暗いと、図4(A)、図4(B)の実空間の認識処理の認識範囲が狭まったり、認識の精度や信頼度が低下する。このため、環境が暗いと判断される場合には、ユーザキャラクタから近い位置に基準点を設定したり、基準点の設定間隔を狭める。例えばメインの基準点とユーザキャラクタとの間に、サブの基準点を設定する。或いは、実空間の認識処理によりリアルタイムに取得された実空間情報を用いるのではなく、過去の認識処理により取得されて実空間情報記憶部171に蓄積された実空間情報を用いて、基準点を設定する。
またユーザの年齢層や体格に応じて基準点の設定位置を変化させる。例えば子供のユーザや背の低いユーザであれば低い位置に基準点を設定する。一方、大人のユーザや背の高いユーザであれば、子供や背の低いユーザに比べて高い位置に基準点を設定する。或いは、ユーザが初級者であるか上級者であるか、或いはユーザのゲームのプレイ回数やプレイ頻度に応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばユーザが初級者であれば、より難易度が低くなるように基準点を設定し、上級者であれば、より難易度が高くなるように基準点を設定する。またゲームのプレイ回数が多かったり、プレイ頻度が高いユーザに対しては、特典として、ユーザのゲームプレイがより有利になるように基準点を設定する。
またユーザキャラクタの攻撃力、守備力、装備又は耐久力などのステータスや、レベル、或いは各種のゲームパラメータに応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばユーザキャラクタの能力が高いか低いか、或いはユーザが所定の装備をしているか否かに応じて、基準点の設定を変化させる。或いはキャラクタの状況情報や種類情報に応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばキャラクタの攻撃力、守備力、装備又は耐久力などのステータスに応じて基準点の設定を変化させる。或いは出現するキャラクタが第1の種類(例えば第1の種類の虫、動物、モンスター)である場合と第2の種類である場合とで、基準点の設定位置などを変化させる。
またゲーム状況に応じて、基準点の設定位置、設定数、設定間隔又は設定態様を変化させる。例えばゲームの進行状況やイベントの発生状況に応じて基準点の設定を変化させる。例えば図14において天井のオブジェクトOBCの崩壊イベントが発生した場合には、天井のオブジェクトOBCの破片の奥側に基準点が設定されるのは好ましくないため、破片の手前側に基準点を設定する。或いはゲームの難易度に応じて、基準点の設定位置、設定数又は設定間隔等を変化させる。例えば、ゲームの難易度が高くなるにつれて、ユーザのゲームのクリアが難しくなうように基準点の設定を変化させる。
以上のようにすることで、実空間の環境、ユーザの状況、ユーザキャラクタの状況、キャラクタの状況又は種類、或いはゲーム状況に応じた適切な基準点の設定が可能になる。
また本実施形態では、基準点の位置に応じて、ヒットボリュームを変化させる。例えば基準点の位置に応じて、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。
例えば図23では、ユーザキャラクタUSCの正面方向(視線方向)に位置する基準点RPに対して、ヒットボリュームHVが設定され、ユーザキャラクタUSCの左斜め方向に位置する基準点RP2に対して、ヒットボリュームHV2が設定される。そしてユーザキャラクタUSCの正面方向に設定されるヒットボリュームHVの方が、左斜め方向に設定されるヒットボリュームHV2よりも大きいサイズに設定される。このようにすれば、正面方向から襲ってきた蚊等のキャラクタに対する攻撃は容易になるが、左斜め方向等の正面方向以外の方向から襲ってきたキャラクタに対する攻撃は難しくなる。なお、逆に正面方向に設定されるヒットボリュームのサイズを小さくし、正面方向以外の方向に設定されるヒットボリュームのサイズを大きくするなどの変形実施も可能である。
また図24(A)では、基準点RPとユーザキャラクタUSCとの間の距離が遠く、この場合にはヒットボリュームHVが大きなサイズに設定される。一方、図24(B)では基準点RPとユーザキャラクタUSCとの間の距離が近く、この場合にはヒットボリュームHVが小さなサイズに設定される。例えば基準点RPとユーザキャラクタUSCとの距離に応じて、ヒットボリュームのサイズを変化させる。このようにすれば、図24(A)のように基準点RPがユーザキャラクタUSCから遠くの距離にあり、蚊等のキャラクタが遠くの場所で出現する場合には、ヒットボリュームHVが大きなサイズに設定されることで、遠くの場所に位置するキャラクタに対する攻撃を容易化できる。そしてユーザキャラクタUSCが基準点RPに近づくと、ヒットボリュームHVのサイズが小さくなり、通常のサイズに設定される。
このように基準点の位置に応じてヒットボリュームを変化させることで、例えばユーザキャラクタと基準点との位置関係等に応じた適切なヒットボリュームを設定することが可能になる。
また本実施形態では、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、ヒットボリュームを変化させる。
図25はヒットボリュームの設定処理についてのフローチャートである。まず、ユーザの年齢層、体格、ゲームプレイ状況等のユーザの状況情報を取得する(ステップS11)。次にユーザキャラクタのステータス、レベル、ゲームパラメータ等のユーザキャラクタの状況情報を取得する(ステップS12)。またキャラクタの状況情報、種類情報を取得する(ステップS13)。更にゲーム状況情報を取得する(ステップS14)。これらのユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報、種類情報、ゲーム状況情報は、前述した通りの情報である。
そして、ユーザの状況情報、ユーザキャラクタの状況情報、キャラクタの状況情報又は種類情報、或いはゲーム状況情報に基づいて、ヒットボリュームを変化させる(ステップS15)。例えばこれらの情報に基づいて、ヒットボリュームの大きさ、形状又は配置位置等を変化させる。
例えばユーザの年齢層や体格に応じてヒットボリュームを変化させる。例えば子供のユーザや背の低いユーザであれば低い位置にヒットボリュームを設定する。一方、大人のユーザや背の高いユーザであれば、子供や背の低いユーザに比べて高い位置にヒットボリュームを設定する。また、ユーザが初級者であるか上級者であるか、或いはユーザのゲームのプレイ回数やプレイ頻度に応じて、ヒットボリュームの大きさ、形状又は配置位置を変化させる。例えばユーザが初級者であれば、より難易度が低くなるようにヒットボリュームを設定し、上級者であれば、より難易度が高くなるようにヒットボリュームを設定する。またユーザのゲームのプレイ回数が多かったり、プレイ頻度が高いユーザに対しては、特典として、ユーザのゲームプレイがより有利になるようにヒットボリュームを設定する。
またユーザキャラクタの攻撃力、守備力、装備又は耐久力などのステータスや、レベル、或いは各種のゲームパラメータに応じて、ヒットボリュームの大きさ、形状又は配置位置を変化させる。例えばユーザキャラクタの能力が高いか低いか、或いはユーザが所定の装備をしているか否かに応じて、ヒットボリュームを変化させる。或いはキャラクタの状況情報や種類情報に応じて、ヒットボリュームを変化させる。例えばキャラクタの攻撃力、守備力、装備又は耐久力などのステータスに応じて、ヒットボリュームを変化させる。或いは出現するキャラクタが第1の種類である場合と第2の種類である場合とで、ヒットボリュームの大きさ、形状又は配置位置を変化させる。
またゲーム状況に応じて、ヒットボリュームの大きさ、形状又は配置位置を変化させる。例えばゲームにおいて所定のイベントが発生したかに応じてヒットボリュームを変化させる。或いはゲームの難易度に応じてヒットボリュームを変化させる。例えば、ゲームの難易度が高くなるにつれて、ユーザのゲームのクリアが難しくなうようにヒットボリュームの大きさ、形状又は配置位置を変化させる。
以上のようにすることで、ユーザの状況、ユーザキャラクタの状況、キャラクタの状況又は種類、或いはゲーム状況に応じた適切なヒットボリュームの設定が可能になる。
4.詳細な処理
次に本実施形態の詳細な処理例について図26のフローチャートを用いて説明する。
次に本実施形態の詳細な処理例について図26のフローチャートを用いて説明する。
まずユーザの周囲の実空間の認識処理を行って、実空間情報を取得する(ステップS21)。即ち図4(A)、図4(B)で説明したような実空間のスキャン処理を行って、取得された実空間情報を図1の実空間情報記憶部171に蓄積して行く。またユーザの位置情報を含むユーザ情報を取得する(ステップS22)。例えば図2、図3で説明したHMD200のトラッキング処理等により、ユーザの位置情報や、ユーザの方向情報、姿勢情報などを含むユーザ情報を取得する。
次に、取得された実空間情報に基づいて、実空間に対応する仮想空間を生成する(ステップS23)。例えば図4(B)に示すような実空間の物体(机、壁等)に対応する仮想的なオブジェクトを生成して、仮想空間に配置設定する。そしてユーザ情報と実空間情報に基づき、基準点を設定し、基準点に基づいてキャラクタのオブジェクトを仮想空間に配置する(ステップS24)。例えば図7(B)に示すように基準点RPを設定し、図8(A)、図8(B)に示すように、基準点RPにより設定される位置にキャラクタCHを配置して出現させる。
次にユーザキャラクタの位置に基づきヒットボリュームを設定、或いはユーザキャラクタと基準点との間にヒットボリュームを設定する(ステップS25)。例えば図17(A)に示すように、ユーザキャラクタUSCの位置PSに基づいてヒットボリュームHVを設定する。或いは図19(A)に示すように、ユーザキャラクタUSCと基準点RPとの間にヒットボリュームHVを設定する。そしてユーザが所与の入力を行ったか否かを判断する(ステップS26)。例えば図9(A)~図11(B)で説明したような手を叩くアクションによる入力を行ったか否かを判断する。そしてヒットボリュームとキャラクタとの位置関係に応じてキャラクタに対する処理を実行する(ステップS27)。例えば図17(A)、図17(B)、図19(A)、図19(B)で説明したように、ヒットボリュームHV内にキャラクタCHが位置すると判断された場合や、ヒットボリュームHVとキャラクタCHに設定された第2のヒットボリュームとが交差したと判断された場合に、図20(A)、図20(B)で説明したようなキャラクタCHの消滅処理、破壊処理、表示態様変更処理又は報知処理等を実行する。
なお、上記のように本実施形態について詳細に説明したが、本開示の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(ユーザ移動体、検出部等)と共に記載された用語(ユーザキャラクタ、アームセンサ等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また実空間情報やユーザ情報の取得処理、仮想空間の生成処理、基準点の設定処理、キャラクタの配置処理、ヒットボリュームの設定処理、位置関係の判断処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本開示の範囲に含まれる。また本実施形態は種々のゲームに適用できる。また本実施形態は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
RP、RP2 基準点、CH、CH1~CH3 キャラクタ、
OB1~OB4 配置オブジェクト、HV、HV2 ヒットボリューム、
US、US1、US2 ユーザ、USC ユーザキャラクタ、PS 位置、
MRS 背景オブジェクト、DK 机、WL 壁、ARV 表示領域、
HL、HR 手、BL、BR 所持物、SE アームセンサ、
FL、FLR プレイフィールド、GD、GDA、GD1~GD3 ガイド、
PS ポスター、IMA 画像、PIL 柱、RD1、RD2 ライド筐体、
AG 攻撃のエフェクト、HE1~HE3 穴、
CS コース、OBC オブジェクト、
100 処理部、102 情報取得部、104 仮想空間生成部、
106 オブジェクト処理部、108 基準点設定部、109 ヒット処理部、
107 移動体処理部、112 仮想カメラ制御部、114 ゲーム処理部、
120 表示処理部、130 音処理部、170 記憶部、171 実空間情報記憶部、172 オブジェクト情報記憶部、178 描画バッファ、
180 情報記憶媒体、192 音出力部、194 I/F部、
195 携帯型情報記憶媒体、196 通信部、
200 HMD(頭部装着型表示装置)、216 RGBカメラ、
217 デプスカメラ、218、219 環境認識カメラ、
240 テンプル部、242 ゴーグル部、243 表示装置、
244 ホログラフィック光学素子、246 RGBカメラ、
247 デプスカメラ、248、249 環境認識カメラ、
OB1~OB4 配置オブジェクト、HV、HV2 ヒットボリューム、
US、US1、US2 ユーザ、USC ユーザキャラクタ、PS 位置、
MRS 背景オブジェクト、DK 机、WL 壁、ARV 表示領域、
HL、HR 手、BL、BR 所持物、SE アームセンサ、
FL、FLR プレイフィールド、GD、GDA、GD1~GD3 ガイド、
PS ポスター、IMA 画像、PIL 柱、RD1、RD2 ライド筐体、
AG 攻撃のエフェクト、HE1~HE3 穴、
CS コース、OBC オブジェクト、
100 処理部、102 情報取得部、104 仮想空間生成部、
106 オブジェクト処理部、108 基準点設定部、109 ヒット処理部、
107 移動体処理部、112 仮想カメラ制御部、114 ゲーム処理部、
120 表示処理部、130 音処理部、170 記憶部、171 実空間情報記憶部、172 オブジェクト情報記憶部、178 描画バッファ、
180 情報記憶媒体、192 音出力部、194 I/F部、
195 携帯型情報記憶媒体、196 通信部、
200 HMD(頭部装着型表示装置)、216 RGBカメラ、
217 デプスカメラ、218、219 環境認識カメラ、
240 テンプル部、242 ゴーグル部、243 表示装置、
244 ホログラフィック光学素子、246 RGBカメラ、
247 デプスカメラ、248、249 環境認識カメラ、
Claims (15)
- ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、
前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、
を含み、
前記オブジェクト処理部は、
前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするシミュレーションシステム。 - 請求項1において、
前記ヒットボリュームは、前記ユーザの部位又は前記ユーザの所持物に設定されるヒットボリュームであることを特徴とするシミュレーションシステム。 - 請求項1又は2において、
前記オブジェクト処理部は、
前記ユーザ移動体と前記基準点とが第1の距離関係である場合には、前記ユーザ移動体の位置に基づき前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行い、
前記ユーザ移動体と前記基準点とが第2の距離関係である場合には、前記ユーザ移動体と前記基準点との間に前記ヒットボリュームを設定し、前記ユーザが前記所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするシミュレーションシステム。 - ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得部と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成部と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理部と、
前記キャラクタの画像を含む画像を表示部に表示する処理を行う表示処理部と、
を含み、
前記オブジェクト処理部は、
前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とするシミュレーションシステム。 - 請求項1乃至4のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザの動きを検出する検出部からの情報に基づいて、前記ユーザが前記所与の入力を行ったか否かを判断することを特徴とするシミュレーションシステム。 - 請求項1乃至5のいずれかにおいて、
前記オブジェクト処理部は、
前記キャラクタに対する処理として、前記キャラクタの消滅処理、前記キャラクタの破壊処理、前記キャラクタの表示態様の変更処理又は前記キャラクタについての報知処理を行うことを特徴とするシミュレーションシステム。 - 請求項1乃至6のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザ移動体と前記基準点との距離に応じて、前記キャラクタの配置タイミングを決定することを特徴とするシミュレーションシステム。 - 請求項1乃至7のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記基準点の設定を行うことを特徴とするシミュレーションシステム。 - 請求項1乃至8のいずれかにおいて、
前記情報取得部は、
前記実空間の環境情報を取得し、
前記オブジェクト処理部は、
前記環境情報に応じて、前記基準点の設定を行うことを特徴とするシミュレーションシステム。 - 請求項1乃至9のいずれかにおいて、
前記オブジェクト処理部は、
前記基準点の位置に応じて、前記ヒットボリュームを変化させることを特徴とするシミュレーションシステム。 - 請求項1乃至10のいずれかにおいて、
前記オブジェクト処理部は、
前記ユーザの状況情報、前記ユーザ移動体の状況情報、前記キャラクタの状況情報又は種類情報、或いはゲーム状況情報に応じて、前記ヒットボリュームを変化させることを特徴とするシミュレーションシステム。 - ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得処理と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成処理と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理と、
前記キャラクタの画像を含む画像を表示部に表示する表示処理と、
を行い、
前記オブジェクト処理において、
前記ユーザに対応する前記仮想空間のユーザ移動体の位置に基づきヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とする処理方法。 - ユーザの周囲の実空間の認識処理を行うことで得られる実空間情報と、前記ユーザの位置情報を含むユーザ情報を取得する情報取得処理と、
前記実空間情報に基づいて、前記実空間に対応する仮想空間を生成する仮想空間生成処理と、
前記ユーザ情報と前記実空間情報とに基づいて、前記仮想空間に基準点を設定し、前記基準点に基づいて、キャラクタのオブジェクトを前記仮想空間に配置するオブジェクト処理と、
前記キャラクタの画像を含む画像を表示部に表示する表示処理と、
を行い、
前記オブジェクト処理において、
前記ユーザに対応する前記仮想空間のユーザ移動体と前記基準点との間に、ヒットボリュームを設定し、前記ユーザが所与の入力を行った際に、前記ヒットボリュームと前記キャラクタとの位置関係に応じて、前記キャラクタに対する処理を行うことを特徴とする処理方法。 - コンピュータ読み取り可能な情報記憶媒体であって、請求項12に記載の処理方法をコンピュータに実行させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
- コンピュータ読み取り可能な情報記憶媒体であって、請求項13に記載の処理方法をコンピュータに実行させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19750697.5A EP3767594A4 (en) | 2018-02-08 | 2019-01-24 | SIMULATION SYSTEM, PROCESSING METHODS AND INFORMATION STORAGE MEDIUM |
US16/987,480 US11738270B2 (en) | 2018-02-08 | 2020-08-07 | Simulation system, processing method, and information storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-020888 | 2018-02-08 | ||
JP2018020888A JP7041888B2 (ja) | 2018-02-08 | 2018-02-08 | シミュレーションシステム及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/987,480 Continuation US11738270B2 (en) | 2018-02-08 | 2020-08-07 | Simulation system, processing method, and information storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019155889A1 true WO2019155889A1 (ja) | 2019-08-15 |
Family
ID=67549097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/002173 WO2019155889A1 (ja) | 2018-02-08 | 2019-01-24 | シミュレーションシステム、処理方法及び情報記憶媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11738270B2 (ja) |
EP (1) | EP3767594A4 (ja) |
JP (1) | JP7041888B2 (ja) |
WO (1) | WO2019155889A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019197499A (ja) * | 2018-05-11 | 2019-11-14 | 株式会社スクウェア・エニックス | プログラム、記録媒体、拡張現実感提示装置及び拡張現実感提示方法 |
JP2022505002A (ja) * | 2019-10-15 | 2022-01-14 | ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド | 拡張現実データの表示方法、装置、機器、記憶媒体及びプログラム |
CN110968194A (zh) * | 2019-11-28 | 2020-04-07 | 北京市商汤科技开发有限公司 | 交互对象的驱动方法、装置、设备以及存储介质 |
JP2021182374A (ja) * | 2020-05-19 | 2021-11-25 | パナソニックIpマネジメント株式会社 | コンテンツ生成方法、コンテンツ投影方法、プログラム及びコンテンツ生成システム |
JP2022069007A (ja) * | 2020-10-23 | 2022-05-11 | 株式会社アフェクション | 情報処理システム、情報処理方法および情報処理プログラム |
US11190748B1 (en) * | 2020-11-20 | 2021-11-30 | Rockwell Collins, Inc. | Dynamic parallax correction for visual sensor fusion |
JP7405734B2 (ja) | 2020-12-21 | 2023-12-26 | トヨタ自動車株式会社 | 表示システム及びサーバ |
JP6967821B1 (ja) * | 2021-03-17 | 2021-11-17 | 株式会社オプティム | 座標変換コンピュータ、座標算出方法、およびプログラム |
US11953941B2 (en) * | 2021-10-25 | 2024-04-09 | Universal City Studios Llc | Interactive device of an attraction system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005157611A (ja) | 2003-11-25 | 2005-06-16 | Canon Inc | 画像処理装置および方法 |
JP2009195707A (ja) * | 2008-02-21 | 2009-09-03 | Palo Alto Research Center Inc | 位置認識混合現実感ゲームプラットフォーム |
JP2011210019A (ja) * | 2010-03-30 | 2011-10-20 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成装置 |
JP2012101026A (ja) * | 2010-10-13 | 2012-05-31 | Namco Bandai Games Inc | プログラム、情報記憶媒体、ゲーム装置及びサーバシステム |
JP2014515130A (ja) * | 2011-03-10 | 2014-06-26 | マイクロソフト コーポレーション | 写実的に表されたビューのテーマベースの拡張 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012058968A (ja) * | 2010-09-08 | 2012-03-22 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成システム |
US9292085B2 (en) * | 2012-06-29 | 2016-03-22 | Microsoft Technology Licensing, Llc | Configuring an interaction zone within an augmented reality environment |
-
2018
- 2018-02-08 JP JP2018020888A patent/JP7041888B2/ja active Active
-
2019
- 2019-01-24 EP EP19750697.5A patent/EP3767594A4/en active Pending
- 2019-01-24 WO PCT/JP2019/002173 patent/WO2019155889A1/ja unknown
-
2020
- 2020-08-07 US US16/987,480 patent/US11738270B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005157611A (ja) | 2003-11-25 | 2005-06-16 | Canon Inc | 画像処理装置および方法 |
JP2009195707A (ja) * | 2008-02-21 | 2009-09-03 | Palo Alto Research Center Inc | 位置認識混合現実感ゲームプラットフォーム |
JP2011210019A (ja) * | 2010-03-30 | 2011-10-20 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成装置 |
JP2012101026A (ja) * | 2010-10-13 | 2012-05-31 | Namco Bandai Games Inc | プログラム、情報記憶媒体、ゲーム装置及びサーバシステム |
JP2014515130A (ja) * | 2011-03-10 | 2014-06-26 | マイクロソフト コーポレーション | 写実的に表されたビューのテーマベースの拡張 |
Also Published As
Publication number | Publication date |
---|---|
JP7041888B2 (ja) | 2022-03-25 |
US11738270B2 (en) | 2023-08-29 |
EP3767594A4 (en) | 2021-12-22 |
JP2019139425A (ja) | 2019-08-22 |
US20200368625A1 (en) | 2020-11-26 |
EP3767594A1 (en) | 2021-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019155889A1 (ja) | シミュレーションシステム、処理方法及び情報記憶媒体 | |
US11865453B2 (en) | Simulation system, process method, and information storage medium | |
CN109690633B (zh) | 模拟***、处理方法以及信息存储介质 | |
JP6306442B2 (ja) | プログラム及びゲームシステム | |
JP6754678B2 (ja) | シミュレーションシステム及びプログラム | |
JP6727807B2 (ja) | ゲーム装置及びプログラム | |
JP7144796B2 (ja) | シミュレーションシステム及びプログラム | |
WO2018124280A1 (ja) | シミュレーションシステム、画像処理方法及び情報記憶媒体 | |
US10183220B2 (en) | Image generation device and image generation method | |
JP6298130B2 (ja) | シミュレーションシステム及びプログラム | |
JP2019175323A (ja) | シミュレーションシステム及びプログラム | |
JP2019152899A (ja) | シミュレーションシステム及びプログラム | |
JP6622832B2 (ja) | プログラム及びゲームシステム | |
JP6794390B2 (ja) | シミュレーションシステム及びプログラム | |
JP7104539B2 (ja) | シミュレーションシステム及びプログラム | |
JP6419268B1 (ja) | 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム | |
JP5479503B2 (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
JP6918189B2 (ja) | シミュレーションシステム及びプログラム | |
JP2018171309A (ja) | シミュレーションシステム及びプログラム | |
JP2009066124A (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: 19750697 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019750697 Country of ref document: EP Effective date: 20200908 |
|
ENP | Entry into the national phase |
Ref document number: 2019750697 Country of ref document: EP Effective date: 20200908 |