WO2016079828A1 - User interface system for hit operation, operation signal analyzing method, and program - Google Patents
User interface system for hit operation, operation signal analyzing method, and program Download PDFInfo
- Publication number
- WO2016079828A1 WO2016079828A1 PCT/JP2014/080665 JP2014080665W WO2016079828A1 WO 2016079828 A1 WO2016079828 A1 WO 2016079828A1 JP 2014080665 W JP2014080665 W JP 2014080665W WO 2016079828 A1 WO2016079828 A1 WO 2016079828A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- controller
- angular velocity
- hit
- user
- batting
- 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/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- 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
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- 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
Definitions
- the present invention relates to a user interface system for batting operation that specifies the timing of batting in a sports game such as boxing, tennis, squash, table tennis, etc., and a method and program for analyzing information such as operation signals input from the controller About.
- a sport action game such as a boxing game, for example.
- various actions related to the action of the player object such as the timing at which the player object punches, the punch type, and the punching power. Enter the condition.
- the input of these conditions is performed by an input interface such as a controller of a game machine or a touch panel through a graphical user interface (GUI: Graphical User Interface) displayed on the screen (see, for example, Patent Document 1). .
- GUI Graphical User Interface
- Patent Document 1 The technique disclosed in Patent Document 1 is to advance a boxing game by moving an object in the screen in accordance with the position of the finger touching the touch screen and the pressure of the finger.
- the game device disclosed in Patent Document 1 detects the punch timing by tapping or swiping the touch screen, it is far from the actual sports operation. As a result, there was a problem that intuitive operability was lost. The same applies to a game device that is operated by a user pressing a button on the controller.
- Patent Document 2 detects three-axis accelerations in the front-rear (Y-axis), left-right (X-axis), and vertical (Z-axis) directions, respectively, in a glove unit that functions as a controller of a game device.
- An acceleration sensor is provided, and the type of punch fed out by the user is identified by analyzing the output waveform output from the acceleration sensor.
- the operation of the controller operator can be traced by the player object in the screen, and intuitive operability can be experienced.
- Patent Document 2 since the technique disclosed in Patent Document 2 is configured to operate the user's left and right hands with separate controllers, two controllers having acceleration sensors are required until the game is introduced. There is a problem that the cost is expensive. In addition, the technique disclosed in Patent Document 2 uses a glove-type input unit as a controller, and is designed to be used only for a boxing game. Its design and functions are specialized. There was a problem that it could not be used and its versatility was low.
- the present invention has been made in view of the above points. For example, in a game where a user needs to input a batting operation, such as a boxing game, intuitive operability is possible, and it is inexpensive and versatile. It is an object of the present invention to provide a user interface system, method, and program that can be used in a certain device.
- the present invention includes a user interface system as described above, that is, a controller and an arithmetic device that processes information input from the controller, and an operation in which the arithmetic processing device or software executed by the arithmetic processing device is input from the controller.
- a user interface system having a hit detection unit that is a means for determining that a user has input a hit operation based on information such as a signal, and in order to solve the above problem, the controller includes an angular velocity A sensor and a main body that can be operated with both hands, and the hit detection unit uses a series of values of the angular velocity of the controller that is continuously detected by the angular velocity sensor.
- another invention is an operation signal analysis method in a user interface system having a batting detection step of determining that there has been a batting operation by a user based on information such as an operation signal input from a controller, (1)
- the controller has an angular velocity sensor and a main body that the user can operate with both hands, (2)
- the hit detection step performs a hit operation in which the user holds the controller with both hands and pushes out either the left or right hand using a series of values of the controller's angular speed continuously detected by the angular speed sensor.
- a batting detection method for detecting the characteristics of the batting operation related to the rotational movement of the controller that can occur in the (3) By using a hit detection method, a function for determining that a user has input a hit operation is realized.
- the user holds the single controller main body with both hands, and inputs a striking operation by pushing one hand forward as if the user himself performed a striking motion.
- the angular velocity sensor is provided in the controller, and the movement of the user's hand having the controller is detected by the angular velocity sensor, for example, a game in which a left and right fist is hit such as a boxing game
- the user can operate the object intuitively, and the user can obtain a better game experience.
- the hit detection unit can have a function of determining whether the hitting operation is performed by the user's right hand or the left hand by using the angular velocity of the controller detected by the angular velocity sensor. Become. In this case, since the left and right of the batting operation can be distinguished using the direction of the angular velocity detected by the angular velocity sensor, it is sufficient to have a single control device, for example, widely used general-purpose devices such as smartphones and tablet terminals. A reliable operation device can be used, and the overall cost can be reduced.
- the angular velocity value around the predetermined axis that can be regarded as the natural rotation axis of the controller when the hit operation is performed or the unit time of the angular velocity value, which is detected by the angular velocity sensor Per minute, or a minute time predicted by using a series of angular velocity values (about 0.01 to 0.05 seconds) ahead angular velocity values, or values obtained by combining these values
- a method of comparing with a threshold value can be used.
- the threshold value may be a predetermined value, but may be changed depending on the game situation, or may be changed according to user settings or a user environment.
- a function for causing the object to be operated to perform a preliminary motion related to the striking motion in conjunction with a rotation angle around a predetermined axis of the controller calculated based on information input from the controller, or a preliminary motion for the object It is preferable to have a function of transmitting a control signal for executing the above.
- the rotation based on the preliminary operation is detected, and the preliminary operation (e.g., swinging up the arm before punching) is performed on the object on the screen in advance. By doing so, the operational feeling of the game can be improved.
- the object since the object is started with the punch preliminary operation after simply detecting the hitting operation, there is a delay between the timing intended by the user and the timing at which the object actually punches.
- the user pulls the hand holding the controller in the opposite direction to the batting operation before the batting operation, and the object is punched in conjunction with the rotation angle of the game device detected by the angular velocity sensor.
- the object By performing a preliminary motion (twist up and swinging up the arm), the object can start a preliminary motion before the batting operation is detected, and the object actually punches after the batting operation is detected. Can be shortened. Thereby, the delay of the timing which an object punches can be shortened, and a better game experience can be given to the user.
- the hit detection unit detects the hitting operation using the angular velocity detected by the angular velocity sensor or the change amount per unit time of the angular velocity, but the change amount per unit time of the detected angular velocity or angular velocity is Since it is difficult to determine whether the operation is a hitting operation or a preliminary operation, it is preferable to use an acceleration sensor in addition to the angular velocity sensor. That is, in the above invention, the controller further includes an acceleration sensor, and the impact detection unit uses the acceleration detected by the acceleration sensor, so that the controller is pushed forward when the controller makes a rotational motion. It is determined whether or not it is pulled back, and if it is determined that the controller is pulled back, the rotation motion of the controller is assumed to be due to the reaction after the preliminary operation or the batting operation, and the detection of the batting operation is suppressed.
- the preliminary operation is completed without using the acceleration sensor. Until then, it can be determined that the rotation of the control device is due to the preliminary operation. However, in a boxing game, such a condition cannot be added because there is a batting operation like a jab without a preliminary operation.
- the acceleration sensor it is possible to distinguish the batting operation and the reaction after the batting operation to some extent, but in order to more reliably distinguish the batting operation unit, the rotation of the controller by the user's batting operation is performed.
- the rotation of the controller by the user's batting operation is performed.
- the hitting detection unit in order to accurately detect the input of the continuous hitting operation by the user, includes at least two hitting detection methods, one of which detects the characteristics of the moment when the hitting operation is started. By using a method and detecting the feature during the hitting operation, the other hitting operation can be detected.
- one is a hit detection method 1 and the other is a hit detection method 2.
- the batting detection method 1 detects that the batting operation has been input with emphasis on the temporal change of angular velocity, that is, angular acceleration.
- the hit detection method 1 can detect the moment when the user starts to rotate the control device for the hit operation, and the response speed is improved.
- the angular acceleration increases not only at the moment when the control device starts to rotate, but also at the moment when the rotation stops, the moment when the control device returns to the original direction after stopping the rotation, Since it becomes large even at the moment of stopping, it is necessary to prevent the hitting operation from being erroneously detected at these moments.
- the angular acceleration at the moment when the rotation stops can be distinguished by whether the angular velocity and the direction are the same.
- the angular acceleration due to the reaction that stopped rotating detects the moment when the rotation stops and temporarily increases the threshold value based on the angular acceleration at that time, so that the angular acceleration caused by the reaction and the batting operation Differentiate angular acceleration due to.
- the hit detection method 2 detects the input of the hit operation with an emphasis on the angular velocity. Since a certain amount of time is required until the magnitude of the angular velocity reaches a certain level or more after the user starts rotating the control device for inputting the batting operation, the batting detection method 2 starts the batting operation like the batting detection method 1. It cannot be detected instantaneously. However, the value of the angular velocity remains large for a relatively long time when the user performs a hitting operation. Therefore, the hit detection method 2 ignores the input of the hit operation detected within a very short period from the moment when the rotational motion of the controller by the hit operation stops, and erroneously detects the reaction after the hit operation as the hit operation. Even if this is prevented, a continuous hitting operation such as a combination punch can be detected.
- the controller further includes an input unit arranged in the controller body, and the hit detection unit has a function of changing the type or strength of the hit according to the presence or type of the input signal to the input unit.
- the hit detection unit has a function of changing the type or strength of the hit according to the presence or type of the input signal to the input unit.
- the input of the striking operation by the angular velocity sensor is intuitive, unlike the touch, swipe, or controller button input, it is not suitable for inputting the type of striking operation separately.
- a detection means different from the angular velocity detection is prepared in the controller and is used, it is possible to achieve both an intuitive batting operation input by the angular velocity sensor and an operation for changing the striking type or strength.
- these user interface system and operation signal analysis method can be realized by executing the game program of the present invention described in a predetermined language on a computer. That is, an operation signal analysis program in a user interface system having a batting detection step for determining that a batting operation is input by a user based on information such as an operation signal input from a controller, (1)
- the controller has an angular velocity sensor and a main body that the user can operate with both hands, (2)
- the hit detection step performs a hit operation in which the user holds the controller with both hands and pushes out either the left or right hand using a series of values of the controller's angular speed continuously detected by the angular speed sensor.
- a hit detection method By using a hit detection method, a function for determining that a user has input a hit operation is realized.
- the above-described user interface system and operation signal analysis method can be realized in various information processing apparatuses without requiring a special processing device. . That is, by installing this operation signal analysis program on a general-purpose computer or IC chip and executing it on the CPU, a user interface system having the above-described functions can be easily constructed.
- This program can be distributed through a communication line, for example, and can be transferred as a package application that operates on a stand-alone computer.
- Such an operation signal analysis program can be recorded on a computer-readable recording medium, and the above-described system and method can be implemented using a general-purpose computer or a dedicated computer. The program can be easily stored, transported and installed.
- a batting operation that specifies the timing of batting is input, such as a boxing game, and the batting operation by the user is recognized based on the angular velocity sensor in a game that advances the game.
- a user interface system capable of intuitive operation can be realized with an inexpensive and versatile device.
- FIG. 1 is a perspective view showing a game apparatus 1 constituting a user interface system for inputting a batting operation by a user according to the present embodiment.
- a case where boxing game software is executed on the game apparatus 1 is illustrated.
- the case where the present invention is applied to boxing game software will be described as an example, but the present invention is not limited to this, for example, sports action games such as tennis, squash, table tennis, etc.
- the present invention can also be applied to game software for executing game software for executing a game by inputting a batting operation for designating the timing of batting on an object such as a player object placed in a virtual space.
- game software for executing game software for executing a game by inputting a batting operation for designating the timing of batting on an object such as a player object placed in a virtual space.
- it can be used to control a driving device such as a robot toy in the real space, and further, the object to be operated does not necessarily exist in the real space or the virtual space.
- the present invention can also be applied to software that performs a simulation that a virtual object performs a hitting operation and outputs only the calculation result. For example, music game software that makes a sound as if a virtual player object struck a drum by a user's hitting operation.
- the game apparatus 1 is an arithmetic processing apparatus including a CPU, and can be realized by a portable information processing terminal or a dedicated apparatus specialized in function, and can be implemented by a mobile computer or a PDA (Personal Digital Assistance) and mobile phone.
- the game apparatus 1 has a communication function and can access a server through a communication network, and the game program according to the present invention can be downloaded through the server.
- a communication method of the game apparatus for example, 4G method, LTE method, 3G method, FDMA method, TDMA method, CDMA method, W-CDMA, PHS (Personal Handyphone System) method, Wi-Fi (registered trademark) And a wireless LAN system such as Bluetooth (registered trademark).
- the game apparatus 1 has a rectangular control device main body 100, and the main body 100 is provided with a liquid crystal display 165 that is a display device.
- the liquid crystal display (LCD) 165 includes: The state of the object is displayed in the screen, and the game is progressed by operating the displayed object.
- the game apparatus 1 includes a CPU 200 in the control apparatus main body 100, and also has a function as an arithmetic processing apparatus.
- the game apparatus 1 itself has a function as a controller.
- the control device main body 100 of the game apparatus 1 includes a gyro sensor (angular velocity sensor) 164 therein, and can detect the angular velocity of the game apparatus 1 in the three-axis directions.
- the angular velocity is the speed of rotation when the object makes a rotational motion, which is represented by a rotation angle per unit time.
- the user holds the game apparatus main body horizontally with both hands, and inputs a batting operation by pushing one hand forward as if punching.
- the angular acceleration and rotation angle acting on the control device main body 100 are calculated from the angular velocity continuously detected, and the object is operated according to those values. .
- control device main body 100 of the game apparatus 1 includes an acceleration sensor 169 inside, and can detect acceleration applied to the game apparatus 1 from the outside.
- the detected acceleration is used to determine whether the rotational motion of the game apparatus 1 by the user operation is a preliminary operation or a batting operation.
- the display device, the arithmetic processing device, and the controller are integrated as in the present embodiment. Rather, it is preferable that the controller and the display device are separate, but this embodiment
- the present invention can be implemented by widely used devices such as smartphones and tablet terminals.
- the longitudinal direction of the game apparatus 1 is the X axis
- the direction from the left hand to the right hand when the user holds the game apparatus 1 with both hands is the positive direction of the X axis.
- the user holds the game apparatus 1 with both hands and performs a striking operation in which one of the left and right hands is pushed forward, in parallel with the natural rotation axis, perpendicular to the X axis and on the surface of the LCD 165 of the game apparatus 1
- the parallel vertical direction is the Y axis
- the direction from the bottom to the top is the positive direction of the Y axis.
- a direction perpendicular to the X axis and the Y axis and perpendicular to the surface of the LCD 165 is defined as a Z axis, and a direction from the game apparatus 1 toward the user is defined as a positive direction of the Z axis.
- the above-described coordinates (X axis, Y axis, Z axis) for describing the orientation and angular velocity of the game apparatus 1 are used only for explaining the contents of the present embodiment. It may be different from the coordinate system it has.
- the game apparatus 1 includes a touch panel 300 as an input device for an operation signal for operating the object.
- the touch panel 300 is an input device that inputs an operation signal by a touch operation using a user's fingertip, pen, or the like, and an LCD 165 that is a display unit that displays a graphic and a touch sensor 168 that receives an operation signal by the touch operation are superimposed. Configured. For this reason, the position where the touch operation is detected by the touch sensor 168 can be specified in correspondence with the coordinate position of the graphic displayed on the LCD 165.
- FIG. 2 is a block diagram showing an internal configuration of the game apparatus 1 according to the present embodiment.
- the “module” used in the following description is a functional unit for achieving a predetermined operation, which is configured by hardware such as a device or equipment, software having the function, or a combination thereof. Indicates.
- the game apparatus 1 includes a duplexer 102 connected to the antenna 101, and a reception system module and a transmission system module connected to the duplexer 102.
- the reception system module includes a low noise amplifier 110, a mixer 111, an IF amplifier 112, an orthogonal mixer 113, an A / D converter 114, a demodulator 115, a channel decoder 116, an audio decoder 117, a D / A converter 118, and an amplifier 119 with a switch. And a speaker 120.
- the transmission system module includes a microphone 140, an amplifier 139, an A / D converter 138, an audio encoder 137, a channel encoder 136, a modulator 135, a D / A converter 134, an orthogonal mixer 133, an IF amplifier 132, a mixer 131, and A power amplifier 130 is provided.
- the game apparatus 1 also includes a synthesizer 103, a time base 150, a CPU 200, a RAM 152, a ROM 153, and an EEPROM 151 as control system modules, and a gyro sensor 164, an LCD 165, operation buttons 166, an LED 167, and a touch sensor 168 as user interface system modules. And a vibrator 174, and further, as a power system module, a power system battery 171, a power source 172, and an A / D converter 173 are provided.
- the touch panel 300 described above is configured by superimposing an LCD 165 that displays a graphic and a touch sensor 168 that receives an operation signal corresponding to the coordinate position of the graphic displayed on the LCD 165.
- the antenna 101 transmits and receives signals to and from a base station (not shown) via a radio wave line.
- the duplexer 102 is a circuit that switches between input and output of a signal to be transmitted and received.
- the duplexer 102 inputs a signal received by the antenna 101 to the low noise amplifier 110 and outputs a signal output from the power amplifier 130 to the antenna 101.
- the low noise amplifier 110 amplifies the signal input from the duplexer 102 and outputs the amplified signal to the mixer 111.
- the mixer 111 receives the output of the low noise amplifier 110, separates it by a specific frequency, and outputs it as an intermediate frequency signal.
- the IF amplifier 112 amplifies the intermediate frequency signal output from the mixer 111.
- the orthogonal mixer 113 receives the output of the IF amplifier 112 and performs orthogonal demodulation.
- the A / D converter 114 digitizes the output of the orthogonal mixer 113.
- the demodulator 115 demodulates the output of the A / D converter 114.
- Channel decoder 116 performs error correction on the output of demodulator 115.
- the error-corrected signal includes a control message and voice data. The control message is sent to the CPU 200 and the voice data is sent to the voice decoder 117.
- the signal input from the channel decoder 116 to the audio decoder 117 is decoded into audio data and delivered to the D / A converter 118.
- the D / A converter 118 converts the output of the audio decoder 117 into an analog signal.
- the switch-equipped amplifier 119 is switched at an appropriate timing based on a control signal from the CPU 200 and amplifies the output of the D / A converter 118 when the switch is ON.
- the speaker 120 amplifies the output of the switch-equipped amplifier 119.
- the microphone 140 receives an audio signal from the user and outputs the audio signal as an analog signal.
- the amplifier 139 amplifies the analog signal output from the microphone 140.
- the A / D converter 138 converts the output of the amplifier 139 into a digital signal.
- the audio encoder 137 encodes and compresses the output of the A / D converter 138 and outputs it as audio data.
- the channel encoder 136 combines the control message from the CPU 200 and the audio data from the audio encoder 137 and adds an error correction code.
- the modulator 135 modulates the output of the channel encoder 136.
- the D / A converter 134 converts the output of the modulator 135 into an analog signal.
- the orthogonal mixer 133 converts the output of the D / A converter 134 into an IF frequency signal (intermediate frequency signal).
- the IF amplifier 132 amplifies the output of the quadrature mixer 133.
- the mixer 131 increases the frequency of the signal output from the IF amplifier 132.
- the power amplifier 130 amplifies the output of the mixer 131.
- the synthesizer 103 synchronizes the mixer 111, the quadrature mixer 113, the mixer 131, and the quadrature mixer 133 during communication.
- the time base 150 supplies a clock signal to each unit.
- the gyro sensor 164 is a sensor that detects the magnitude and direction of the angular velocity. In this embodiment, the gyro sensor 164 detects angular velocities in the triaxial directions (X, Y, and Z axial directions). However, the triaxial angular velocities are not necessarily required in the control of the hitting operation in the present invention. Alternatively, only the angular velocity around the Y axis may be detected.
- the angular velocity around the Y axis is used to detect the input of the batting operation by the user, but the X axis detected by the gyro sensor and the input of the operation to avoid hitting the opponent are detected.
- the angular velocity around the Z axis is used.
- An operation signal corresponding to the angular velocity detected by the gyro sensor 164 is output to the CPU 200 of the game apparatus 1 main body.
- other sensors 154 such as an acceleration sensor 169 that detects acceleration applied to the game apparatus 1 and a magnetic sensor that detects geomagnetism and identifies the absolute orientation of the game apparatus 1 are provided. It may be.
- the LCD 165 is a liquid crystal display that displays a game screen, GUI, user input characters, and the like.
- the touch panel 300 can display a graphic such as characters, graphics, and moving images via the LCD 165 to form a GUI, and obtains an operation signal through the touch sensor 168 on the touch panel 300.
- the LED 167 is for transmitting a message to the user by turning on and off.
- the touch sensor 168 detects that the user's finger has touched the surface of the touch panel, and acquires an operation signal based on a change in pressure or capacitance on the surface of the touch panel 300.
- the vibrator 174 is a device that notifies an incoming call, and vibrates when the incoming call is received.
- the power system battery 171 supplies power to the power source 172 and the A / D converter 173.
- the power source 172 is a power source for the game apparatus 1.
- the A / D converter 173 supplies a signal to the CPU 200.
- the CPU 200 is an arithmetic processing unit that controls each of the above-described units, and sequentially executes program commands stored in the RAM 152 and the ROM 153 to perform various functions.
- the CPU 200 may include a dedicated arithmetic processing unit GPU specialized for displaying graphics on the LCD 165.
- the RAM 152 is used as a working memory of the CPU 200 and temporarily stores programs executed by the CPU 200 and calculation results by the programs.
- a program for the CPU 200 is recorded in the ROM 153, and program execution instructions are sequentially output in response to a request from the CPU 200.
- the EEPROM 151 user data such as abbreviated dial, ID unique to the machine, and the like are recorded.
- the CPU 200 executes a predetermined game program (software). With this software, the CPU 200 functions as an arithmetic processing device constructed virtually by various modules.
- FIG. 3 is a block diagram showing an internal configuration virtually constructed on the CPU 200 according to the present embodiment.
- an operation signal acquisition unit 201 an application execution unit 202, a display information generation unit 204, and an angular velocity detection unit 205 are virtually constructed by executing a predetermined game program (software). .
- the operation signal acquisition unit 201 is a module that receives an operation signal input from an operation device 206 such as an operation button 166 or a touch sensor 168 arranged in the control device body, and outputs the operation signal to the application execution unit 202 as an operation command.
- an operation signal input from an operation device 206 such as an operation button 166 or a touch sensor 168 arranged in the control device body
- the operation signal acquisition unit 201 includes an operation position detection unit 201a.
- the operation position detection unit 201a is a module that detects the coordinate position of the operation signal input to the touch panel 300, which is one of the input units arranged in the control device main body, and the operation position detection unit 201a detects the operation signal detected by the touch sensor 168.
- the input coordinate position is transmitted to the application execution unit 202 as a coordinate position corresponding to the coordinate system of the graphic displayed on the LCD 165.
- the application execution unit 202 can execute selection of a menu displayed on the LCD 165 and selection of a batting type or a defense type during the game.
- the angular velocity detection unit 205 operates at a predetermined time interval (for example, 60 Hz) by a timer interruption, and receives an operation signal such as an angular velocity in each direction (X axis, Y axis, Z axis) from the gyro sensor 164 in the control device main body 100. This is a reading module. Furthermore, the angular velocity detection unit 205 integrates the angular velocity continuously detected at a predetermined time interval, and tracks the direction (rotation angle) of the game apparatus 1. For tracking the orientation of the game apparatus 1, in addition to the angular velocity continuously detected at a predetermined time interval, data detected by other sensors 154 such as gravitational acceleration and magnetic sensor detected by the acceleration sensor 169 are used. You may use together.
- the angular velocity detection unit 205 calculates the acceleration applied to the game apparatus 1 using the acceleration sensor 169 in the control apparatus main body 100.
- the acceleration sensor 169 also detects gravitational acceleration, but it is assumed that the acceleration calculated by the angular velocity detection unit 205 is obtained by removing the gravitational acceleration.
- the acceleration is expressed as an apparent acceleration (actually measured acceleration) applied to an internal spring when viewed in the stationary system of the game apparatus 1, or the game apparatus 1 itself when the game apparatus 1 is observed from the outside.
- the acceleration calculated by the angular velocity detection unit 205 is the acceleration applied to the game device 1 itself when the game device 1 is observed from the outside. It shall be expressed as
- the angular velocity, direction, and acceleration of the game apparatus 1 obtained by the angular velocity detection unit 205 are held in a storage area in the RAM 152. Then, the application execution unit 202 may operate at a timing different from the timer interrupt of the angular velocity detection unit 205, and by accessing a storage area in the RAM 152, the latest apparatus main body obtained by the angular velocity detection unit 205 100 angular velocities, orientations, accelerations, etc. are acquired.
- the notation method of the angular velocity obtained by the angular velocity detection unit 205 and held in the storage area in the RAM 152 and the orientation of the game apparatus 1 is defined.
- the angular velocity vector amount read by the angular velocity detection unit 205 at a certain time t is a vector ⁇ (t)
- the X-axis component value of the angular velocity (angular velocity around the X axis) is ⁇ x (t)
- the angular velocity Y The value of the axis component (angular velocity around the Y axis) is expressed as ⁇ y (t)
- the value of the Z-axis component of the angular velocity (angular velocity around the Z axis) is expressed as ⁇ z (t).
- the value of the angular velocity around each axis is positive in the counterclockwise direction with respect to that axis.
- the time t takes a discrete value, but even when other values are used at the time t, the vector ⁇ Let (t), ⁇ x (t), ⁇ y (t), and ⁇ z (t) represent the values of the angular velocities detected most recently before time t.
- the angular velocity is expressed as a function of time t for the sake of the following description.
- the orientation of the game apparatus 1 at a certain time t is expressed by a rotation matrix A (t). Further, only the rotation angle around the Y axis of the game apparatus 1 is necessary for controlling the batting action in the present invention, and the rotation angle around the Y axis of the game apparatus 1 is expressed as ⁇ y (t). Similarly to the angular velocity, the rotation angle ⁇ y (t) about the Y axis is positive in the counterclockwise direction with respect to the Y axis.
- the time t also takes a discrete value, but it is expanded to take a continuous value in the same way as the angular velocity.
- it is expressed as a function of time t. However, when implementing the present invention, it is not necessary to go back to the past and acquire the rotation matrix A (t) and the rotation angle ⁇ y (t).
- the rotation angle ⁇ y (t) around the Y axis of the game apparatus 1 is obtained by integrating the angular velocity ⁇ y (t) at the time t even when the gyro sensor 164 can detect only the angular velocity ⁇ y (t) around the Y axis. It can be calculated by Although this value may deviate from the actual value when rotation about another axis is added, it is not necessary to detect the rotation angle with high accuracy in implementing the present invention, and automatic calibration described later is implemented. This will allow you to control the object without any problems.
- the rotation angle ⁇ y (t) around the Y axis is more accurately calculated from the rotation matrix A (t).
- the calculation method differs depending on the definition.
- the present invention can be implemented using any calculation method, in the present embodiment, the rotation angle ⁇ y (t) about the Y axis is calculated as follows as an example.
- the vector z is set as a unit vector in the Z-axis direction as follows.
- z (0,0,1) (Formula 1)
- a vector obtained by rotating the vector z with the rotation matrix A (t) is defined as a vector z ′ (t)
- the vector z ′ (t) is obtained as follows.
- z '(t) A (t) z (Formula 2) If the X component of the vector z ′ (t) obtained by Equations 1 and 2 is z ′ x (t) and the Z component is z ′ z (t), the following relationship is established.
- tan ⁇ y (t) z ′ x (t) / z ′ z (t) (Formula 3)
- tan .theta y (t) is the tangent of the angle of rotation ⁇ y (t) (tangent)
- z x (t) and z' z (t) are both zero or very small, the calculation error will increase, so use the unit vector in the X-axis direction instead of the vector z in Equation 1. The same calculation shall be performed.
- the display information generation unit 204 is a module that generates information for object display on the LCD 165 and outputs the information to the LCD 165 in accordance with control by the application execution unit 202.
- the display information generation unit 204 includes a 3D configuration unit 204a, a 2D configuration unit 204b, and a GUI configuration unit 204c, and arranges a virtual camera that defines a visual field range in a three-dimensional space.
- the object imaged by the virtual camera is displayed on the LCD 165 as a two-dimensional plane.
- the 3D configuration unit 204a is a module that virtually configures a three-dimensional space and controls the coordinate positions of objects and cameras existing on the three-dimensional coordinates in the three-dimensional space.
- the 2D configuration unit 204b is a module that two-dimensionally displays the three-dimensional space on the shooting screen, acquires the data of the three-dimensional space configured by the 3D configuration unit 204a, and generates a two-dimensional image corresponding to the field of view of the shooting screen. Is processed to display the three-dimensional space two-dimensionally on the photographing screen.
- a virtual camera that defines a visual field range is arranged in a three-dimensional space, and an object captured by the camera is determined based on the positional relationship between the object calculated by the 3D configuration unit 204a and the virtual camera.
- the photographing screen is a two-dimensional plane, the display of the object state on the LCD 165 is changed.
- the shooting screen is a main screen that captures an image of the player and the opponent's object and part of the ring through the player object.
- the GUI composition unit 204c is a module for displaying a graphic user interface (GUI) such as information about a game and a menu on the shooting screen generated by the 2D composition unit 204b.
- GUI graphic user interface
- the GUI is a graphic that visually conveys an operation method for an object and information on the object in an easy-to-understand manner.
- the GUI includes power gauges 304 and 305 of each character as shown in FIG. .
- the application execution unit 202 generates an object based on the input signals from the angular velocity detection unit 205 and the operation signal acquisition unit 201 and arranges the object in the virtual space, and controls or deletes the object in the virtual space. For example, in a boxing game, the player or opponent object in the virtual space performs operations such as hitting, defending, and avoiding, and controlling preliminary operations before hitting. And make it work.
- the application execution unit 202 manages the progress of the game in accordance with the boxing rules (scoring process during the game, such as the class of the selected object, the ranking, the number of rounds according to the ranking, etc.) Based on the ability parameter of the opponent object, the type of punch, and the like, the hit condition is calculated, and the damage to the object in the virtual space is calculated.
- boxing rules scoring process during the game, such as the class of the selected object, the ranking, the number of rounds according to the ranking, etc.
- the application execution unit 202 includes a motion control unit 210 that controls the entire motion of the object, and a batting detection unit 211 that detects a batting operation by the user.
- the motion control unit 210 is a module that controls the entire motion of the object, and causes the object to perform a striking motion in response to a batting operation input by the user detected by the striking detection unit 211. Further, the motion control unit 210 has a function of executing a preliminary motion related to the striking motion according to the value of the rotation angle ⁇ y (t) obtained by the angular velocity detecting unit 205 in addition to the striking motion. Further, the motion control unit 210 has a function of causing the object to perform a motion to avoid hitting the opponent using the rotation matrix A (t) and the angular velocity vector ⁇ (t) obtained by the angular velocity detection unit 205.
- the hit detection unit 211 is either the value of the Y-axis component ⁇ y (t) of the angular velocity obtained by the angular velocity detection unit 205, or the amount of change per unit time of the value of ⁇ y (t), or these
- a striking detection method is provided for detecting a feature of the rotational motion of the controller that may be caused by the input of the striking operation by the user by comparing the value of the angular velocity ahead of the minute time predicted by using both with a threshold value.
- the hit detection unit uses this hit detection method to detect that the user has input a hitting operation. At this time, whether the hit with the right hand or the left hand can be determined by the sign of ⁇ y (t). If it is positive, it will be hit with the right hand.
- the batting detection unit 211 determines whether the rotational motion of the controller is due to the user's batting operation or the preliminary operation according to the direction of the acceleration of the game apparatus 1 calculated by the angular velocity detection unit 205, and the preliminary operation If it is determined that it is due to, the input of the batting operation is not detected. If it is determined that the hitting operation is performed, the motion control unit 210 starts the hitting operation of the object, and the preliminary motion of the object is suppressed while the hitting operation is being executed.
- the hit detection unit 211 detects the moment when the rotational motion of the controller due to the hit operation of the user stops, and predicts that the recoil will occur immediately thereafter, and detects the hit operation by the hit detection method. I try to limit it. By doing so, it is possible to prevent erroneous detection of the angular velocity and the change pattern of the angular velocity due to the reaction when the batting operation is stopped as the batting operation.
- the hit detection unit 211 uses two hit detection methods, one is a method for detecting the characteristics of the moment when the hit operation is started, and the other is a method in which the hit operation is performed. Use a method to detect the features inside.
- the first hit detection method detects the moment when the input of the hit operation is started by using a method of comparing the amount of change per unit time of ⁇ y (t), that is, the angular acceleration, with a threshold value. .
- the batting operation is performed because the value of ⁇ y (t) is set to zero, or the sign is reversed across the zero.
- the second hit detection method cannot detect the start of the hitting operation instantaneously by detecting hitting with emphasis on the value of ⁇ y (t), but compared with the case where angular acceleration is used. Therefore, it is easy to distinguish the recoil when the batting operation is stopped. That is, the second batting detection method also detects the moment when the rotational motion of the controller by the batting operation stops, and ignores the batting operation detected again only for a very short time from the moment when the rotational motion of the controller stops. Although the recoil when the batting operation is stopped is prevented from being erroneously detected as the batting operation, the detection of the continuous batting operation such as a combination punch is not hindered.
- control is performed so as to perform a striking motion for delivering a left hand punch.
- control of the preliminary operation in the operation control unit 210 and the detection process of the batting operation in the batting detection unit 211 will be described.
- Equation 5 S ⁇ ( ⁇ y (t) ⁇ 0 ) (Formula 5)
- S in Equation 5 represents a predetermined scale parameter, which is for enabling the object to perform a sufficiently large action without greatly rotating the game apparatus 1.
- the rotation angle of the body of the object has an upper limit ⁇ , and the magnitude ⁇ of the rotation (twisting) is truncated to the range [ ⁇ , ⁇ ].
- the magnitude ⁇ of rotation (twist) approaches the upper limit, the object swings up the arm as well as the body and prepares for punching.
- the rotation angle calculated by Expression 5 can be used as a target value without being used as it is. For example, if control is performed so that the amount of change in the rotation angle of the body of the object per unit time does not exceed a certain value, the object tries to rotate the body at an unrealistic speed. Can be prevented.
- the value of the vector a ( ⁇ ) is calculated by interpolating the above a 1 , a 2 , ..., a M .
- a rotation (torsion) magnitude ⁇ which is an arbitrary value
- the value of the vector a ( ⁇ ) is calculated by interpolating the above a 1 , a 2 , ..., a M .
- other interpolation methods such as higher-order
- the rotation angle ⁇ y (t) around the Y axis of the game apparatus 1 is used for the movement of the body of the object, but this value is obtained when the user changes the direction. Will also change. For example, if a user is playing a game on a train or car, the user's direction may change without noticing, and the objects in the game may rotate their body in an unexpected direction. . Further, since the value of the rotation angle ⁇ y (t) around the Y axis includes an error when the angular velocity vector ⁇ (t) is integrated, there is a possibility that it may become so large that it cannot be ignored.
- Equation 9 the parameter s in Equation 9 represents the degree of calibration. If the value of s is 0, the calibration effect is completely lost. If the value of s is 1, ⁇ 0 is instantaneously set to the current direction. Will be calibrated. The value of s is preferably proportional to the calibration time interval so that the degree of calibration does not depend on the frequency of calibration.
- the value of s can be obtained by the following equation.
- C may be a constant, and C represents the speed of calibration (the degree of calibration per unit time).
- the appropriate value of C can be variously changed depending on the application, but it is preferable to set a value of about 1 to 5 seconds- 1 . Further, it is assumed that calibration is performed at a sufficiently high frequency (at least 10 Hz or more), and the value of s must always be a value sufficiently smaller than 1.
- the value of C is reduced when the user is moving the game apparatus 1 violently, and the value of C is increased when the user is hardly moving.
- the value of C is obtained as follows.
- C C ′ ⁇ exp ( ⁇
- exp represents an exponential function
- ⁇ is a predetermined constant, which determines how much the angular velocity increases and the value of s decreases.
- C ′ is a constant and should be set to a value of about 1 to 5 seconds ⁇ 1 .
- the hit detection unit 211 uses two hit detection methods, one is (1) the hit detection method 1 for detecting the characteristics of the hit operation using angular acceleration, and the other is (2) the angular velocity and the angle.
- the impact detection method 2 detects the characteristics of the impact operation using both acceleration and acceleration.
- the implementation of the present invention does not necessarily require these two methods, and either one can be used according to the requirements of the game application, or a modified method can be used.
- erroneous detection means that a punch is detected at a timing not intended by the user.
- each detection method and the false detection improvement method will be described.
- the hit detection method 1 for detecting the timing at which the hitting operation is started using the angular acceleration is the change amount per unit time of ⁇ y (t) that is the Y component of the angular velocity, that is, the angular acceleration around the Y axis. A hit is detected when the threshold is exceeded.
- the merit of this method is that the value of the angular acceleration ⁇ y (t j ) increases at the moment when the user pushes out the game apparatus 1 to input the batting operation, so that the batting can be detected without delay with respect to the user's operation. is there. Further, the user only needs to apply power for a moment, and can input a batting operation without moving the game apparatus 1 greatly.
- the value of the angular acceleration ⁇ y (t j ) increases because it includes not only the moment when the game apparatus 1 starts to rotate suddenly but also the moment when the game apparatus 1 that has rotated suddenly stops.
- a hitting operation may be erroneously detected at such a moment. A method for improving this erroneous detection will be described later.
- the detection method uses the angular acceleration ⁇ y (t) to predict the value of the angular velocity ⁇ y (t + ⁇ t) after a minute time ⁇ t from the current time t, and compares the magnitude with the threshold value T ⁇ . It is a method.
- ⁇ y (t + ⁇ t) of the predicted value ⁇ 'y (t + ⁇ t) predicted as follows.
- a setting for reducing erroneous detection is used in order to detect an input of a continuous striking operation such as a combination punch separately from a recoil when the striking operation is stopped.
- FIG. 5 is a graph showing a change in the rotation angle ⁇ y (t) around the Y axis when the batting motion is input once with the right hand
- FIG. 6 is a diagram in which the batting motion is sequentially input in the order of the right hand and the left hand. It is the graph which showed the change of rotation angle (theta) y (t) around the Y-axis at the time of doing.
- FIG. 7 is a graph showing a change in the rotation angle ⁇ y (t) around the Y axis when the hitting action is strongly input once with the right hand
- FIG. 8 is the hit action twice with only the right hand. It is the graph which showed the change of rotation angle (theta) y (t) around the Y-axis at the time of inputting continuously.
- the horizontal axis represents time t and the vertical axis represents the rotation angle ⁇ y (t) around the Y axis.
- the graphs in each figure are not smooth but are stepped due to different timings of operation between the angular velocity detection unit 205 and the hit detection unit 211, and can be obtained directly from the gyro sensor. It does not mean that the value of angular velocity is zero or the value of angular acceleration is large.
- the angular acceleration ⁇ y (t) when the user pulls the hand holding the game apparatus 1 may be erroneously detected. Due to this erroneous detection, it is determined that a batting operation has been input with a hand opposite to the hand intended by the user, so that the user's operational feeling is greatly impaired. This erroneous detection occurs in the hit detection method 1 described above, but even if the hit detection method 2 hit detection method 2 is used, it may occur when the value of ⁇ t in Expression 13 is set large. The following improvement method is used for erroneous detection at this point.
- the improvement process here distinguishes the preliminary action and the striking action by using the acceleration sensor 169 included in the control device main body 100. That is, when the Z component of the acceleration detected by the acceleration sensor 169 is positive, the game apparatus 1 is pulled back, so the reason why the angular acceleration ⁇ y (t) has increased is the preliminary operation. Therefore, it is determined not to detect the striking operation. However, when the user pulls one hand forward, it tends to push the other hand slightly at the same time, and may detect a small reverse acceleration. Therefore, instead of checking whether the acceleration Z component is positive, it is checked whether the acceleration Z component is larger than the threshold value ⁇ Ta. In this embodiment, the size of Ta is about 0.1 G (1/10 of the gravitational acceleration).
- the improvement process C-1 is a process for monitoring not only the angular acceleration but also the direction of the angular velocity. That is, even if the magnitude of the angular acceleration ⁇ y (t) exceeds the threshold value T ⁇ , the angular velocity ⁇ y (t) around the Y axis and the angular acceleration ⁇ y (t) are different from each other or around the Y axis.
- T′ ⁇ a certain threshold value
- the game apparatus 1 in which the reason for the increase in the angular acceleration ⁇ y (t) is rotating is It is determined that the operation has stopped, and the hitting operation is not detected.
- the threshold value T′ ⁇ is different from the threshold value T ⁇ in the impact detection method 2, and the value of the threshold value T′ ⁇ is set to a value considerably smaller than the threshold value T ⁇ .
- point D is the time when the user performed the batting operation, it is correct to detect the batting here, but if the user only imitates batting with a feint, At this point, a hit may be detected.
- the user should be careful not to cause a reaction, but the following improvement process can increase the probability that the feint will succeed.
- the improvement process D-1 is a process for detecting the moment when the rotation of the game apparatus 1 stops and predicting that the game apparatus 1 will move immediately before increasing the threshold temporarily. Specifically, first, the moment when the rotation stops is defined as the time when the value of the angular velocity ⁇ y (t) becomes zero, or the time when the positive and negative signs are reversed across zero. This time the rotational angle around Y axis of the game apparatus ⁇ y (t) is the time that will peak, is referred to as a peak time t p. Then, the angular acceleration ⁇ y (t p ) at the peak time t p is used to prevent the hit from being detected while the following conditional expression is satisfied.
- Equation 14 That is, the hit is not detected unless the angular acceleration ⁇ y (t) becomes larger than the value obtained by exponentially decaying the angular acceleration ⁇ y (t p ) at the peak time t p . Since the value calculated on the right side of Expression 14 is attenuated immediately and becomes smaller than the threshold value T ⁇ , the period during which this process is applied is limited. In this embodiment, a value of about 20 seconds ⁇ 1 is used as the value of ⁇ .
- time point H is erroneously detected by the hit detection method 2 because the magnitude of the angular velocity ⁇ y (t) increases when the hand is pulled back by a reaction that suddenly stops the game apparatus 1. Detection occurs.
- applying the improvement process A-1 and the improvement process D-1 sometimes fails to detect the left and right continuous hitting operations such as a combination punch. Therefore, an attempt is made to distinguish and detect the reaction and the combination punch at time H. Therefore, first, the difference between the case where the combination punch is input and the case where the hand is pulled back by the reaction is analyzed, and then the improvement processing for preventing erroneous detection is described.
- FIG. 6 is a graph showing a change in the rotation angle ⁇ y (t) about the Y axis when the batting operation is continuously input in the order of the right hand and the left hand. This figure shows that at the time point I, the right hand is pushed forward and the first batting operation is inputted, and at the time point J, the right hand stops and at the same time the left hand is pushed out and the second batting operation is inputted.
- the first right-hand hitting operation can be detected without any problem, but the second left-hand hitting detection becomes a problem.
- the hitting operation may fail to be detected at time J due to the effects of the improvement process A-1 and the improvement process D-1. Therefore, the angular velocity ⁇ y (t), which remains large for a while from time J to time M, is detected using the impact detection method 2, and this is detected as the angular velocity due to the reaction at time H in FIG. It must be distinguished.
- FIG. 7 is a graph when a striking operation is strongly input with the right hand in order to emphasize the erroneous detection at the time point H in FIG. 5, and FIG. 8 is a striking operation with the right hand twice in succession. It is a graph of time.
- the game apparatus 1 is pushed forward vigorously at time N, and the rotation angle ⁇ y (t) around the Y axis changes greatly from reaction time O to time P. For this reason, even if the threshold value T ⁇ in the hit detection method 2 is increased, erroneous detection occurs in the section between the O time point and the P time point.
- the interval T1 between the time O and the time P from the start of the reaction until the angular velocity becomes small is characterized by a very short time (about 0.05 seconds). In the embodiment, the following improvement processing is applied using this feature.
- the improvement process H-1 is to prevent the hit detection method 2 from detecting the hit operation in the hit detection method 2 for a very short period from the time when the rotation angle ⁇ y (t) around the Y axis reaches the peak. It is. Taking FIG. 7 as an example, the striking motion is not detected during the minute period ⁇ from time O when the rotation angle ⁇ y (t) around the Y axis reaches the peak. This minute period ⁇ is set to about 0.055 seconds, which is slightly longer than T1. If this is set too long, a combination punch cannot be detected.
- the angular acceleration ⁇ y (t) is still small at the time point K and the angular velocity ⁇ y (t) remains large for a while.
- the angular acceleration ⁇ y (t) in the reverse direction has already been applied, and deceleration has started. Therefore, by predicting the angular acceleration ⁇ ′ y (t + ⁇ t) slightly ahead using the angular acceleration ⁇ y (t) in Equation 13, the difference between the two can be better distinguished.
- the angular velocity detection unit 205 is operating at a frequency of about 60 Hz, the angular velocity is detected at intervals of about 0.017 seconds, because this is longer than the difference between the section T1 and the minute period ⁇ .
- the timing at which the detection process is performed there is a possibility that an erroneous detection occurs at the H time or the P time, or that the combination punch detection at the K time fails. Therefore, in order to increase the accuracy of the improvement process H-1, it is necessary to more accurately know the time when the rotation angle ⁇ y (t) around the Y axis reaches the peak. For example, in FIG. 7, the peak is detected at time O, but it can be estimated that it is a time before that that actually falls on the peak.
- FIG. 8 and FIG. 6 are very similar and seem to be difficult to distinguish, but in FIG. 8, the time between the point R and the point S where the peak is detected is short, and at the point S, deceleration starts. In contrast, the preliminary operation is gradually started and the time point T is reached. In FIG. 6, since the steep slope continues from immediately after the time point J to immediately before the time point M, a large angular velocity is maintained. By applying the processing H-1, these differences can be determined, and erroneous detection at the point S can be prevented.
- the game device 1 is rotated by pushing out the opposite hand while pulling back the hand put out by the input of the first batting operation. Since the angular velocity is higher than when pulling back for preliminary operation, the threshold value T ⁇ of the hit detection method 2 is set to a slightly larger value so that erroneous detection at the time S can be prevented more reliably. become. By setting the threshold value T ⁇ of the hit detection method 2 to a slightly larger value, it becomes difficult to detect the input of the normal hit operation, but there is no problem because the input of the normal hit operation can be detected by the hit detection method 1. .
- the motion control unit 210 also has a function of controlling the motion of an object different from the batting motion and the preliminary motion.
- the gyro sensor 164 is placed on the player object to the opponent. It can be used for the control that makes the operation to avoid hitting.
- the slope information obtained in this way can be used as an analog value for object control as it is.
- the X component and the Z component of the vector y ′ (t) can be used as they are for the front / rear / left / right movement amount of the object.
- the angle at which the object tilts (swayes) the body may be controlled according to this value.
- the punch avoidance action may be taken when the X component or the Z component of the vector y ′ (t) exceeds a certain threshold value. .
- the punch avoidance action since it takes time until the inclination actually exceeds the threshold after the user operates the game apparatus 1 in an attempt to take an avoidance action, it is necessary to detect an input of a punch avoidance operation by the user. There is a slight delay.
- the vector y ′ (t + ⁇ t) after a minute time ⁇ t is predicted using the angular velocity vector ⁇ (t) and the angular acceleration vector ⁇ (t) obtained from the change amount per unit time.
- ⁇ r how much the game apparatus 1 rotates from the current direction after a minute time ⁇ t is predicted as the rotation vector ⁇ r as follows.
- ⁇ r ⁇ (t) ⁇ t + 0.5 ⁇ ⁇ (t) ⁇ t 2 (Equation 19)
- the rotation vector ⁇ r at the minute time ⁇ t seconds predicted by Expression 19 is decomposed into the rotation magnitude ⁇ and the rotation axis vector a as follows.
- (a ⁇ y) represents the inner product of the vector a and the vector y
- (a ⁇ y) represents the outer product of the vector a and the vector y.
- the vector y ′ (t + ⁇ t after the minute time ⁇ t is as follows. ).
- y ′ (t + ⁇ t) A (t) A 0 ⁇ 1 y ′′ (Expression 23)
- the delay in detecting the input of the punch avoidance operation can be eliminated.
- the minute time ⁇ t is set to 0.05 seconds.
- the hit detection unit 211 has a function of changing the hit type and the defense type in accordance with the presence or absence or type of an input signal to the input unit such as the touch panel 300.
- the hit type may be jab, straight, hook, body blow, upper cut
- the defense type may be a head card or a body guard.
- the hitting by the hit detection unit 211 is selected according to an operation signal to the touch panel 300 from the operation position detection unit 201a.
- the screen has selection areas 306 and 307 for selecting the type of batting and defense action for the right hand and the left hand, respectively.
- the selection area 306 on the right side of the screen is assigned types for the right hand hitting and defense
- the selection area 307 on the left side of the screen is assigned the type for hitting and defending the left hand.
- a straight can be assigned to the A areas 306a and 307a
- a body blow can be assigned to the B areas 306b and 307b
- an upper cut can be assigned to the C areas 306c and 307c. That is, when inputting the batting operation, if the finger of the hand on the side where the user's batting operation is input touches any of these areas, the batting operation becomes the batting type assigned thereto.
- the hitting operation of the hook can be performed to divide the four types of hitting. Further, if the preliminary operation is small when the batting operation is input, a jab may be hit instead of a hook or a straight.
- the above area can be assigned to the defensive action. For example, while the A region 306a, 307a is being pressed, the head is operated to be guarded, and while the B region 306b, 307b or the C region 306c, 307c is being pressed, the body is guarded. Make it work.
- the positions, shapes, and ranges of the areas 306 and 307 shown in FIG. 9 are not limited to this, and can be variously changed according to the type of game.
- the touch panel 300 is used to change the hit type and the defense type.
- a button may be used in a controller that does not have a touch screen.
- FIG. 10 is a flowchart showing an outline of the operation signal analysis method according to this embodiment
- FIG. 11 is a flowchart showing a subroutine of peak detection processing according to this embodiment
- FIG. 12 is a flowchart showing a subroutine of the hit detection process 1 according to the embodiment
- FIG. 13 is a flowchart showing a subroutine of the hit detection process 2 according to the embodiment.
- the hit detection method 1 uses the hit detection method 1 and the hit detection processing 2 subroutine uses the hit detection method 2.
- the hit detection method 1 uses the improvement processing A-1 and the improvement processing C. -1 and improvement processing D-1, and the hit detection method 2 uses improvement processing A-1 and improvement processing H-1.
- the hit operation is not detected for a moment, but may be continuously detected for a while. Furthermore, since two detection methods are used in combination, an input of one hitting operation may be detected twice. Therefore, in order to prevent double punch detection, processing is performed using the punch variable and peak detection processing.
- the peak detection process is also used for the improvement process D-1 and the improvement process H-1. These processes will be described later.
- the values of the parameters used in the present embodiment are set as follows.
- the threshold value T ⁇ of the impact detection method 1 is 3500 degrees / second 2
- the threshold value T ⁇ of the impact detection method 2 is 360 degrees / second
- the threshold value T′ ⁇ of the improvement process C-1 is 90 degrees Set to / sec.
- a minute time ⁇ t of the striking detection method 2 to 0.01 seconds
- the improved process A-1 of Ta to 0.1 G the size of G is gravitational acceleration
- the minute period ⁇ of the improvement process H-1 is set to 0.055 seconds
- the constant T ′′ ⁇ in the peak detection process is set to 180 degrees / second.
- the constant T ′′ ⁇ is a constant used in the peak detection process for detecting the moment when the rotation of the game apparatus 1 stops.
- the constant T ′′ ⁇ is the angular velocity around the Y axis of the game apparatus 1 between the peaks. If the maximum value ⁇ max does not exceed T ′′ ⁇ , the improvement process H-1 is not started.
- a variable ⁇ max representing the maximum value of the angular velocity around the Y axis of the game apparatus 1 between the peaks and a variable ⁇ peek representing the angular acceleration around the Y axis at the time of the most recent peak are set to 0.
- the application execution unit 202 When the variable initialization is completed, the application execution unit 202 generates an object to be arranged in the virtual space and sets an initial state (S102), and enters a main loop process.
- a virtual space and object display information generation step (S103) is first performed.
- the display information generation unit 204 generates information for displaying the virtual space and the object on the LCD 165, synchronizes with the LCD 165, and waits for the previous display information update to be completed on the LCD 165.
- the newly generated display information is transferred to the LCD 165.
- the main loop is repeatedly executed at a frequency of the refresh rate of the LCD 165 (for example, about 60 Hz).
- the hit detection unit 211 reads information related to the motion of the game apparatus 1 calculated by the angular velocity detection unit 205, and sets the read value as a variable necessary for the hit detection process (S104). Specifically, the current time is set to t cur and the angular velocity ⁇ y (t cur ) around the Y axis of the game apparatus 1 is set to the variable ⁇ cur . Further, the Z component of acceleration applied to the game apparatus 1 is set to the variable a z .
- the hit detection unit 211 performs a series of hit detection steps (S106 to S108). After each of these processes is executed, the current time and angular velocity are stored in the variable t prev and the variable ⁇ prev for the next main loop process, and the value of ⁇ max is updated (S109). .
- the value of ⁇ max is updated with the larger value by comparing the value of ⁇ max before the update with the current magnitude of the angular velocity around the Y axis
- the process moves to the operation control unit 210, and the operation control step (S110) is executed.
- the punch command generated by the hit detection unit 211 is received from the command queue, and if the object is in a state where the hit operation can be started, the punch command is taken out from the command queue and the object starts the hit operation. .
- the motion control unit 210 responds to the value of the rotation angle ⁇ (t cur ) around the Y axis of the game apparatus 1 calculated by the angular velocity detection unit 205 if the object is not in the hitting motion state. To cause the object to perform a preliminary motion related to the striking motion. Further, in the action control step, the action of avoiding hitting the object is also controlled according to the degree of inclination of the game apparatus 1.
- the application execution unit 202 confirms the progress of the game (S111). If the game has not ended yet ("NO” in S111), the first step of the main loop (S103) If the game is over ("YES” in S111), the process is terminated.
- the hit detection unit 211 determines whether or not the rotation of the game apparatus 1 has stopped and the rotation angle around the Y axis of the game apparatus 1 has reached a peak from the previously detected angular velocity and the angular velocity detected this time ( S201). Specifically, the peak is obtained when the multiplication value of the angular velocity ⁇ prev around the Y axis detected when the operation control unit 210 was executed last time and the angular velocity ⁇ cur around the Y axis at the current time is positive or negative. It is determined whether or not it is detected ( ⁇ cur ⁇ ⁇ prev ⁇ 0).
- step S203 If the value of ⁇ max is larger than the constant T ′′ ⁇ (“YES” in S202), there is a possibility that the game apparatus 1 has rotated more rapidly as the reaction becomes larger, so the elapsed time from the peak detection time After t peek and the angular acceleration ⁇ peek around the Y axis at the peak time are set (S203), the process proceeds to step S204. Thereby, application of the improvement process H-1 and the improvement process D-1 is started.
- the peak arrival estimated time t p is used. In other words, even if the peak was detected at the current time, the peak was actually exceeded a little before the current time, and that time was estimated and the elapsed time from the estimated time to the current time Is set to t peek .
- step S204 it is determined whether or not the game apparatus 1 has been rotated to the left (counterclockwise) immediately before the rotation is stopped (S204).
- the previously detected angular velocity ⁇ prev is greater than 0 (“YES” in S204)
- the fact that the game apparatus 1 is rotating to the left (counterclockwise) means that the punching operation is performed with the right hand.
- step S208 since the peak is detected, the variable ⁇ max representing the maximum value of the angular velocity around the Y axis detected between the peaks is reset, and the process is terminated.
- the hit detection unit 211 adds the condition of the improvement process A-1 to the hit detection method 1, and determines whether or not the detected angular acceleration is due to a preliminary operation. Specifically, it is determined whether the Z component a z of the acceleration acquired in step S104 is larger than a threshold value ⁇ Ta (S301).
- a threshold value ⁇ Ta S301
- the acceleration Z component a z is larger than the threshold value ⁇ Ta (“YES” in S301)
- the punch detection processing 1 is terminated.
- the Z component a z of acceleration is equal to or less than the threshold ⁇ Ta (“NO” in S301)
- it is determined that the detected angular acceleration is due to the batting operation.
- the hit detection unit 211 adds the conditions of the improvement process C-1 and the improvement process D-1, and the angular velocity ⁇ cur around the Y axis of the game apparatus 1 calculated in S104 and the game apparatus calculated in S105.
- the angular acceleration ⁇ cur around the Y axis is the same as the angular acceleration ⁇ cur around the Y axis, and the angular velocity ⁇ cur around the Y axis exceeds a certain threshold value T′ ⁇ , and the angular acceleration ⁇ cur is equal to the threshold value T ⁇ .
- the angular acceleration ⁇ cur and the angular velocity ⁇ cur are positive with each other, and the angular acceleration ⁇ cur exceeds the threshold value T ⁇ and the angular acceleration ⁇ peek at the peak time, or the angular velocity ⁇ cur is the threshold value. It is determined whether or not T′ ⁇ is exceeded (S302). If all the conditions are satisfied (“YES” in S302), it is determined that a batting operation has been input, and the process proceeds to step S304.
- the angular acceleration ⁇ cur and the angular velocity ⁇ cur are negative with each other, and the angular acceleration ⁇ cur is a threshold value ⁇ T ⁇ and a peak time. It is determined whether or not the angular acceleration ⁇ peek at is smaller than the angular velocity ⁇ cur is smaller than the threshold ⁇ T′ ⁇ (S303). If all the conditions are satisfied (“YES” in S303), it is determined that a batting operation has been input, and the process proceeds to step S306. On the other hand, when the condition of S303 is not satisfied (“NO” in S303), it is determined that the hit operation is not performed, and the process is terminated.
- step S304 and step S306 a process is performed in which the same batting operation is not detected twice by the batting detection process 1 and the batting detection process 2.
- it is determined to hit with the right hand and the “punch with right hand” command is entered in the command queue in step S305.
- the hit detection method 1 is terminated.
- the condition in step S304 is not satisfied (“NO” in S304)
- the batting detection method 1 is terminated as it is.
- step S305 and S307 when adding a punch command to the command queue, a hitting type is selected according to the presence or absence or type of an input signal to the touch panel 300 arranged in the control device main body 100. A corresponding punch command is added to the command queue.
- the hit detection method 2 in S108 will be described (FIG. 13).
- the hit detection method 2 is combined with the improvement process A-1 and the improvement process H-1 to detect a punch.
- the hit detection unit 211 applies the improvement process H-1 and the improvement process A-1 in step S401. Specifically, it is confirmed whether the elapsed time t peek after the peak is detected in the peak detection process exceeds a predetermined minute period ⁇ and whether the acceleration Z component a z is equal to or less than the threshold ⁇ Ta. Then, it is determined whether or not to perform the hit detection process (S401). If any of the conditions is not satisfied (“NO” in S401), the hit detection process is terminated so as not to erroneously detect the reaction.
- the hit detection unit 211 calculates the predicted value ⁇ ′ of the angular velocity after the minute time ⁇ t.
- the hit detection unit 211 determines whether the hit detection process is the first after the previous peak is detected (S402). If the difference between the peak elapsed time t peek and the minute period ⁇ is larger than the elapsed time dt calculated in step S105 (“NO” in S402), the predicted value ⁇ ′ y (t cur + ⁇ t) is calculated using Equation 13. Then, the variable ⁇ ′ is set (S403). Otherwise (“YES” in S402), since the first hit detection process after the peak detection is performed, the predicted value ⁇ ′ y (t peek + ⁇ + ⁇ t) is calculated using Expression 16 and set to the variable ⁇ ′. (S404).
- step S407 If the condition of step S407 is satisfied (“YES” in S407), it is determined to punch with the left hand, and the “punch with left hand” command is added to the command queue, After setting the punch variable to LEFT (S408), the hit detection method 2 is terminated. If any of the conditions in step S407 is not satisfied (“NO” in S407), the process ends with no hit detection.
- step S406 and S408 when adding a punch command to the command queue, the hit type is selected according to the presence or absence or type of an input signal to the touch panel 300 arranged in the control device main body 100. A corresponding punch command is added to the command queue.
- the above-described user interface system and operation signal analysis method according to the present embodiment can be realized by executing an operation signal analysis program described in a predetermined language on the computers 71 to 74. That is, as shown in FIG. 14, this program is a personal digital assistant (PDA) integrated with a mobile phone / communication function 71, a personal computer 72 used on the client side, and arranged on the network to receive data on the client side.
- PDA personal digital assistant
- It is possible to easily construct a user interface system having the above-described functions by installing it on a server device 73 that provides a function or a function, a dedicated device 74 such as a game device, or an IC chip 86 and executing it on the CPU. And an operation signal analysis method can be executed.
- the game apparatus 1 is input from the gyro sensor 164, the acceleration sensor 169, and the like. Based on information such as an operation signal, it is possible to execute a batting detection step for determining that a batting operation has been performed by the user, and the batting detection step is continuously detected by the gyro sensor 164. Using the series of values, a batting that detects a characteristic of the batting operation related to the rotational movement of the game apparatus 1 that may occur when the user performs the batting operation that holds the game apparatus 1 with both hands and pushes the left or right hand forward. Including the detection method, by using the hit detection method, it is determined that the user has input the hit operation It is possible to realize the function.
- the hit detection step uses the angular velocity of the game apparatus 1 detected by the gyro sensor 164 to realize a function of determining whether the hit operation is performed by the user's right hand or the left hand. it can.
- the angular velocity value around the Y axis detected by the gyro sensor 164 the amount of change in angular velocity value per unit time, or a series of angular velocity values are used.
- a method is used in which a predicted value of the angular velocity ahead of a minute time or a value obtained by combining these values is compared with a threshold value.
- the game apparatus 1 further includes an acceleration sensor 169, and the hit detection step uses the acceleration detected by the acceleration sensor 169 so that the game apparatus 1 is pushed forward when the game apparatus 1 rotates. If it is determined whether the game apparatus 1 is pulled back, it is assumed that the rotational motion of the game apparatus 1 is due to the preliminary operation or the reaction after the batting operation, and the batting operation is detected. The function that suppresses is realized.
- the hit detection step detects the moment when the rotational motion of the game apparatus 1 is stopped by the hit operation of the user, predicts that the reaction will occur immediately thereafter, and limits the detection of the hit operation feature by the hit detection method. This realizes a function to prevent erroneous detection of the reaction after the hitting operation by the user.
- the hitting detection step includes two hitting detection methods, one of which is a method of detecting the characteristics of the moment when the hitting operation is started, and the other is By adopting a method for detecting a feature during a hitting operation, it is possible to detect a continuous hitting operation.
- the operation signal analysis program further includes an operation control step, and strikes an object to be operated in conjunction with a rotation angle around a predetermined axis of the game apparatus 1 calculated based on information input from the game apparatus 1. A function to execute a preliminary operation related to the operation is also realized.
- the game apparatus 1 further includes an input step arranged on the main body of the game apparatus 1, and realizes a function of changing the type or strength of the hit in the hit detection step according to the presence or absence or type of the input signal to the input step. is doing.
- this program can be distributed through a communication line, for example, and can be transferred as a package application that operates on a stand-alone computer.
- Such a program can be recorded on recording media 81 to 85 readable by a personal computer.
- recording media 81 to 85 readable by a personal computer.
- FIG. 14 there are various magnetic recording media such as a flexible disk 83 and a cassette tape 82, an optical disk 81 such as a CD-ROM and a DVD-ROM, a USB memory 85, a memory card 84, and the like. Can be recorded on any recording medium.
- the game apparatus 1 includes the gyro sensor 164, and the gyro sensor 164 detects the movement of the user's hand holding the game apparatus 1, and according to the movement of the user's hand, Since the left and right batting operations are recognized, the object can be operated intuitively even in a game in which the batting is performed with the left and right fists, such as a boxing game, and the user can obtain a better game experience. Furthermore, in this embodiment, since the left and right of the batting operation are distinguished using the direction of the angular velocity detected by the gyro sensor 164, a single control device is sufficient, for example, widespread use such as smartphones and tablet terminals. The versatile operation device can be used, and the overall cost can be reduced.
- the motion control unit 210 causes the operation target object to execute a preliminary motion related to the batting operation in conjunction with the rotation angle around the predetermined axis of the game apparatus 1, so that the reaction to the batting operation is performed.
- the speed can be increased and the operational feeling of the game can be improved.
- the action of pulling the hand holding the game apparatus 1 slightly forward is natural, and the action is linked to the preliminary action of punching by the object. Can make it natural to prepare to punch before the user actually enters the batting operation. As a result, the time from when the batting operation is input until the object actually punches is shortened, and the user can obtain a better game experience.
- the hit detection unit 211 determines whether the detection of the hit operation is actually due to the user's hit operation or the preliminary operation with the opposite hand according to the detected direction of acceleration. Thus, it is possible to prevent erroneous detection of the striking operation at the timing of the preliminary operation. If the condition that the batting operation cannot be performed until the preliminary operation is completed can be added according to the requirements of the game application, the rotation of the control device until the preliminary operation is completed without using the acceleration sensor 169. Can be determined to be due to the preliminary operation. However, in the boxing game, there is a batting operation without a preliminary operation such as jab, so it is preferable to use the acceleration sensor 169.
- the hit detection unit 211 detects the moment when the rotational motion of the game apparatus 1 is stopped by the hit operation of the user, and restricts the detection of the hit operation by predicting that a recoil will occur immediately thereafter. It prevents the recoil when the operation is stopped from being erroneously detected as a batting operation.
- the batting detection method one of them is a method for detecting the feature at the moment when the batting operation is started, and the other is a method for detecting the feature during the batting operation.
- a continuous hitting operation such as a combination punch is detected separately from a recoil when the hitting operation is stopped.
- the hit type such as jab, straight, and hook and the defense type such as guard are selected according to the touch position of the touch panel 300 which is a detection means different from the angular velocity detection of the gyro sensor 164. Therefore, it is supplemented with the selection of the type of hit and the input of the defensive action, which are difficult to realize by the method of inputting the hit operation by the movement of the user's hand.
- any characteristic regarding the rotational movement of the game apparatus 1 is detected, and the user inputs the batting operation. Any other method can be used as long as it can be used to realize the function of determining the occurrence.
- the hit detection method 1 using the angular acceleration and the hit detection method 2 using both the angular velocity and the angular acceleration are used in the detection of the hit operation.
- the hitting operation by the user may be detected using another method.
- other hit detection methods will be described.
- (A) Impact detection method 3 This hit detection method 3 detects that a hit operation is input by the user using only the angular velocity. Specifically, the hit detection method 3 is to detect a punch when the angular velocity ⁇ y (t) of rotation about the Y axis exceeds a certain threshold value T ⁇ . By using this method, if the threshold value T ⁇ is increased to some extent, it becomes easier to implement because there are fewer false detections. However, until the user actually starts the batting operation until the batting operation is detected. Another disadvantage is that it takes time.
- the hit detection method 2 described above is extended, and the angular velocity after a minute time ⁇ t is predicted using data for the past M times.
- the hit detection method 2 described above can be said to be a method of predicting the angular velocity after a minute time ⁇ t by approximating the time change of the angular velocity ⁇ y (t) with a straight line using data for the past two times.
- the accuracy is further improved by using the data for the past M times and predicting the change in angular velocity using an Nth-order curve instead of a straight line.
- the threshold value T ⁇ is increased. Specifically, when the hit detection method 1 is used, erroneous detection is prevented by increasing the threshold value T ⁇ . In this case, the threshold value T ⁇ is set to a size that can detect the batting operation to be detected at the time point D. However, the user is excited while playing the game, and the hand movement of the game apparatus 1 tends to become intense, so if the improvement process A-1 using acceleration can be used, that person Is good.
- the threshold value T ⁇ is increased. Specifically, when any one of the hit detection methods 2 to 4 is used, erroneous detection is prevented by increasing the threshold value T ⁇ . Also in this case, the threshold value T ⁇ is set to a size that can detect the striking motion to be detected at the time point D. In this case, it is better if the improvement process A-1 can be used.
- the improvement process B-2 is a process that does not detect the input of the batting operation in the state where the preliminary operation is not completed, like the improvement process A-5.
- the angular acceleration ⁇ y (t) when the batting operation is stopped is detected as in the erroneous detection at the C time point.
- the hitting operation may be determined to be a hand opposite to the hand intended by the user.
- the improvement process C-1 or C-2 is used as an improvement process for erroneous detection.
- the improvement process G-1 is to prevent the punch from being detected for a certain time once the hitting operation is detected. Specifically, after the hitting operation is detected at time D, the hitting operation is not detected during a predetermined time interval ⁇ . In the boxing game of the present embodiment, the object hitting operation is extremely fast, and the time interval ⁇ cannot be set large so that the user can continuously input the hitting operation.
- the time interval ⁇ is preferably set to a length of about 0.2 seconds.
- once a batting operation is input it may not be necessary to perform the batting operation for a while. In that case, it is possible to increase the value of the time interval ⁇ . For example, in the case of a tennis game, once the racket is shaken, it is not necessary to shake the racket for the next one second or so, so that the time interval ⁇ can be made as large as one second.
- the hit detection method 3 is a special case in which the minute time ⁇ t in the hit detection method 2 is set to zero
- the hit detection method 4 is a method in which the hit detection method 2 is further expanded. It can be applied to the hit detection method.
- threshold values have been used in the hit detection method and improvement processing described so far. These have predetermined values, and the threshold values are changed according to the situation in the improvement process D-1 and the improvement processes A-6 and B-3. However, these threshold values may be changed according to the user's environment. That is, by changing the threshold value according to the user's muscular strength, the weight of the controller, etc., the user can make the hitting operation more easily successful. These changes may be made directly according to user settings, or the user may perform several hitting operations and measure an appropriate threshold value.
- hit detection method and improvement processing that have been discussed so far are generalized to the hit detection identification function and machine learning that integrate the above hit detection method and improvement processing into one
- input of the hit operation by the user It can be identified by analyzing the change pattern (waveform) of the angular velocity ⁇ y (t) around the Y axis and the Z component of the acceleration of the game apparatus 1. For example, if a pattern analysis is performed on the 10 most recently detected angular velocity values and acceleration Z component values using a neural network or the like, an identification function using the neural network can be used as the hit detection method.
- this method requires a multi-layered network and takes time to learn, so it is not practical.
- the features are the angular velocity ⁇ y (t) and the angular acceleration at the current time t.
- Equation 25 The value obtained by multiplying t peek by ⁇ y (t p ) is used as a feature because the calculation of the attenuation of ⁇ y (t p ) by the right side of Equation 14 is performed using ⁇ y (t p ) ⁇ exp ( ⁇ t peek ) ⁇ y (t p ) ⁇ t peek ⁇ ⁇ y (t p ) (Equation 25) This is because of approximation. In our experience, a better discriminant function can be created by adding the Z component of the acceleration detected before the rotation to the feature.
- information specific to the game application may be added. For example, in the case of the embodiment of the boxing game described above, if the hitting type is selected by the touch screen, it can be predicted that there is an input of the hitting operation immediately thereafter, so that the currently selected hitting type and the previous time An elapsed time after the selection of the hit type is considered as a feature. However, since it is difficult to machine-learn the discriminant function, it is not good to increase the features unnecessarily.
- the discriminant function may be programmed based on the discussion so far, but it can also be estimated by machine learning using a neural network or the like.
- the machine learning may be able to change the threshold value according to the user environment as described above, or to absorb differences between game machines that are running game applications or games for each user. .
- the threshold value T ⁇ in the hit detection method 1, the threshold value T ⁇ in the hit detection method 2, and the minute period ⁇ of the improvement process H-1 are changed depending on the user's muscle strength, the weight and size of the game device, etc.
- one of the features is the Z component a z of acceleration and the other feature is the angular acceleration ⁇ y (t). It can be expected that the same process as the improvement process A-1 can be performed more accurately by changing the weights of.
- a mini game which is different from the original game play, is required. It is good to have you play.
- the user instructs the user with the marker that flows on the screen, the timing of the batting, the type of batting, and the left / right distinction, and the user sets the line where the marker is determined.
- the hitting operation determined in accordance with the color and shape of the marker and the location of the marker is performed at the timing of reaching.
- a machine learning teacher signal can be obtained by the mini-game as described above. However, it is necessary to devise when learning the discriminant function using this teacher signal. For example, when considering the improvement process H-1, it is difficult to distinguish between the reaction after the batting operation and the input of the combination punch operation in a very short period after the peak is detected. The hit must be detected at a timing slightly later than the timing at which it was performed. Also, the user cannot input the striking operation at the specified timing exactly like a machine. Therefore, the amount of change per unit time of the angular acceleration ⁇ y (t) around the Y axis of the game apparatus 1 is not in the vicinity of the instructed timing, but is assumed that the batting operation is performed at the timing instructed by the mini game.
- the interval is a batting operation period
- the teacher signal detects the batting operation during the batting operation period.
- This kind of machine learning has the advantage of absorbing the difference in the environment for each user and making it possible to detect the batting operation more accurately, but it is necessary to prepare a mini game to obtain a teacher signal, Even if a teacher signal is obtained, there is a problem that it takes time to learn the neural network.
- a widespread device such as a smartphone or a tablet terminal in which a display device, an arithmetic processing device, and a controller are integrated
- the device, the arithmetic processing device, and the controller are not limited to be integrated, and the controller, the arithmetic processing device, and the display device may be provided separately.
- a smartphone or the like is used as a controller, a general-purpose computer or a game device that can be wirelessly connected to the smartphone (such as Bluetooth (registered trademark)) or a computing device as a computing device, and a television device that can be connected to the computing device as a display device.
- a television device that can be connected to the computing device as a display device.
- an object displayed on a large screen can be operated.
- a toy such as a robot capable of connecting a smartphone or the like to a controller and a wireless communication (such as Bluetooth (registered trademark)) with the smartphone can be used as an object to be operated.
- the object is a driving device such as a robot toy, and the motion control unit 210 transmits a control signal to the driving device.
- the object does not necessarily need to exist in the real space or the virtual space. That is, the present invention can also be applied to an application in which the arithmetic processing unit performs a simulation that a virtual object has performed a hitting operation based on an input from the controller and outputs only the result. . For example, when a user inputs a batting operation, a virtual object not displayed on the screen performs a batting operation, and another object displayed on the screen is destroyed.
- a game application can be considered.
- a game application in which the user performs a batting operation in accordance with the rhythm and changes the display on the screen or outputs a sound effect according to the result is conceivable.
- the virtual object is like a performer with a drum drumstick.
- Converter 119 ... Amplifier 120 ... Speaker 130 ... Power amplifier 131 ... Mixer 132 ... IF amplifier 133 ... Orthogonal mixer 134 ... Converter 135 ... Modulator 136 ... Catcher channel encoder 137 ... audio encoder 138 ... Converter 139 ... amplifier 140 ... microphone 150 ... time base 151 ... EEPROM 152 ... RAM 152, EEPROM 151 ... RAM 153 ... ROM 164 ... Gyro sensor 165 ... Display 165 ... Liquid crystal display 165 ... LCD 166 ... Operation buttons 167 ... LED 168 ... Touch sensor 169 ... Acceleration sensor 171 ... Power supply system battery 172 ... Power supply 173 ... Converter 174 ...
- Vibrator 200 CPU DESCRIPTION OF SYMBOLS 201 ... Operation signal acquisition part 201a ... Operation position detection part 202 ... Application execution part 204 ... Display information generation part 204a ... 3D structure part 204b ... 2D structure part 204c ... GUI structure part 205 ... Angular velocity detection part 206 ... Operation device 210 ... Operation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
[Problem] To enable intuitive operation and use thereof in inexpensive and general purpose devices. [Solution] A controller comprises a gyro sensor 164 and a main body that can be held and operated by a user with both hands. A hit detection unit 211 is provided with a hit detection method of using a series of angular velocity values for the controller, which are detected continuously by the gyro sensor 164, to detect hit operation characteristics relating to rotational movement of the controller which could be caused when the user holding the controller with both hands pushes either of the left and right hands forward to perform a hit operation. Using the hit detection method achieves a function of determining when a user has inputted a hit operation.
Description
本発明は、例えばボクシング、テニス、スカッシュ、卓球等のスポーツゲームにおいて、打撃のタイミングを指定する打撃操作のためのユーザーインターフェースシステムと、コントローラから入力される操作信号等の情報を解析する方法及びプログラムに関する。
The present invention relates to a user interface system for batting operation that specifies the timing of batting in a sports game such as boxing, tennis, squash, table tennis, etc., and a method and program for analyzing information such as operation signals input from the controller About.
従来、テレビゲームの形態としては、家庭用ゲーム専用機や業務用アーケードゲームの他、パーソナルコンピュータなどの汎用コンピュータ上でゲームソフトを実行するなどの装置やシステムが提供されている。また、ゲームソフトの提供方式についても、従来のCD-ROM等の記録媒体を介する形態から、近年の通信インフラの発達に伴い、ゲームプログラムをインターネット等の通信網を介して提供するいわゆるオンラインゲームサービスも普及しつつある。
Conventionally, as a form of a video game, devices and systems for executing game software on a general-purpose computer such as a personal computer in addition to a home-use game machine and an arcade game for business have been provided. Also, with respect to the game software providing method, a so-called online game service that provides a game program via a communication network such as the Internet, in accordance with the recent development of communication infrastructure, from a form via a conventional recording medium such as a CD-ROM. Is also spreading.
上記テレビゲームの1つとして、例えばボクシングゲームなどのスポーツアクションゲームがあり、このスポーツアクションゲームでは、プレイヤーオブジェクトがパンチを繰り出すタイミングや、そのパンチ種類、パンチ力といったように、プレイヤーオブジェクトの動作に関する諸条件を入力する。この諸条件の入力は、例えば、画面に表示されるグラフィックユーザーインターフェース(GUI:Graphical User Interface)を通じて、ゲーム機のコントローラやタッチパネル等の入力インターフェースにより行われている(例えば、特許文献1参照。)。
As one of the above-mentioned video games, there is a sport action game such as a boxing game, for example. In this sport action game, various actions related to the action of the player object such as the timing at which the player object punches, the punch type, and the punching power. Enter the condition. The input of these conditions is performed by an input interface such as a controller of a game machine or a touch panel through a graphical user interface (GUI: Graphical User Interface) displayed on the screen (see, for example, Patent Document 1). .
特許文献1に開示された技術は、タッチスクリーンに対する指の接触位置、及び指による押圧力の大きさに応じて、画面内のオブジェクトを動作させて、ボクシングゲームを進行させるものである。ところが、特許文献1に開示されたゲーム装置は、タッチスクリーンをタップしたり、スワイプしたりすることで、パンチのタイミングが検出されるようになっているため、実際のスポーツの動作とは懸け離れてしまい、直感的な操作性が失われるという問題があった。これは、ユーザーがコントローラのボタンを押して操作するゲーム装置でも同様である。
The technique disclosed in Patent Document 1 is to advance a boxing game by moving an object in the screen in accordance with the position of the finger touching the touch screen and the pressure of the finger. However, since the game device disclosed in Patent Document 1 detects the punch timing by tapping or swiping the touch screen, it is far from the actual sports operation. As a result, there was a problem that intuitive operability was lost. The same applies to a game device that is operated by a user pressing a button on the controller.
このような問題を解決すべく、近年、所定方向への加速度を検知する加速度センサを有し、この加速度センサが検知した加速度に応じて、諸条件の入力を行うコントローラが開発され、このコントローラに対応したテレビゲーム機やゲームソフトも開発されている(例えば、特許文献2参照。)。
In order to solve such problems, in recent years, a controller that has an acceleration sensor that detects acceleration in a predetermined direction and inputs various conditions according to the acceleration detected by this acceleration sensor has been developed. Corresponding video game machines and game software have also been developed (see, for example, Patent Document 2).
この特許文献2に開示された技術は、ゲーム装置のコントローラとして機能するグローブユニットに、前後(Y軸)、左右(X軸)、及び上下(Z軸)方向の3軸の加速度をそれぞれ検出する加速度センサが設けられ、加速度センサから出力される出力波形を解析することによって、ユーザーが繰り出したパンチ種類を識別するものである。このようなグローブユニットをコントローラとして用いたゲーム装置では、コントローラの操作者の動作を、画面内のプレイヤーオブジェクトにトレースさせることができ、直感的な操作性を体感することができる。
The technique disclosed in Patent Document 2 detects three-axis accelerations in the front-rear (Y-axis), left-right (X-axis), and vertical (Z-axis) directions, respectively, in a glove unit that functions as a controller of a game device. An acceleration sensor is provided, and the type of punch fed out by the user is identified by analyzing the output waveform output from the acceleration sensor. In a game apparatus using such a glove unit as a controller, the operation of the controller operator can be traced by the player object in the screen, and intuitive operability can be experienced.
しかしながら、特許文献2に開示された技術では、ユーザーの左右それぞれの手に対して、別々のコントローラで操作する構成となっていることから、加速度センサを有するコントローラを2つ要し、ゲーム導入までのコストが高価であるという問題がある。また、特許文献2に開示された技術では、コントローラとしてグローブ型の入力ユニットを用い、ボクシングゲームにのみ利用する設計となっており、そのデザイン及び機能が特化されており、他のゲームには利用することができず、汎用性が低いという問題があった。
However, since the technique disclosed in Patent Document 2 is configured to operate the user's left and right hands with separate controllers, two controllers having acceleration sensors are required until the game is introduced. There is a problem that the cost is expensive. In addition, the technique disclosed in Patent Document 2 uses a glove-type input unit as a controller, and is designed to be used only for a boxing game. Its design and functions are specialized. There was a problem that it could not be used and its versatility was low.
そこで、本発明は以上の点に鑑みてなされたもので、例えばボクシングゲームなど、ユーザーが打撃操作を入力する必要のあるゲームにおいて、直感的な操作性が可能であり、廉価でかつ汎用性のあるデバイスで利用可能なユーザーインターフェースシステム、方法、及びプログラムを提供することをその課題とする。
Therefore, the present invention has been made in view of the above points. For example, in a game where a user needs to input a batting operation, such as a boxing game, intuitive operability is possible, and it is inexpensive and versatile. It is an object of the present invention to provide a user interface system, method, and program that can be used in a certain device.
本発明は、上述したようなユーザーインターフェースシステム、即ち、コントローラ及びコントローラから入力される情報等を処理する演算装置を備え、演算処理装置若しくは演算処理装置で実行されるソフトウェアがコントローラから入力される操作信号等の情報を元に、ユーザーから打撃操作の入力があったことを判断する手段である打撃検出部を有するユーザーインターフェースシステム、であって、上記課題を解決するために、前記コントローラは、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、前記打撃検出部は前記角速度センサによって連続的に検知される前記コントローラの角速度の一連の値を用いて、ユーザーが前記コントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得る前記コントローラの回転運動に関する前記打撃操作の特徴を検出する打撃検出法を備え、前記打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現することを特徴とする。
The present invention includes a user interface system as described above, that is, a controller and an arithmetic device that processes information input from the controller, and an operation in which the arithmetic processing device or software executed by the arithmetic processing device is input from the controller. A user interface system having a hit detection unit that is a means for determining that a user has input a hit operation based on information such as a signal, and in order to solve the above problem, the controller includes an angular velocity A sensor and a main body that can be operated with both hands, and the hit detection unit uses a series of values of the angular velocity of the controller that is continuously detected by the angular velocity sensor. A batting operation in which the controller is held with both hands and either the left or right hand is pushed forward. A hit detection method for detecting a feature of the hit operation related to the rotational motion of the controller that can occur when the hit is performed, and a function for determining that the user has input a hit operation by using the hit detection method It is characterized by realizing. *
また、他の発明は、コントローラから入力される操作信号等の情報を元に、ユーザーによる打撃操作があったことを判断する打撃検出ステップを有するユーザーインターフェースシステムにおける操作信号解析方法であって、
(1)コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
(2)打撃検出ステップが、角速度センサによって連続的に検知されるコントローラの角速度の一連の値を用いて、ユーザーがコントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得るコントローラの回転運動に関する打撃操作の特徴を検出する打撃検出法を含み、
(3)打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現する
ことを特徴とする。 Further, another invention is an operation signal analysis method in a user interface system having a batting detection step of determining that there has been a batting operation by a user based on information such as an operation signal input from a controller,
(1) The controller has an angular velocity sensor and a main body that the user can operate with both hands,
(2) When the hit detection step performs a hit operation in which the user holds the controller with both hands and pushes out either the left or right hand using a series of values of the controller's angular speed continuously detected by the angular speed sensor. A batting detection method for detecting the characteristics of the batting operation related to the rotational movement of the controller that can occur in the
(3) By using a hit detection method, a function for determining that a user has input a hit operation is realized.
(1)コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
(2)打撃検出ステップが、角速度センサによって連続的に検知されるコントローラの角速度の一連の値を用いて、ユーザーがコントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得るコントローラの回転運動に関する打撃操作の特徴を検出する打撃検出法を含み、
(3)打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現する
ことを特徴とする。 Further, another invention is an operation signal analysis method in a user interface system having a batting detection step of determining that there has been a batting operation by a user based on information such as an operation signal input from a controller,
(1) The controller has an angular velocity sensor and a main body that the user can operate with both hands,
(2) When the hit detection step performs a hit operation in which the user holds the controller with both hands and pushes out either the left or right hand using a series of values of the controller's angular speed continuously detected by the angular speed sensor. A batting detection method for detecting the characteristics of the batting operation related to the rotational movement of the controller that can occur in the
(3) By using a hit detection method, a function for determining that a user has input a hit operation is realized.
本発明では、ユーザーは単一のコントローラ本体を両手で持ち、ユーザー自身が打撃動作をするかのように片方の手を前に押し出すことにより、打撃操作を入力する。このような本発明によれば、コントローラ内に角速度センサを備え、この角速度センサによって、コントローラを持つユーザーの手の動きを検出しているため、例えば、ボクシングゲームなど左右の拳で打撃を行うゲームにおいても直感的にオブジェクトを操作でき、ユーザーはより良いゲーム体験を得ることができる。
In the present invention, the user holds the single controller main body with both hands, and inputs a striking operation by pushing one hand forward as if the user himself performed a striking motion. According to the present invention as described above, since the angular velocity sensor is provided in the controller, and the movement of the user's hand having the controller is detected by the angular velocity sensor, for example, a game in which a left and right fist is hit such as a boxing game The user can operate the object intuitively, and the user can obtain a better game experience.
上記発明において、打撃検出部が、角速度センサによって検出されるコントローラの角速度を用いることによって、打撃操作がユーザーの右手によって行なわれたのか左手によって行なわれたのかを判断する機能を備えることが可能となる。この場合には、角速度センサによって検知された角速度の向きを用いて打撃操作の左右を区別できるので、単一の制御装置があれば良く、例えば、スマートフォンやタブレット端末などの広く普及している汎用性のある操作デバイスを利用でき、コスト全体を安価にすることができる。
In the above invention, the hit detection unit can have a function of determining whether the hitting operation is performed by the user's right hand or the left hand by using the angular velocity of the controller detected by the angular velocity sensor. Become. In this case, since the left and right of the batting operation can be distinguished using the direction of the angular velocity detected by the angular velocity sensor, it is sufficient to have a single control device, for example, widely used general-purpose devices such as smartphones and tablet terminals. A reliable operation device can be used, and the overall cost can be reduced.
上記発明において、打撃検出法のひとつとして、角速度センサによって検出される、打撃操作が行なわれた場合のコントローラの自然な回転軸とみなせる所定の軸まわりの角速度の値、若しくは角速度の値の単位時間あたりの変化量、若しくは一連の角速度の値を用いて予測された微小時間(0.01秒から0.05秒程度)先の角速度の値、若しくはこれらの値を結合することによって得られる値をしきい値と比較する方法を用いることができる。ここでしきい値は所定の値としても良いが、ゲームの状況によって変化させたり、ユーザー設定やユーザーの環境によって変更させたりしても良い。
In the above invention, as one of the hit detection methods, the angular velocity value around the predetermined axis that can be regarded as the natural rotation axis of the controller when the hit operation is performed, or the unit time of the angular velocity value, which is detected by the angular velocity sensor Per minute, or a minute time predicted by using a series of angular velocity values (about 0.01 to 0.05 seconds) ahead angular velocity values, or values obtained by combining these values A method of comparing with a threshold value can be used. Here, the threshold value may be a predetermined value, but may be changed depending on the game situation, or may be changed according to user settings or a user environment.
上記発明において、コントローラから入力される情報を元に算出されるコントローラの所定の軸まわりの回転角と連動して、操作対象のオブジェクトに打撃動作に関する予備動作を実行させる機能、若しくはオブジェクトに予備動作を実行させるための制御信号を送信する機能を持つことが好ましい。この場合には、ユーザーによる打撃操作が行われる前に、その予備操作に基づく回転を検知し、事前に画面上のオブジェクトに対して予備動作(例えばパンチの前に腕を振り上げる動作)を実行させることによってゲームの操作感を向上させることができる。
In the above invention, a function for causing the object to be operated to perform a preliminary motion related to the striking motion in conjunction with a rotation angle around a predetermined axis of the controller calculated based on information input from the controller, or a preliminary motion for the object It is preferable to have a function of transmitting a control signal for executing the above. In this case, before the batting operation is performed by the user, the rotation based on the preliminary operation is detected, and the preliminary operation (e.g., swinging up the arm before punching) is performed on the object on the screen in advance. By doing so, the operational feeling of the game can be improved.
すなわち、従来の技術では、単に打撃操作が検出されてからオブジェクトにパンチの予備動作を開始させているため、ユーザーが意図したタイミングと実際にオブジェクトがパンチを出すタイミングに遅延が発生していた。本発明では、ユーザーが打撃操作の前に、打撃操作と反対の方向にコントローラを持つ手を引くことは自然であり、角速度センサによって検出されるゲーム装置の回転角に連動してオブジェクトがパンチの予備動作(体をひねって腕を振り上げる)をすることによって、打撃操作が検出される前からオブジェクトに予備動作を開始させることができ、打撃操作が検出されてから実際にオブジェクトがパンチを出すまでの時間を短縮できる。これにより、オブジェクトがパンチを出すタイミングの遅延を短縮して、ユーザーによりよいゲーム体験を与えることができる。
That is, in the conventional technique, since the object is started with the punch preliminary operation after simply detecting the hitting operation, there is a delay between the timing intended by the user and the timing at which the object actually punches. In the present invention, it is natural that the user pulls the hand holding the controller in the opposite direction to the batting operation before the batting operation, and the object is punched in conjunction with the rotation angle of the game device detected by the angular velocity sensor. By performing a preliminary motion (twist up and swinging up the arm), the object can start a preliminary motion before the batting operation is detected, and the object actually punches after the batting operation is detected. Can be shortened. Thereby, the delay of the timing which an object punches can be shortened, and a better game experience can be given to the user.
上記発明において、打撃検出部は角速度センサにより検知される角速度や角速度の単位時間あたりの変化量等を用いて打撃操作の検出を行なうが、検知された角速度や角速度の単位時間あたりの変化量が、打撃操作によるものなのか予備操作によるものなのかを判別することは難しいため、角速度センサに加えて加速度センサを用いるのが好ましい。すなわち、上記発明において、コントローラがさらに加速度センサを内部に備え、打撃検出部が、加速度センサにより検出された加速度を用いることで、コントローラが回転運動をした際にコントローラが前に押し出されているのか後ろに引き戻されているのかを判断し、後ろに引き戻されていると判断した場合にはコントローラの回転運動は予備操作若しくは打撃操作後の反動によるものとして、打撃操作の検出を抑制する。
In the above invention, the hit detection unit detects the hitting operation using the angular velocity detected by the angular velocity sensor or the change amount per unit time of the angular velocity, but the change amount per unit time of the detected angular velocity or angular velocity is Since it is difficult to determine whether the operation is a hitting operation or a preliminary operation, it is preferable to use an acceleration sensor in addition to the angular velocity sensor. That is, in the above invention, the controller further includes an acceleration sensor, and the impact detection unit uses the acceleration detected by the acceleration sensor, so that the controller is pushed forward when the controller makes a rotational motion. It is determined whether or not it is pulled back, and if it is determined that the controller is pulled back, the rotation motion of the controller is assumed to be due to the reaction after the preliminary operation or the batting operation, and the detection of the batting operation is suppressed.
上記発明を実施するにあたり、ゲームアプリケーションの要件によって予備操作が完了するまで打撃操作を行なうことができないという条件を付加することができるのであれば、加速度センサを用いなくても、予備操作が完了するまでは制御装置の回転が予備操作によるものと判断することもできる。しかし、ボクシングゲームにおいては予備操作なしのジャブのような打撃操作があるため、このような条件を付加することはできない。
In carrying out the above invention, if it is possible to add a condition that the batting operation cannot be performed until the preliminary operation is completed according to the requirements of the game application, the preliminary operation is completed without using the acceleration sensor. Until then, it can be determined that the rotation of the control device is due to the preliminary operation. However, in a boxing game, such a condition cannot be added because there is a batting operation like a jab without a preliminary operation.
また、加速度センサを用いることで、打撃操作と打撃操作後の反動とをある程度区別することが可能となるが、より確実に区別するために、打撃検出部は、ユーザーの打撃操作によるコントローラの回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して打撃検出法による打撃操作の特徴の検出を制限することにより、ユーザーによる打撃操作の後の反動を誤って検出してしまうことを防ぐことが好ましい。
In addition, by using the acceleration sensor, it is possible to distinguish the batting operation and the reaction after the batting operation to some extent, but in order to more reliably distinguish the batting operation unit, the rotation of the controller by the user's batting operation is performed. By detecting the moment when the movement stops and predicting that a recoil will occur immediately after that, limiting the detection of the characteristics of the batting operation by the batting detection method, the recoil after the batting operation by the user is erroneously detected. It is preferable to prevent this.
一方で、このように打撃操作の検出を制限することによって、コンビネーションパンチのような連続した打撃操作の入力が困難になるという問題が発生する。そこで、上記発明において、ユーザーによる連続した打撃操作の入力を正確に検出するために、打撃検出部は少なくとも2つの打撃検出法を備え、1つを打撃操作が開始された瞬間の特徴を検出する方法にし、もう1つを打撃操作が行なわれている最中の特徴を検出する方法にすることで、連続した打撃操作の検出を可能にする。ここで、1つを打撃検出法1、もう1つを打撃検出法2とする。
On the other hand, by limiting the detection of the hitting operation in this way, there arises a problem that it becomes difficult to input continuous hitting operations such as a combination punch. Therefore, in the above invention, in order to accurately detect the input of the continuous hitting operation by the user, the hitting detection unit includes at least two hitting detection methods, one of which detects the characteristics of the moment when the hitting operation is started. By using a method and detecting the feature during the hitting operation, the other hitting operation can be detected. Here, one is a hit detection method 1 and the other is a hit detection method 2.
この場合、打撃検出法1は角速度の時間変化、すなわち角加速度、を重視して打撃操作の入力があったことを検出する。角加速度を使うことにより、打撃検出法1はユーザーが打撃操作のために制御装置を回転させ始めた瞬間を検知することができ、反応速度が良くなる。しかしながら、角加速度が大きくなるのは制御装置を回転させ始めた瞬間だけでなく、回転を止めた瞬間、回転を止めた反動で制御装置が元の向きに戻る瞬間、回転を止めた反動が再び停止する瞬間等でも大きくなるため、これらの瞬間で誤って打撃操作を検出しないようにする必要がある。回転が止まる瞬間の角加速度は角速度と向きが同じかどうかで区別できる。一方、回転を止めた反動での角加速度は、回転が止まった瞬間を検知し、その時点での角加速度を基準にして一時的にしきい値を大きくすることで、反動による角加速度と打撃操作による角加速度を区別する。
In this case, the batting detection method 1 detects that the batting operation has been input with emphasis on the temporal change of angular velocity, that is, angular acceleration. By using the angular acceleration, the hit detection method 1 can detect the moment when the user starts to rotate the control device for the hit operation, and the response speed is improved. However, the angular acceleration increases not only at the moment when the control device starts to rotate, but also at the moment when the rotation stops, the moment when the control device returns to the original direction after stopping the rotation, Since it becomes large even at the moment of stopping, it is necessary to prevent the hitting operation from being erroneously detected at these moments. The angular acceleration at the moment when the rotation stops can be distinguished by whether the angular velocity and the direction are the same. On the other hand, the angular acceleration due to the reaction that stopped rotating detects the moment when the rotation stops and temporarily increases the threshold value based on the angular acceleration at that time, so that the angular acceleration caused by the reaction and the batting operation Differentiate angular acceleration due to.
一方の打撃検出法2は角速度を重視して打撃操作の入力を検出する。ユーザーが打撃操作の入力ために制御装置を回転させ始めてから角速度の大きさが一定以上になるまでにはある程度時間を要するため、打撃検出法2は打撃検出法1のように打撃操作の開始を瞬時に検出することはできない。しかしながら、角速度の値はユーザーが打撃操作をしている比較的長い間大きな値を保つ。そのため、打撃検出法2は打撃操作によるコントローラの回転運動が停止した瞬間からのごく短い期間内に検出された打撃操作の入力を無視して打撃操作後の反動を誤って打撃操作として検出することを防いだとしても、コンビネーションパンチのような連続した打撃操作を検出することができる。
On the other hand, the hit detection method 2 detects the input of the hit operation with an emphasis on the angular velocity. Since a certain amount of time is required until the magnitude of the angular velocity reaches a certain level or more after the user starts rotating the control device for inputting the batting operation, the batting detection method 2 starts the batting operation like the batting detection method 1. It cannot be detected instantaneously. However, the value of the angular velocity remains large for a relatively long time when the user performs a hitting operation. Therefore, the hit detection method 2 ignores the input of the hit operation detected within a very short period from the moment when the rotational motion of the controller by the hit operation stops, and erroneously detects the reaction after the hit operation as the hit operation. Even if this is prevented, a continuous hitting operation such as a combination punch can be detected.
上記発明において、コントローラが、コントローラ本体に配置された入力部をさらに備え、打撃検出部が、入力部への入力信号の有無又は種別に応じて、打撃の種別又は強弱を変化させる機能を有することが好ましい。角速度センサによる打撃操作の入力は直感的ではあるが、タッチやスワイプ、コントローラのボタン入力とは異なり打撃動作の種別を区別して入力するのには適さない。しかし、コントローラに角速度検出とは別の検知手段を用意し、それを利用すれば、角速度センサによる直感的な打撃動作の入力と、打撃種類又は強弱を変化させる操作とを両立させることができる。
In the above invention, the controller further includes an input unit arranged in the controller body, and the hit detection unit has a function of changing the type or strength of the hit according to the presence or type of the input signal to the input unit. Is preferred. Although the input of the striking operation by the angular velocity sensor is intuitive, unlike the touch, swipe, or controller button input, it is not suitable for inputting the type of striking operation separately. However, if a detection means different from the angular velocity detection is prepared in the controller and is used, it is possible to achieve both an intuitive batting operation input by the angular velocity sensor and an operation for changing the striking type or strength.
また、これらのユーザーインターフェースシステム及び操作信号解析方法は、所定の言語で記述された本発明のゲームプログラムをコンピュータ上で実行することにより実現することができる。すなわち、コントローラから入力される操作信号等の情報を元にユーザーによる打撃操作の入力があったことを判断する打撃検出ステップを有するユーザーインターフェースシステムにおける操作信号解析プログラムであって、
(1)コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
(2)打撃検出ステップが、角速度センサによって連続的に検知されるコントローラの角速度の一連の値を用いて、ユーザーがコントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得るコントローラの回転運動に関する打撃操作の特徴を検出する打撃検出法を含み、
(3)打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現することを特徴とする。 Further, these user interface system and operation signal analysis method can be realized by executing the game program of the present invention described in a predetermined language on a computer. That is, an operation signal analysis program in a user interface system having a batting detection step for determining that a batting operation is input by a user based on information such as an operation signal input from a controller,
(1) The controller has an angular velocity sensor and a main body that the user can operate with both hands,
(2) When the hit detection step performs a hit operation in which the user holds the controller with both hands and pushes out either the left or right hand using a series of values of the controller's angular speed continuously detected by the angular speed sensor. A batting detection method for detecting the characteristics of the batting operation related to the rotational movement of the controller that can occur in the
(3) By using a hit detection method, a function for determining that a user has input a hit operation is realized.
(1)コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
(2)打撃検出ステップが、角速度センサによって連続的に検知されるコントローラの角速度の一連の値を用いて、ユーザーがコントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得るコントローラの回転運動に関する打撃操作の特徴を検出する打撃検出法を含み、
(3)打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現することを特徴とする。 Further, these user interface system and operation signal analysis method can be realized by executing the game program of the present invention described in a predetermined language on a computer. That is, an operation signal analysis program in a user interface system having a batting detection step for determining that a batting operation is input by a user based on information such as an operation signal input from a controller,
(1) The controller has an angular velocity sensor and a main body that the user can operate with both hands,
(2) When the hit detection step performs a hit operation in which the user holds the controller with both hands and pushes out either the left or right hand using a series of values of the controller's angular speed continuously detected by the angular speed sensor. A batting detection method for detecting the characteristics of the batting operation related to the rotational movement of the controller that can occur in the
(3) By using a hit detection method, a function for determining that a user has input a hit operation is realized.
このような発明によれば、操作信号解析プログラムを使用することで、特別な処理装置を必要とせず、上述したユーザーインターフェースシステム及び操作信号解析方法を、様々な情報処理装置において実現することができる。すなわち、この操作信号解析プログラムを、汎用的なコンピュータやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するユーザーインターフェースシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このような操作信号解析プログラムは、コンピュータで読み取り可能な記録媒体に記録することができ、汎用のコンピュータや専用コンピュータを用いて、上述したシステムや方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
According to such an invention, by using the operation signal analysis program, the above-described user interface system and operation signal analysis method can be realized in various information processing apparatuses without requiring a special processing device. . That is, by installing this operation signal analysis program on a general-purpose computer or IC chip and executing it on the CPU, a user interface system having the above-described functions can be easily constructed. This program can be distributed through a communication line, for example, and can be transferred as a package application that operates on a stand-alone computer. Such an operation signal analysis program can be recorded on a computer-readable recording medium, and the above-described system and method can be implemented using a general-purpose computer or a dedicated computer. The program can be easily stored, transported and installed.
以上説明したように本発明によれば、例えばボクシングゲームなど、打撃のタイミングを指定する打撃操作を入力し、ゲームを進行させるゲームにおいて、角速度センサに基づいてユーザーによる打撃操作を認識することで、直感的な操作が可能なユーザーインターフェースシステムを、廉価でかつ汎用性のあるデバイスで実現できる。
As described above, according to the present invention, for example, a batting operation that specifies the timing of batting is input, such as a boxing game, and the batting operation by the user is recognized based on the angular velocity sensor in a game that advances the game. A user interface system capable of intuitive operation can be realized with an inexpensive and versatile device.
(ゲーム装置の基本構成)
以下に添付図面を参照して、本発明の実施形態を詳細に説明する。図1は、本実施形態に係るユーザーによって打撃操作を入力するためのユーザーインターフェースシステムを構成するゲーム装置1を示す斜視図である。なお、本実施形態では、ゲーム装置1上で、ボクシングゲームソフトを実行する場合を例示する。また、本実施形態では、本発明をボクシングゲームソフトに適用した場合を例に説明するが、本発明はこれに限定されるものではなく、例えば、テニス、スカッシュ、卓球などのスポーツアクションゲーム等、仮想空間に配置されるプレイヤーオブジェクト等のオブジェクトに対して打撃のタイミングを指定する打撃操作を入力し、ゲームを進行させるゲームソフトウェアを実行するゲームソフトウェアなどにも適用することができる。他にも、実空間上にあるロボット玩具のような駆動装置を制御するのに用いることもできるし、さらには、操作対象となるオブジェクトは必ずしも実空間若しくは仮想空間に存在しなくてもよく、仮想的なオブジェクトが打撃動作を行なったとするシミュレーションを行ない、その演算結果のみを出力するようなソフトウェアにも適用できる。例えば、ユーザーの打撃操作により仮想的なプレイヤーオブジェクトが太鼓を叩いたかのように音を出すといった音楽ゲームソフトウェアなどである。 (Basic configuration of game device)
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 is a perspective view showing agame apparatus 1 constituting a user interface system for inputting a batting operation by a user according to the present embodiment. In the present embodiment, a case where boxing game software is executed on the game apparatus 1 is illustrated. Further, in the present embodiment, the case where the present invention is applied to boxing game software will be described as an example, but the present invention is not limited to this, for example, sports action games such as tennis, squash, table tennis, etc. The present invention can also be applied to game software for executing game software for executing a game by inputting a batting operation for designating the timing of batting on an object such as a player object placed in a virtual space. In addition, it can be used to control a driving device such as a robot toy in the real space, and further, the object to be operated does not necessarily exist in the real space or the virtual space. The present invention can also be applied to software that performs a simulation that a virtual object performs a hitting operation and outputs only the calculation result. For example, music game software that makes a sound as if a virtual player object struck a drum by a user's hitting operation.
以下に添付図面を参照して、本発明の実施形態を詳細に説明する。図1は、本実施形態に係るユーザーによって打撃操作を入力するためのユーザーインターフェースシステムを構成するゲーム装置1を示す斜視図である。なお、本実施形態では、ゲーム装置1上で、ボクシングゲームソフトを実行する場合を例示する。また、本実施形態では、本発明をボクシングゲームソフトに適用した場合を例に説明するが、本発明はこれに限定されるものではなく、例えば、テニス、スカッシュ、卓球などのスポーツアクションゲーム等、仮想空間に配置されるプレイヤーオブジェクト等のオブジェクトに対して打撃のタイミングを指定する打撃操作を入力し、ゲームを進行させるゲームソフトウェアを実行するゲームソフトウェアなどにも適用することができる。他にも、実空間上にあるロボット玩具のような駆動装置を制御するのに用いることもできるし、さらには、操作対象となるオブジェクトは必ずしも実空間若しくは仮想空間に存在しなくてもよく、仮想的なオブジェクトが打撃動作を行なったとするシミュレーションを行ない、その演算結果のみを出力するようなソフトウェアにも適用できる。例えば、ユーザーの打撃操作により仮想的なプレイヤーオブジェクトが太鼓を叩いたかのように音を出すといった音楽ゲームソフトウェアなどである。 (Basic configuration of game device)
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. FIG. 1 is a perspective view showing a
本実施形態に係るゲーム装置1は、CPUを備えた演算処理装置であり、携帯可能な情報処理端末や、機能を特化させた専用装置により実現することができ、モバイルコンピュータやPDA(Personal Digital Assistance)、携帯電話機が含まれる。なお、本実施形態においてゲーム装置1は、通信機能を有し、通信ネットワークを通じて、サーバーにアクセス可能となっており、このサーバーを通じて、本発明に係るゲームプログラムがダウンロード可能となっている。ゲーム装置1の通信方式としては、例えば、4G方式、LTE方式、3G方式、FDMA方式、TDMA方式、CDMA方式、W-CDMAの他、PHS(Personal Handyphone System)方式、Wi-Fi(登録商標)、Bluetooth(登録商標)などの無線LAN方式が挙げられる。
The game apparatus 1 according to the present embodiment is an arithmetic processing apparatus including a CPU, and can be realized by a portable information processing terminal or a dedicated apparatus specialized in function, and can be implemented by a mobile computer or a PDA (Personal Digital Assistance) and mobile phone. In the present embodiment, the game apparatus 1 has a communication function and can access a server through a communication network, and the game program according to the present invention can be downloaded through the server. As a communication method of the game apparatus 1, for example, 4G method, LTE method, 3G method, FDMA method, TDMA method, CDMA method, W-CDMA, PHS (Personal Handyphone System) method, Wi-Fi (registered trademark) And a wireless LAN system such as Bluetooth (registered trademark).
ゲーム装置1は、図1に示すように、矩形状の制御装置本体100を有しており、この本体100に表示装置である液晶ディスプレイ165が備えられ、この液晶ディスプレイ(LCD)165には、その画面内にオブジェクトの状態が表示され、表示されるオブジェクトを操作して、ゲームを進行させる。また、ゲーム装置1は、制御装置本体100内部にCPU200を備え、演算処理装置としての機能も有している。
As shown in FIG. 1, the game apparatus 1 has a rectangular control device main body 100, and the main body 100 is provided with a liquid crystal display 165 that is a display device. The liquid crystal display (LCD) 165 includes: The state of the object is displayed in the screen, and the game is progressed by operating the displayed object. In addition, the game apparatus 1 includes a CPU 200 in the control apparatus main body 100, and also has a function as an arithmetic processing apparatus.
そして、本実施形態においては、ゲーム装置1自体がコントローラとしての機能を有している。具体的に、ゲーム装置1の制御装置本体100はジャイロセンサ(角速度センサ)164を内部に備えており、ゲーム装置1の3軸方向への角速度を検知することができるようになっている。ここで、角速度とは、物体が回転運動をするときの回転の速さを、単位時間あたりの回転角で表したものである。ユーザーはゲーム装置本体を両手で水平に持ち、片方の手をパンチをするかのように前に押し出すことで打撃操作の入力を行なう。本実施形態では、ジャイロセンサ164で検出される角速度に加え、連続的に検出される角速度から制御装置本体100に作用する角加速度や回転角を算出し、それらの値に応じてオブジェクトを操作する。
In this embodiment, the game apparatus 1 itself has a function as a controller. Specifically, the control device main body 100 of the game apparatus 1 includes a gyro sensor (angular velocity sensor) 164 therein, and can detect the angular velocity of the game apparatus 1 in the three-axis directions. Here, the angular velocity is the speed of rotation when the object makes a rotational motion, which is represented by a rotation angle per unit time. The user holds the game apparatus main body horizontally with both hands, and inputs a batting operation by pushing one hand forward as if punching. In the present embodiment, in addition to the angular velocity detected by the gyro sensor 164, the angular acceleration and rotation angle acting on the control device main body 100 are calculated from the angular velocity continuously detected, and the object is operated according to those values. .
また、ゲーム装置1の制御装置本体100は加速度センサ169を内部に備えており、ゲーム装置1に外部から加えられた加速度を検知することができるようになっている。なお、本実施形態では、検知された加速度は、ユーザー操作によるゲーム装置1の回転運動が予備操作なのか打撃操作なのかを判断するために用いられる。
Further, the control device main body 100 of the game apparatus 1 includes an acceleration sensor 169 inside, and can detect acceleration applied to the game apparatus 1 from the outside. In the present embodiment, the detected acceleration is used to determine whether the rotational motion of the game apparatus 1 by the user operation is a preliminary operation or a batting operation.
なお、本発明において、本実施形態のように表示装置、演算処理装置、及びコントローラが一体になっている必要はなく、むしろ、コントローラと表示装置は別々になっていた方が好ましいが、本実施形態は、本発明をスマートフォンやタブレット端末などの広く普及したデバイスで実現可能であることを示している。
In the present invention, it is not necessary that the display device, the arithmetic processing device, and the controller are integrated as in the present embodiment. Rather, it is preferable that the controller and the display device are separate, but this embodiment The form shows that the present invention can be implemented by widely used devices such as smartphones and tablet terminals.
本実施形態においては、図1に示すように、ゲーム装置1の長手方向をX軸とし、ユーザーがゲーム装置1を両手で持った場合の左手から右手に向かう方向をX軸の正の方向とする。また、ユーザーがゲーム装置1を両手で持ち、左右どちらかの手を前に押し出す打撃操作を行なった際の自然な回転軸と並行で、X軸に直交し、ゲーム装置1のLCD165の表面に平行な上下方向をY軸とし、下から上に向かう方向をY軸の正の方向とする。また、X軸とY軸とに直交し、LCD165の表面に対して垂直な方向をZ軸とし、ゲーム装置1からユーザーに向かう方向をZ軸の正の方向とする。なお、上述したゲーム装置1の向きや角速度を記述するための座標(X軸、Y軸、Z軸)は、本実施形態の内容を説明するためだけに用いるもので、コントローラからの入力信号が持つ座標系とは異なっていてもよい。
In the present embodiment, as shown in FIG. 1, the longitudinal direction of the game apparatus 1 is the X axis, and the direction from the left hand to the right hand when the user holds the game apparatus 1 with both hands is the positive direction of the X axis. To do. In addition, the user holds the game apparatus 1 with both hands and performs a striking operation in which one of the left and right hands is pushed forward, in parallel with the natural rotation axis, perpendicular to the X axis and on the surface of the LCD 165 of the game apparatus 1 The parallel vertical direction is the Y axis, and the direction from the bottom to the top is the positive direction of the Y axis. A direction perpendicular to the X axis and the Y axis and perpendicular to the surface of the LCD 165 is defined as a Z axis, and a direction from the game apparatus 1 toward the user is defined as a positive direction of the Z axis. Note that the above-described coordinates (X axis, Y axis, Z axis) for describing the orientation and angular velocity of the game apparatus 1 are used only for explaining the contents of the present embodiment. It may be different from the coordinate system it has.
このゲーム装置1には、前記オブジェクトを操作する操作信号の入力デバイスとして、タッチパネル300が備えられている。タッチパネル300は、ユーザーの指先やペンなどを用いたタッチ操作によって操作信号を入力する入力デバイスであり、グラフィックを表示する表示部であるLCD165と、タッチ操作による操作信号を受け付けるタッチセンサ168とが重畳されて構成される。このため、タッチセンサ168によってタッチ操作が検出された位置を、LCD165に表示されているグラフィックの座標位置に対応させて特定することが可能となっている。
The game apparatus 1 includes a touch panel 300 as an input device for an operation signal for operating the object. The touch panel 300 is an input device that inputs an operation signal by a touch operation using a user's fingertip, pen, or the like, and an LCD 165 that is a display unit that displays a graphic and a touch sensor 168 that receives an operation signal by the touch operation are superimposed. Configured. For this reason, the position where the touch operation is detected by the touch sensor 168 can be specified in correspondence with the coordinate position of the graphic displayed on the LCD 165.
(ゲーム装置1の内部構造)
以上説明した表示・操作が可能なタッチパネル300及びジャイロセンサ164を有するゲーム装置1の具体的な内部構成について、以下に詳述する。図2は、本実施形態に係るゲーム装置1の内部構成を示すブロック図である。なお、以下の説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。 (Internal structure of game device 1)
A specific internal configuration of thegame apparatus 1 having the touch panel 300 and the gyro sensor 164 capable of display / operation described above will be described in detail below. FIG. 2 is a block diagram showing an internal configuration of the game apparatus 1 according to the present embodiment. The “module” used in the following description is a functional unit for achieving a predetermined operation, which is configured by hardware such as a device or equipment, software having the function, or a combination thereof. Indicates.
以上説明した表示・操作が可能なタッチパネル300及びジャイロセンサ164を有するゲーム装置1の具体的な内部構成について、以下に詳述する。図2は、本実施形態に係るゲーム装置1の内部構成を示すブロック図である。なお、以下の説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。 (Internal structure of game device 1)
A specific internal configuration of the
図2に示すように、ゲーム装置1は、アンテナ101に接続されたデュプレクサ102と、このデュプレクサ102に接続された受信系モジュール及び送信系モジュールとを備えている。受信系モジュールとしては、低ノイズアンプ110、ミキサ111、IFアンプ112、直交ミキサ113、A/Dコンバータ114、復調器115、チャネルデコーダ116、音声デコーダ117、D/Aコンバータ118、スイッチ付きアンプ119、及びスピーカ120を備えている。一方、送信系モジュールとしては、マイク140、アンプ139、A/Dコンバータ138、音声エンコーダ137、チャネルエンコーダ136、変調器135、D/Aコンバータ134、直交ミキサ133、IFアンプ132、ミキサ131、及びパワーアンプ130を備えている。
As shown in FIG. 2, the game apparatus 1 includes a duplexer 102 connected to the antenna 101, and a reception system module and a transmission system module connected to the duplexer 102. The reception system module includes a low noise amplifier 110, a mixer 111, an IF amplifier 112, an orthogonal mixer 113, an A / D converter 114, a demodulator 115, a channel decoder 116, an audio decoder 117, a D / A converter 118, and an amplifier 119 with a switch. And a speaker 120. On the other hand, the transmission system module includes a microphone 140, an amplifier 139, an A / D converter 138, an audio encoder 137, a channel encoder 136, a modulator 135, a D / A converter 134, an orthogonal mixer 133, an IF amplifier 132, a mixer 131, and A power amplifier 130 is provided.
また、ゲーム装置1は、制御系モジュールとして、シンセサイザ103、タイムベース150、CPU200、RAM152、ROM153、EEPROM151を備え、ユーザーインターフェース系モジュールとして、ジャイロセンサ164、LCD165、操作ボタン166、LED167、タッチセンサ168、及びバイブレータ174を備え、さらに、電源系モジュールとして、電源系電池171、電源172、及びA/Dコンバータ173を備える。前述のタッチパネル300は、グラフィックを表示するLCD165と、LCD165に表示されたグラフィックの座標位置に対応した操作信号を受け付けるタッチセンサ168とが重畳されて構成されている。
The game apparatus 1 also includes a synthesizer 103, a time base 150, a CPU 200, a RAM 152, a ROM 153, and an EEPROM 151 as control system modules, and a gyro sensor 164, an LCD 165, operation buttons 166, an LED 167, and a touch sensor 168 as user interface system modules. And a vibrator 174, and further, as a power system module, a power system battery 171, a power source 172, and an A / D converter 173 are provided. The touch panel 300 described above is configured by superimposing an LCD 165 that displays a graphic and a touch sensor 168 that receives an operation signal corresponding to the coordinate position of the graphic displayed on the LCD 165.
前記アンテナ101は、電波回線を介して基地局(図示せず)に対し信号を送受信する。デュプレクサ102は、送受信される信号の入出力を切り替える回路であり、アンテナ101が受信した信号を低ノイズアンプ110に入力し、パワーアンプ130から出力された信号をアンテナ101に出力する。
The antenna 101 transmits and receives signals to and from a base station (not shown) via a radio wave line. The duplexer 102 is a circuit that switches between input and output of a signal to be transmitted and received. The duplexer 102 inputs a signal received by the antenna 101 to the low noise amplifier 110 and outputs a signal output from the power amplifier 130 to the antenna 101.
受信系モジュールにおいて、低ノイズアンプ110は、デュプレクサ102から入力された信号を増幅し、ミキサ111に出力する。ミキサ111は、低ノイズアンプ110の出力を受け、特定の周波数だけ分離して中間周波数信号として出力する。IFアンプ112は、ミキサ111から出力された中間周波数信号を増幅する。直交ミキサ113は、IFアンプ112の出力を受け直交復調する。A/Dコンバータ114は、直交ミキサ113の出力をデジタル化する。復調器115は、A/Dコンバータ114の出力を復調する。チャネルデコーダ116は、復調器115の出力に対して誤り訂正を行う。誤り訂正を行った信号には、制御メッセージ及び音声データが含まれる。制御メッセージはCPU200に、音声データは音声デコーダ117に送出される。
In the reception system module, the low noise amplifier 110 amplifies the signal input from the duplexer 102 and outputs the amplified signal to the mixer 111. The mixer 111 receives the output of the low noise amplifier 110, separates it by a specific frequency, and outputs it as an intermediate frequency signal. The IF amplifier 112 amplifies the intermediate frequency signal output from the mixer 111. The orthogonal mixer 113 receives the output of the IF amplifier 112 and performs orthogonal demodulation. The A / D converter 114 digitizes the output of the orthogonal mixer 113. The demodulator 115 demodulates the output of the A / D converter 114. Channel decoder 116 performs error correction on the output of demodulator 115. The error-corrected signal includes a control message and voice data. The control message is sent to the CPU 200 and the voice data is sent to the voice decoder 117.
かかるチャネルデコーダ116から音声デコーダ117に入力された信号は、音声データにデコードされ、D/Aコンバータ118に受け渡される。D/Aコンバータ118は音声デコーダ117の出力をアナログ信号に変換する。スイッチ付きアンプ119は、CPU200からの制御信号に基づいて、適宜のタイミングで切り替えられ、スイッチONの状態においてD/Aコンバータ118の出力を増幅する。スピーカ120はスイッチ付きアンプ119の出力を増幅する。
The signal input from the channel decoder 116 to the audio decoder 117 is decoded into audio data and delivered to the D / A converter 118. The D / A converter 118 converts the output of the audio decoder 117 into an analog signal. The switch-equipped amplifier 119 is switched at an appropriate timing based on a control signal from the CPU 200 and amplifies the output of the D / A converter 118 when the switch is ON. The speaker 120 amplifies the output of the switch-equipped amplifier 119.
一方、送信系モジュールにおいて、マイク140は、ユーザーからの音声信号を受け、この音声信号をアナログ信号として出力する。アンプ139は、マイク140から出力されるアナログ信号を増幅する。A/Dコンバータ138は、アンプ139の出力をデジタル信号に変換する。音声エンコーダ137はA/Dコンバータ138の出力をコード化して圧縮し、音声データとして出力する。チャネルエンコーダ136は、CPU200からの制御メッセージと音声エンコーダ137からの音声データとを合わせ、誤り訂正符号を付加する。
On the other hand, in the transmission system module, the microphone 140 receives an audio signal from the user and outputs the audio signal as an analog signal. The amplifier 139 amplifies the analog signal output from the microphone 140. The A / D converter 138 converts the output of the amplifier 139 into a digital signal. The audio encoder 137 encodes and compresses the output of the A / D converter 138 and outputs it as audio data. The channel encoder 136 combines the control message from the CPU 200 and the audio data from the audio encoder 137 and adds an error correction code.
そして、変調器135は、チャネルエンコーダ136の出力を変調する。D/Aコンバータ134は、変調器135の出力をアナログ信号に変換する。直交ミキサ133は、D/Aコンバータ134の出力を、IF周波数信号(中間周波数信号)に変換する。IFアンプ132は直交ミキサ133の出力を増幅する。ミキサ131は、IFアンプ132の出力する信号の周波数を上げる。パワーアンプ130は、ミキサ131の出力を増幅する。なお、前記シンセサイザ103は、通信中に、ミキサ111、直交ミキサ113、ミキサ131、直交ミキサ133の同期をとる。タイムベース150は、クロック信号を各部に供給する。
The modulator 135 modulates the output of the channel encoder 136. The D / A converter 134 converts the output of the modulator 135 into an analog signal. The orthogonal mixer 133 converts the output of the D / A converter 134 into an IF frequency signal (intermediate frequency signal). The IF amplifier 132 amplifies the output of the quadrature mixer 133. The mixer 131 increases the frequency of the signal output from the IF amplifier 132. The power amplifier 130 amplifies the output of the mixer 131. The synthesizer 103 synchronizes the mixer 111, the quadrature mixer 113, the mixer 131, and the quadrature mixer 133 during communication. The time base 150 supplies a clock signal to each unit.
ユーザーインターフェース系モジュールにおいて、ジャイロセンサ164は、角速度の大きさ及び方向を検出するセンサである。なお、本実施形態において、ジャイロセンサ164は、三軸方向(X,Y,Z軸方向)の角速度を検知するものとするが、本発明における打撃動作の制御においては必ずしも3軸の角速度は必要なく、Y軸まわりの角速度のみを検知してもよい。
In the user interface system module, the gyro sensor 164 is a sensor that detects the magnitude and direction of the angular velocity. In this embodiment, the gyro sensor 164 detects angular velocities in the triaxial directions (X, Y, and Z axial directions). However, the triaxial angular velocities are not necessarily required in the control of the hitting operation in the present invention. Alternatively, only the angular velocity around the Y axis may be detected.
なお、3軸の角速度を検知することにより、打撃以外の動作もジャイロセンサ164によって制御することが可能となる。例えば、ボクシングゲームにおいて、ユーザーによる打撃操作の入力の検出にはY軸まわりの角速度を用いているが、対戦相手の打撃を回避する操作の入力の検出に、ジャイロセンサによって検出されるX軸およびZ軸まわりの角速度を用いている。
It should be noted that by detecting the angular velocity of the three axes, it is possible to control operations other than striking by the gyro sensor 164. For example, in a boxing game, the angular velocity around the Y axis is used to detect the input of the batting operation by the user, but the X axis detected by the gyro sensor and the input of the operation to avoid hitting the opponent are detected. The angular velocity around the Z axis is used.
このジャイロセンサ164が検知した角速度に応じた操作信号が、ゲーム装置1本体のCPU200に対して出力される。また、本実施形態では、ゲーム装置1に加えられた加速度を検出する加速度センサ169や、地磁気を検知してゲーム装置1の絶対的な向きを特定する磁気センサなどのその他のセンサ154が設けられていてもよい。
An operation signal corresponding to the angular velocity detected by the gyro sensor 164 is output to the CPU 200 of the game apparatus 1 main body. In this embodiment, other sensors 154 such as an acceleration sensor 169 that detects acceleration applied to the game apparatus 1 and a magnetic sensor that detects geomagnetism and identifies the absolute orientation of the game apparatus 1 are provided. It may be.
LCD165は、ゲーム画面やGUI,ユーザーによる入力文字などを表示させる液晶ディスプレイである。タッチパネル300では、このLCD165を介して文字や図形、動画などのグラフィックを表示してGUIを構成することができ、タッチパネル300上のタッチセンサ168を通じて、操作信号を取得する。
The LCD 165 is a liquid crystal display that displays a game screen, GUI, user input characters, and the like. The touch panel 300 can display a graphic such as characters, graphics, and moving images via the LCD 165 to form a GUI, and obtains an operation signal through the touch sensor 168 on the touch panel 300.
LED167は、点灯及び消灯によりユーザーにメッセージを伝えるためのものである。タッチセンサ168は、ユーザーの指がタッチパネル表面に接触したことを検出し、タッチパネル300表面の圧力又は静電容量の変化によって操作信号を取得する。バイブレータ174は、着信を知らせるデバイスであり、着信すると振動する。また、電源系電池171は、電源172及びA/Dコンバータ173に電力を供給する。電源172はゲーム装置1の電源である。A/Dコンバータ173は、信号をCPU200に供給する。
The LED 167 is for transmitting a message to the user by turning on and off. The touch sensor 168 detects that the user's finger has touched the surface of the touch panel, and acquires an operation signal based on a change in pressure or capacitance on the surface of the touch panel 300. The vibrator 174 is a device that notifies an incoming call, and vibrates when the incoming call is received. The power system battery 171 supplies power to the power source 172 and the A / D converter 173. The power source 172 is a power source for the game apparatus 1. The A / D converter 173 supplies a signal to the CPU 200.
CPU200は、上記各部を制御する演算処理装置であり、RAM152やROM153に格納されたプログラムのコマンドを順次実行し、種々の機能を果たす。また、CPU200はLCD165にグラフィックを表示することに特化した専用の演算処理装置GPUを含んでいてもよい。
The CPU 200 is an arithmetic processing unit that controls each of the above-described units, and sequentially executes program commands stored in the RAM 152 and the ROM 153 to perform various functions. The CPU 200 may include a dedicated arithmetic processing unit GPU specialized for displaying graphics on the LCD 165.
RAM152は、CPU200のワーキングメモリ等として使用され、CPU200で実行されるプログラムやプログラムによる演算結果を一時的に格納する。ROM153にはCPU200用のプログラムが記録され、CPU200からの要求に応じて、プログラムの実行命令を順次出力する。EEPROM151には、短縮ダイヤルなどのユーザーデータや、機体固有のID等が記録されている。
The RAM 152 is used as a working memory of the CPU 200 and temporarily stores programs executed by the CPU 200 and calculation results by the programs. A program for the CPU 200 is recorded in the ROM 153, and program execution instructions are sequentially output in response to a request from the CPU 200. In the EEPROM 151, user data such as abbreviated dial, ID unique to the machine, and the like are recorded.
そして、本実施形態においては、CPU200は所定のゲームプログラム(ソフトウェア)を実行する。このソフトウェアによって、CPU200は種々のモジュールで仮想的に構築される演算処理装置として機能する。
In this embodiment, the CPU 200 executes a predetermined game program (software). With this software, the CPU 200 functions as an arithmetic processing device constructed virtually by various modules.
(CPU200の仮想的な内部構成)
次いで、CPU200上で実行されるソフトウェアによって仮想的に構築される演算処理装置の内部構造について説明する。図3は、本実施形態に係るCPU200上に仮想的に構築される内部構成を示すブロック図である。 (Virtual internal configuration of CPU 200)
Next, the internal structure of the arithmetic processing device that is virtually constructed by software executed on theCPU 200 will be described. FIG. 3 is a block diagram showing an internal configuration virtually constructed on the CPU 200 according to the present embodiment.
次いで、CPU200上で実行されるソフトウェアによって仮想的に構築される演算処理装置の内部構造について説明する。図3は、本実施形態に係るCPU200上に仮想的に構築される内部構成を示すブロック図である。 (Virtual internal configuration of CPU 200)
Next, the internal structure of the arithmetic processing device that is virtually constructed by software executed on the
上記CPU200では、所定のゲームプログラム(ソフトウェア)が実行されることによって、操作信号取得部201と、アプリケーション実行部202と、表示情報生成部204と、角速度検出部205とが仮想的に構築される。
In the CPU 200, an operation signal acquisition unit 201, an application execution unit 202, a display information generation unit 204, and an angular velocity detection unit 205 are virtually constructed by executing a predetermined game program (software). .
操作信号取得部201は、制御装置本体に配置された操作ボタン166やタッチセンサ168などの操作デバイス206から入力された操作信号を受け取り、アプリケーション実行部202に操作コマンドとして出力するモジュールである。例えば、操作ボタン166からの入力は、アプリケーション実行部202において、メニュー操作の一部(1つ前のメニューに戻るなど)として利用される。また、操作信号取得部201には、操作位置検出部201aを備えている。操作位置検出部201aは、制御装置本体に配置された入力部の1つであるタッチパネル300に対して入力された操作信号の座標位置を検出するモジュールであり、タッチセンサ168が検出した操作信号の入力座標位置が、LCD165に表示されているグラフィックの座標系に対応した座標位置としてアプリケーション実行部202に送信される。これにより、アプリケーション実行部202は、LCD165に表示されているメニューの選択やゲーム時の打撃種類又は防御種類の選択を実行することができる。
The operation signal acquisition unit 201 is a module that receives an operation signal input from an operation device 206 such as an operation button 166 or a touch sensor 168 arranged in the control device body, and outputs the operation signal to the application execution unit 202 as an operation command. For example, an input from the operation button 166 is used as part of a menu operation (such as returning to the previous menu) in the application execution unit 202. In addition, the operation signal acquisition unit 201 includes an operation position detection unit 201a. The operation position detection unit 201a is a module that detects the coordinate position of the operation signal input to the touch panel 300, which is one of the input units arranged in the control device main body, and the operation position detection unit 201a detects the operation signal detected by the touch sensor 168. The input coordinate position is transmitted to the application execution unit 202 as a coordinate position corresponding to the coordinate system of the graphic displayed on the LCD 165. Thereby, the application execution unit 202 can execute selection of a menu displayed on the LCD 165 and selection of a batting type or a defense type during the game.
角速度検出部205は、タイマ割り込みによって所定の時間間隔(例えば60Hz)によって動作し、制御装置本体100内のジャイロセンサ164から各方向(X軸、Y軸、Z軸)の角速度等の操作信号を読み取るモジュールである。さらに角速度検出部205は、所定の時間間隔で連続的に検出される角速度を積分して、ゲーム装置1の向き(回転角)を追跡する。ゲーム装置1の向きの追跡には、所定の時間間隔で連続的に検出される角速度の他に、加速度センサ169によって検出される重力加速度や磁気センサなどのその他のセンサ154で検出されるデータを併用しても良い。
The angular velocity detection unit 205 operates at a predetermined time interval (for example, 60 Hz) by a timer interruption, and receives an operation signal such as an angular velocity in each direction (X axis, Y axis, Z axis) from the gyro sensor 164 in the control device main body 100. This is a reading module. Furthermore, the angular velocity detection unit 205 integrates the angular velocity continuously detected at a predetermined time interval, and tracks the direction (rotation angle) of the game apparatus 1. For tracking the orientation of the game apparatus 1, in addition to the angular velocity continuously detected at a predetermined time interval, data detected by other sensors 154 such as gravitational acceleration and magnetic sensor detected by the acceleration sensor 169 are used. You may use together.
また、角速度検出部205は、制御装置本体100内の加速度センサ169を使って、ゲーム装置1に加えられた加速度を算出する。加速度センサ169は重力加速度も合わせて検出するが、角速度検出部205が算出する加速度は重力加速度を取り除いたものとする。また、加速度をゲーム装置1の静止系で見たときに内部のバネにかかる見かけの加速度(実際に計測される加速度)として表現するか、ゲーム装置1を外から観測したときのゲーム装置1自体にかかる加速度として表現するかによって、加速度の向きが逆になるが、以降の説明において、角速度検出部205が算出する加速度は、ゲーム装置1を外から観測したときにゲーム装置1自体にかかる加速度として表現されているものとする。
Further, the angular velocity detection unit 205 calculates the acceleration applied to the game apparatus 1 using the acceleration sensor 169 in the control apparatus main body 100. The acceleration sensor 169 also detects gravitational acceleration, but it is assumed that the acceleration calculated by the angular velocity detection unit 205 is obtained by removing the gravitational acceleration. Further, the acceleration is expressed as an apparent acceleration (actually measured acceleration) applied to an internal spring when viewed in the stationary system of the game apparatus 1, or the game apparatus 1 itself when the game apparatus 1 is observed from the outside. Although the direction of the acceleration is reversed depending on whether it is expressed as the acceleration applied to the device, in the following description, the acceleration calculated by the angular velocity detection unit 205 is the acceleration applied to the game device 1 itself when the game device 1 is observed from the outside. It shall be expressed as
角速度検出部205によって得られたゲーム装置1の角速度、向き及び加速度は、RAM152内の記憶領域に保持される。そして、アプリケーション実行部202は角速度検出部205のタイマ割り込みとは別のタイミングで動作しても良く、RAM152内の記憶領域にアクセスすることで、角速度検出部205によって得られた最も直近の装置本体100の角速度や向き、加速度などを取得する。
The angular velocity, direction, and acceleration of the game apparatus 1 obtained by the angular velocity detection unit 205 are held in a storage area in the RAM 152. Then, the application execution unit 202 may operate at a timing different from the timer interrupt of the angular velocity detection unit 205, and by accessing a storage area in the RAM 152, the latest apparatus main body obtained by the angular velocity detection unit 205 100 angular velocities, orientations, accelerations, etc. are acquired.
ここで、これ以降の本発明の詳細な説明のために、角速度検出部205によって得られ、RAM152内の記憶領域に保持される角速度やゲーム装置1の向きの表記方法を定義しておく。先ず、ある時刻tに角速度検出部205によって読み取られた角速度のベクトル量をベクトルω(t)、角速度のX軸の成分の値(X軸まわりの角速度)をωx(t)、角速度のY軸の成分の値(Y軸まわりの角速度)をωy(t)、角速度のZ軸の成分の値(Z軸まわりの角速度)をωz(t)と表記する。そして、各軸まわりの角速度の値は、その軸に対して反時計まわりの方向を正とする。ここで、角速度検出部205は、タイマ割り込みによって所定の時間間隔で動作しているため、時刻tは離散的な値を取るが、時刻tにそれ以外の値が用いられた場合でも、ベクトルω(t)やωx(t)、ωy(t)、ωz(t)は時刻tより以前で最も直近に検出された角速度の値を表すものとする。また、ここでは以降での説明のために便宜上角速度を時刻tの関数として表記しているが、本発明を実施するにあたり、過去に遡って角速度の値を取得する必要はなく、角速度検出部205が動作した時点で得られた最新の値のみがRAM152内の記憶領域に保持されていれば十分である。
Here, in order to describe the present invention in detail, the notation method of the angular velocity obtained by the angular velocity detection unit 205 and held in the storage area in the RAM 152 and the orientation of the game apparatus 1 is defined. First, the angular velocity vector amount read by the angular velocity detection unit 205 at a certain time t is a vector ω (t), the X-axis component value of the angular velocity (angular velocity around the X axis) is ω x (t), and the angular velocity Y The value of the axis component (angular velocity around the Y axis) is expressed as ω y (t), and the value of the Z-axis component of the angular velocity (angular velocity around the Z axis) is expressed as ω z (t). The value of the angular velocity around each axis is positive in the counterclockwise direction with respect to that axis. Here, since the angular velocity detection unit 205 operates at a predetermined time interval by a timer interruption, the time t takes a discrete value, but even when other values are used at the time t, the vector ω Let (t), ω x (t), ω y (t), and ω z (t) represent the values of the angular velocities detected most recently before time t. Here, for convenience of explanation, the angular velocity is expressed as a function of time t for the sake of the following description. However, in carrying out the present invention, it is not necessary to obtain the value of the angular velocity retroactively, and the angular velocity detection unit 205 It is sufficient that only the latest value obtained at the time of the operation is held in the storage area in the RAM 152.
次に、ある時刻tにおけるゲーム装置1の向きを回転行列A(t)で表記することにする。また、本発明における打撃動作の制御にはゲーム装置1のY軸まわりの回転角だけが必要であり、ゲーム装置1のY軸まわりの回転角をθy(t)と表記する。また、角速度と同じく、Y軸まわりの回転角θy(t)もY軸に対して反時計まわりの方向を正とする。ここで、時刻tはやはり離散的な値を取るが、角速度と同じように連続的な値を取るように拡張する。また、ここでも便宜上時刻tの関数として表記しているが、本発明の実施する際には、過去に遡って回転行列A(t)や回転角θy(t)を取得する必要はない。
Next, the orientation of the game apparatus 1 at a certain time t is expressed by a rotation matrix A (t). Further, only the rotation angle around the Y axis of the game apparatus 1 is necessary for controlling the batting action in the present invention, and the rotation angle around the Y axis of the game apparatus 1 is expressed as θ y (t). Similarly to the angular velocity, the rotation angle θ y (t) about the Y axis is positive in the counterclockwise direction with respect to the Y axis. Here, the time t also takes a discrete value, but it is expanded to take a continuous value in the same way as the angular velocity. Here, for convenience, it is expressed as a function of time t. However, when implementing the present invention, it is not necessary to go back to the past and acquire the rotation matrix A (t) and the rotation angle θ y (t).
ゲーム装置1のY軸まわりの回転角θy(t)は、ジャイロセンサ164がY軸まわりの角速度ωy(t)しか検出できない場合でも、角速度ωy(t)を時刻tで積分することで算出できる。この値は他の軸まわりの回転が加わったときに実際の値とずれることがあるものの、本発明の実施には高い精度で回転角を検出する必要はなく、後述する自動キャリブレーションを実装することで、問題なくオブジェクトをコントロールできるようになる。
The rotation angle θ y (t) around the Y axis of the game apparatus 1 is obtained by integrating the angular velocity ω y (t) at the time t even when the gyro sensor 164 can detect only the angular velocity ω y (t) around the Y axis. It can be calculated by Although this value may deviate from the actual value when rotation about another axis is added, it is not necessary to detect the rotation angle with high accuracy in implementing the present invention, and automatic calibration described later is implemented. This will allow you to control the object without any problems.
一方、ゲーム装置1の向きを表す回転行列A(t)が利用できる場合、Y軸まわりの回転角θy(t)は、回転行列A(t)から算出した方が正確である。但し、3次元の回転において、Y軸まわりの回転角θy(t)を定義する方法は様々あり、定義によって算出方法は異なってくる。どのような算出方法を用いても本発明を実施することはできるが、本実施形態では、一例として以下のように、Y軸まわりの回転角θy(t)を算出する。
On the other hand, when the rotation matrix A (t) representing the orientation of the game apparatus 1 can be used, the rotation angle θ y (t) around the Y axis is more accurately calculated from the rotation matrix A (t). However, in three-dimensional rotation, there are various methods for defining the rotation angle θ y (t) around the Y axis, and the calculation method differs depending on the definition. Although the present invention can be implemented using any calculation method, in the present embodiment, the rotation angle θ y (t) about the Y axis is calculated as follows as an example.
先ず、次のようにベクトルzをZ軸方向の単位ベクトルとする。
z=(0,0,1) ……(式1)
そして、ベクトルzを回転行列A(t)で回転することで得られるベクトルをベクトルz'(t)とし、ベクトルz'(t)を次のように求める。
z'(t)=A(t)z ……(式2)
そして、式1及び式2によって得られたベクトルz'(t)のX成分をz'x(t)、Z成分をz'z(t)とすると、次の関係が成り立つ。
tanθy(t)=z'x(t)/z'z(t) ……(式3)
ここで、tanθy(t)は回転角θy(t)の正接(タンジェント)であり、正接関数の逆関数を用いることで式3からY軸まわりの回転角θy(t)を算出できる。但し、z'x(t)およびz'z(t)が共にゼロあるいは非常に小さい値の場合には計算誤差が大きくなるため、式1のベクトルzの代わりにX軸方向の単位ベクトルを使って同様の計算をするものとする。 First, the vector z is set as a unit vector in the Z-axis direction as follows.
z = (0,0,1) (Formula 1)
Then, a vector obtained by rotating the vector z with the rotation matrix A (t) is defined as a vector z ′ (t), and the vector z ′ (t) is obtained as follows.
z '(t) = A (t) z (Formula 2)
If the X component of the vector z ′ (t) obtained byEquations 1 and 2 is z ′ x (t) and the Z component is z ′ z (t), the following relationship is established.
tanθ y (t) = z ′ x (t) / z ′ z (t) (Formula 3)
Here, tan .theta y (t) is the tangent of the angle of rotation θ y (t) (tangent), can calculate the rotation angle theta y (t) about the Y axis from Equation 3 by using the inverse function of the tangent function . However, if z ' x (t) and z' z (t) are both zero or very small, the calculation error will increase, so use the unit vector in the X-axis direction instead of the vector z inEquation 1. The same calculation shall be performed.
z=(0,0,1) ……(式1)
そして、ベクトルzを回転行列A(t)で回転することで得られるベクトルをベクトルz'(t)とし、ベクトルz'(t)を次のように求める。
z'(t)=A(t)z ……(式2)
そして、式1及び式2によって得られたベクトルz'(t)のX成分をz'x(t)、Z成分をz'z(t)とすると、次の関係が成り立つ。
tanθy(t)=z'x(t)/z'z(t) ……(式3)
ここで、tanθy(t)は回転角θy(t)の正接(タンジェント)であり、正接関数の逆関数を用いることで式3からY軸まわりの回転角θy(t)を算出できる。但し、z'x(t)およびz'z(t)が共にゼロあるいは非常に小さい値の場合には計算誤差が大きくなるため、式1のベクトルzの代わりにX軸方向の単位ベクトルを使って同様の計算をするものとする。 First, the vector z is set as a unit vector in the Z-axis direction as follows.
z = (0,0,1) (Formula 1)
Then, a vector obtained by rotating the vector z with the rotation matrix A (t) is defined as a vector z ′ (t), and the vector z ′ (t) is obtained as follows.
z '(t) = A (t) z (Formula 2)
If the X component of the vector z ′ (t) obtained by
tanθ y (t) = z ′ x (t) / z ′ z (t) (Formula 3)
Here, tan .theta y (t) is the tangent of the angle of rotation θ y (t) (tangent), can calculate the rotation angle theta y (t) about the Y axis from Equation 3 by using the inverse function of the tangent function . However, if z ' x (t) and z' z (t) are both zero or very small, the calculation error will increase, so use the unit vector in the X-axis direction instead of the vector z in
表示情報生成部204は、アプリケーション実行部202による制御に従って、LCD165におけるオブジェクト表示のための情報を生成し、LCD165に出力するモジュールである。具体的には、表示情報生成部204は、3D構成部204aと、2D構成部204bと、GUI構成部204cとを備え、三次元空間内に視野範囲を定める仮想的なカメラを配置し、その仮想的なカメラが撮像したオブジェクトを二次元平面としてLCD165に表示する。
The display information generation unit 204 is a module that generates information for object display on the LCD 165 and outputs the information to the LCD 165 in accordance with control by the application execution unit 202. Specifically, the display information generation unit 204 includes a 3D configuration unit 204a, a 2D configuration unit 204b, and a GUI configuration unit 204c, and arranges a virtual camera that defines a visual field range in a three-dimensional space. The object imaged by the virtual camera is displayed on the LCD 165 as a two-dimensional plane.
3D構成部204aは、三次元空間を仮想的に構成し、この三次元空間内の三次元座標上に存在するオブジェクトやカメラの座標位置を制御するモジュールである。2D構成部204bは、撮影画面に三次元空間を二次元的に表示させるモジュールであり、3D構成部204aが構成した三次元空間のデータを取得し、撮影画面の視野範囲に応じた二次元画像を演算処理して、撮影画面に三次元空間を二次元的に表示する。
The 3D configuration unit 204a is a module that virtually configures a three-dimensional space and controls the coordinate positions of objects and cameras existing on the three-dimensional coordinates in the three-dimensional space. The 2D configuration unit 204b is a module that two-dimensionally displays the three-dimensional space on the shooting screen, acquires the data of the three-dimensional space configured by the 3D configuration unit 204a, and generates a two-dimensional image corresponding to the field of view of the shooting screen. Is processed to display the three-dimensional space two-dimensionally on the photographing screen.
具体的には、三次元空間内に視野範囲を定める仮想的なカメラが配置されており、3D構成部204aが算出したオブジェクト及び仮想的なカメラの位置関係に基づいて、カメラが撮像したオブジェクトを二次元平面として撮影画面を形成することで、LCD165におけるオブジェクトの状態の表示を変化させる。なお、本実施形態において、撮影画面は、プレイヤーオブジェクト越しに、プレイヤーや対戦相手のオブジェクト及びリングの一部を撮像したメイン画面である。
Specifically, a virtual camera that defines a visual field range is arranged in a three-dimensional space, and an object captured by the camera is determined based on the positional relationship between the object calculated by the 3D configuration unit 204a and the virtual camera. By forming the photographing screen as a two-dimensional plane, the display of the object state on the LCD 165 is changed. In the present embodiment, the shooting screen is a main screen that captures an image of the player and the opponent's object and part of the ring through the player object.
GUI構成部204cは、2D構成部204bによって生成された撮影画面の上にゲームに関する情報やメニューなどのグラフィックユーザーインターフェース(GUI)を表示するモジュールである。GUIは、オブジェクトに対する操作方法やオブジェクトの情報を視覚的にわかりやすく伝えるグラフィックであり、例えば、ボクシングゲームであれば、図3に示すように各キャラクターのパワーゲージ304,305などから構成されている。
The GUI composition unit 204c is a module for displaying a graphic user interface (GUI) such as information about a game and a menu on the shooting screen generated by the 2D composition unit 204b. The GUI is a graphic that visually conveys an operation method for an object and information on the object in an easy-to-understand manner. For example, in the case of a boxing game, the GUI includes power gauges 304 and 305 of each character as shown in FIG. .
アプリケーション実行部202は、角速度検出部205及び操作信号取得部201からの入力信号に基づいて、オブジェクトを生成して仮想空間内に配置したり、仮想空間内のオブジェクトを制御したり削除したりして、ゲームを進行させるモジュールであり、例えば、ボクシングゲーム等では、仮想空間内のプレイヤーや対戦相手のオブジェクトに対して、打撃、防御、回避などの動作をさせるとともに、打撃前の予備動作を制御して動作させる。
The application execution unit 202 generates an object based on the input signals from the angular velocity detection unit 205 and the operation signal acquisition unit 201 and arranges the object in the virtual space, and controls or deletes the object in the virtual space. For example, in a boxing game, the player or opponent object in the virtual space performs operations such as hitting, defending, and avoiding, and controlling preliminary operations before hitting. And make it work.
また、アプリケーション実行部202は、ボクシングのルールに則したゲームの進行管理(選択されたオブジェクトの階級や、ランキング、ランキングに応じたラウンド回数等、試合中における採点処理)を行うとともに、プレイヤーや対戦相手のオブジェクトの能力パラメータやパンチの種類などに基づいて、打撃条件の演算を行って、仮想空間内におけるオブジェクトへのダメージを演算処理する。
In addition, the application execution unit 202 manages the progress of the game in accordance with the boxing rules (scoring process during the game, such as the class of the selected object, the ranking, the number of rounds according to the ranking, etc.) Based on the ability parameter of the opponent object, the type of punch, and the like, the hit condition is calculated, and the damage to the object in the virtual space is calculated.
このアプリケーション実行部202には、オブジェクトの動作全体を制御する動作制御部210と、ユーザーによる打撃操作を検出する打撃検出部211とが設けられている。動作制御部210は、オブジェクトの動作全体を制御するモジュールであり、打撃検出部211により検出されたユーザーによる打撃操作の入力に応じて、オブジェクトに打撃動作を実行させる。さらに、動作制御部210は、打撃動作以外にも、角速度検出部205によって得られた回転角θy(t)の値に応じて、打撃動作に関する予備動作を実行させる機能も備えている。さらに動作制御部210は、角速度検出部205によって得られた回転行列A(t)や角速度ベクトルω(t)を用いて、オブジェクトに相手の打撃を回避する動作を実行させる機能も備えている。
The application execution unit 202 includes a motion control unit 210 that controls the entire motion of the object, and a batting detection unit 211 that detects a batting operation by the user. The motion control unit 210 is a module that controls the entire motion of the object, and causes the object to perform a striking motion in response to a batting operation input by the user detected by the striking detection unit 211. Further, the motion control unit 210 has a function of executing a preliminary motion related to the striking motion according to the value of the rotation angle θ y (t) obtained by the angular velocity detecting unit 205 in addition to the striking motion. Further, the motion control unit 210 has a function of causing the object to perform a motion to avoid hitting the opponent using the rotation matrix A (t) and the angular velocity vector ω (t) obtained by the angular velocity detection unit 205.
打撃検出部211は、角速度検出部205によって得られた角速度のY軸の成分ωy(t)の値、又はωy(t)の値の単位時間あたりの変化量のいずれか、若しくはこれらの両方を用いて予測された微小時間先の角速度の値をしきい値と比較することにより、ユーザーによる打撃操作の入力によって生じ得るコントローラの回転運動の特徴を検出する打撃検出法を備える。打撃検出部はこの打撃検出法を用いてユーザーによる打撃操作の入力があったことを検出するが、この際、右手による打撃なのか左手による打撃なのかはωy(t)の正負で判断でき、正であれば右手、負であれば左手による打撃となる。また、打撃検出部211は、角速度検出部205によって算出されたゲーム装置1の加速度の向きによって、コントローラの回転運動がユーザーの打撃操作によるものなのか予備操作によるものなのかを判別し、予備操作によるものと判別した場合は打撃操作の入力を検出しない。また、打撃操作によるものと判別した場合は、動作制御部210によって、オブジェクトの打撃動作が開始され、打撃動作が実行されている間はオブジェクトの予備動作は抑制される。
The hit detection unit 211 is either the value of the Y-axis component ω y (t) of the angular velocity obtained by the angular velocity detection unit 205, or the amount of change per unit time of the value of ω y (t), or these A striking detection method is provided for detecting a feature of the rotational motion of the controller that may be caused by the input of the striking operation by the user by comparing the value of the angular velocity ahead of the minute time predicted by using both with a threshold value. The hit detection unit uses this hit detection method to detect that the user has input a hitting operation. At this time, whether the hit with the right hand or the left hand can be determined by the sign of ω y (t). If it is positive, it will be hit with the right hand. The batting detection unit 211 determines whether the rotational motion of the controller is due to the user's batting operation or the preliminary operation according to the direction of the acceleration of the game apparatus 1 calculated by the angular velocity detection unit 205, and the preliminary operation If it is determined that it is due to, the input of the batting operation is not detected. If it is determined that the hitting operation is performed, the motion control unit 210 starts the hitting operation of the object, and the preliminary motion of the object is suppressed while the hitting operation is being executed.
また、本実施形態において、打撃検出部211は、ユーザーの打撃操作によるコントローラの回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して打撃検出法による打撃操作の検出を制限するようにしている。このようにすることによって、打撃操作を停止させた時の反動による角速度や角速度の変化のパターンを、打撃操作として誤って検出されるのを防止している。
Further, in the present embodiment, the hit detection unit 211 detects the moment when the rotational motion of the controller due to the hit operation of the user stops, and predicts that the recoil will occur immediately thereafter, and detects the hit operation by the hit detection method. I try to limit it. By doing so, it is possible to prevent erroneous detection of the angular velocity and the change pattern of the angular velocity due to the reaction when the batting operation is stopped as the batting operation.
さらに、本実施形態では、打撃検出部211は2つの打撃検出法を用い、1つを打撃操作が開始された瞬間の特徴を検出する方法にし、もう1つを打撃操作が行なわれている最中の特徴を検出する方法にする。詳述すると、1つ目の打撃検出法はωy(t)の単位時間あたりの変化量、すなわち角加速度、としきい値を比較する方法を用いて打撃操作の入力が開始した瞬間を検出する。この場合、打撃操作を停止させた時の反動による角加速度を誤って検出しないように、ωy(t)の値がゼロに逹したこと、あるいはゼロをまたいで正負が反転したことで打撃操作によるコントローラの回転が止まった瞬間を検知し、その時点での角加速度を基準にして一時的にしきい値を大きくする。一方、2つ目の打撃検出法はωy(t)の値を重視して打撃を検出することにより、打撃操作の開始を瞬時に検出することはできないものの、角加速度を使った場合に比べて長い間打撃操作を検出することができるため、打撃操作を停止させた時の反動を区別しやすい。即ち、2つ目の打撃検出法も打撃操作によるコントローラの回転運動が停止した瞬間を検出し、コントローラの回転運動が停止した瞬間からごく短い間だけ、再度検出される打撃操作を無視することにより、打撃操作を停止させたときの反動を誤って打撃操作として検出してしまうことを防ぐが、コンビネーションパンチのような連続した打撃操作の検出は妨げられずに済む。
Further, in the present embodiment, the hit detection unit 211 uses two hit detection methods, one is a method for detecting the characteristics of the moment when the hit operation is started, and the other is a method in which the hit operation is performed. Use a method to detect the features inside. In detail, the first hit detection method detects the moment when the input of the hit operation is started by using a method of comparing the amount of change per unit time of ω y (t), that is, the angular acceleration, with a threshold value. . In this case, in order to prevent erroneous detection of angular acceleration due to reaction when the batting operation is stopped, the batting operation is performed because the value of ω y (t) is set to zero, or the sign is reversed across the zero. The moment when the rotation of the controller stops is detected, and the threshold value is temporarily increased based on the angular acceleration at that time. On the other hand, the second hit detection method cannot detect the start of the hitting operation instantaneously by detecting hitting with emphasis on the value of ω y (t), but compared with the case where angular acceleration is used. Therefore, it is easy to distinguish the recoil when the batting operation is stopped. That is, the second batting detection method also detects the moment when the rotational motion of the controller by the batting operation stops, and ignores the batting operation detected again only for a very short time from the moment when the rotational motion of the controller stops. Although the recoil when the batting operation is stopped is prevented from being erroneously detected as the batting operation, the detection of the continuous batting operation such as a combination punch is not hindered.
このような動作制御部210及び打撃検出部211による制御によって、図4(a)に示すように、ゲーム装置1を持つ右手を手前(打撃動作の動作方向と逆方向)に引くとY軸に対して時計周りの回転が検知され、これに応じてオブジェクトの体を右にねじる予備動作を行わせ、その後、右手を前(打撃動作の動作方向)に強く押し出す操作を受け付けると、右手のパンチを繰り出す打撃動作を行わせるように制御する。また、ゲーム装置1を持つ左手を手前(打撃動作の動作方向と逆方向)に引くとオブジェクトの体を左にねじる予備動作を行わせ、その後、左手を前(打撃動作の動作方向)に強く押し出す操作を受け付けると、左手のパンチを繰り出す打撃動作を行わせるように制御する。以下に、動作制御部210における予備動作の制御、及び打撃検出部211における打撃操作の検出処理について説明する。
As shown in FIG. 4 (a), when the right hand holding the game apparatus 1 is pulled forward (opposite to the operation direction of the batting operation) by the control by the operation control unit 210 and the hit detection unit 211, the Y axis is set. On the other hand, when a clockwise rotation is detected, a preliminary movement is performed to twist the body of the object to the right, and then an operation to push the right hand forward (the direction of movement of the batting movement) is accepted. Control is performed so as to perform the striking motion of paying out. Further, when the left hand holding the game apparatus 1 is pulled forward (opposite to the direction of motion of the batting motion), a preliminary motion of twisting the object body to the left is performed, and then the left hand is strongly moved forward (motion direction of the batting motion). When an operation to push out is accepted, control is performed so as to perform a striking motion for delivering a left hand punch. Hereinafter, the control of the preliminary operation in the operation control unit 210 and the detection process of the batting operation in the batting detection unit 211 will be described.
(1)予備動作の制御について
先ず、動作制御部210における予備動作の制御について説明する。本実施形態において、動作制御部210は、角速度検出部205によって算出されたY軸まわりの回転角θy(t)に基づいて、オブジェクトの予備動作の制御を行う。なお、ここでは、(a)オブジェクトの体の回転(ねじり)の大きさφの算出、(b)オブジェクトの回転制御、(c)自動キャリブレーションに分けて説明する。 (1) Preliminary Operation Control First, preliminary operation control in theoperation control unit 210 will be described. In the present embodiment, the motion control unit 210 controls the preliminary motion of the object based on the rotation angle θ y (t) about the Y axis calculated by the angular velocity detection unit 205. Here, description will be made separately on (a) calculation of the body rotation (torsion) size φ, (b) object rotation control, and (c) automatic calibration.
先ず、動作制御部210における予備動作の制御について説明する。本実施形態において、動作制御部210は、角速度検出部205によって算出されたY軸まわりの回転角θy(t)に基づいて、オブジェクトの予備動作の制御を行う。なお、ここでは、(a)オブジェクトの体の回転(ねじり)の大きさφの算出、(b)オブジェクトの回転制御、(c)自動キャリブレーションに分けて説明する。 (1) Preliminary Operation Control First, preliminary operation control in the
(a)オブジェクトの体の回転(ねじり)の大きさφの算出
先ず、動作制御部210は、ある時刻tにおけるオブジェクトの体の回転(ねじり)の大きさφを算出する。具体的に、試合が開始した時刻をt0とし、この時刻t0でのY軸まわりの回転角θ0は、以下のように求める。
θ0=θy(t0) ……(式4)
そして、ある時刻tにおけるオブジェクトの体の回転(ねじり)の大きさφは、以下のように求める。
φ=S×(θy(t)-θ0) ……(式5)
ここで、式5における、Sは所定のスケールパラメータを示し、ゲーム装置1を大きく回転させなくても、オブジェクトに十分大きな動作をさせることができるようにするためのものである。また、オブジェクトの体の回転角には、上限Φがあり、上記回転(ねじり)の大きさφは、[-Φ,Φ]の範囲に切り詰められる。そして、回転(ねじり)の大きさφが上限に近づくにつれ、オブジェクトは体の回転だけでなく腕を振り上げ、パンチの準備をする。また、式5で算出される回転角をそのまま用いずに、目標値として用いることもできる。例えばオブジェクトの体の回転角の単位時間あたりの変化量が一定の大きさを越えないように目標値に近づくように制御すれば、オブジェクトが非現実的な速さで体を回転させようとすることを防ぐことができる。 (A) Calculation of object body rotation (torsion) size φ First, themotion control unit 210 calculates the object body rotation (torsion) size φ at a certain time t. Specifically, the time when the game starts and t 0, the rotation angle theta 0 about the Y axis at the time t 0 is determined as follows.
θ 0 = θ y (t 0 ) (Formula 4)
Then, the magnitude φ of the rotation (torsion) of the body of the object at a certain time t is obtained as follows.
φ = S × (θ y (t) −θ 0 ) (Formula 5)
Here, S in Equation 5 represents a predetermined scale parameter, which is for enabling the object to perform a sufficiently large action without greatly rotating thegame apparatus 1. Further, the rotation angle of the body of the object has an upper limit Φ, and the magnitude φ of the rotation (twisting) is truncated to the range [−Φ, Φ]. As the magnitude φ of rotation (twist) approaches the upper limit, the object swings up the arm as well as the body and prepares for punching. Further, the rotation angle calculated by Expression 5 can be used as a target value without being used as it is. For example, if control is performed so that the amount of change in the rotation angle of the body of the object per unit time does not exceed a certain value, the object tries to rotate the body at an unrealistic speed. Can be prevented.
先ず、動作制御部210は、ある時刻tにおけるオブジェクトの体の回転(ねじり)の大きさφを算出する。具体的に、試合が開始した時刻をt0とし、この時刻t0でのY軸まわりの回転角θ0は、以下のように求める。
θ0=θy(t0) ……(式4)
そして、ある時刻tにおけるオブジェクトの体の回転(ねじり)の大きさφは、以下のように求める。
φ=S×(θy(t)-θ0) ……(式5)
ここで、式5における、Sは所定のスケールパラメータを示し、ゲーム装置1を大きく回転させなくても、オブジェクトに十分大きな動作をさせることができるようにするためのものである。また、オブジェクトの体の回転角には、上限Φがあり、上記回転(ねじり)の大きさφは、[-Φ,Φ]の範囲に切り詰められる。そして、回転(ねじり)の大きさφが上限に近づくにつれ、オブジェクトは体の回転だけでなく腕を振り上げ、パンチの準備をする。また、式5で算出される回転角をそのまま用いずに、目標値として用いることもできる。例えばオブジェクトの体の回転角の単位時間あたりの変化量が一定の大きさを越えないように目標値に近づくように制御すれば、オブジェクトが非現実的な速さで体を回転させようとすることを防ぐことができる。 (A) Calculation of object body rotation (torsion) size φ First, the
θ 0 = θ y (t 0 ) (Formula 4)
Then, the magnitude φ of the rotation (torsion) of the body of the object at a certain time t is obtained as follows.
φ = S × (θ y (t) −θ 0 ) (Formula 5)
Here, S in Equation 5 represents a predetermined scale parameter, which is for enabling the object to perform a sufficiently large action without greatly rotating the
(b)オブジェクトの回転制御
次いで、回転(ねじり)の大きさφに応じた体の回転についての制御方法について説明する。先ず、オブジェクトの姿勢は、N個のパラメータで制御されているものとし、これらのパラメータの組を、N次元のベクトルaとする。この場合、回転(ねじり)の大きさφの値に応じてオブジェクトが体の回転動作をするためには、回転(ねじり)の大きさφに対応するパラメータの組a(φ)の値を決定する必要がある。ここで、ベクトルa(φ)の関数の形が単純な場合は、プログラムで計算することができるが、ほとんどの場合、ベクトルa(φ)は複雑な関数であり、人の手によって手動で値を設定する必要がある。 (B) Object Rotation Control Next, a method for controlling the rotation of the body in accordance with the magnitude φ of the rotation (twisting) will be described. First, the posture of the object is controlled by N parameters, and a set of these parameters is an N-dimensional vector a. In this case, in order for the object to rotate the body according to the value of the rotation (torsion) magnitude φ, the value of the parameter set a (φ) corresponding to the rotation (torsion) magnitude φ is determined. There is a need to. Here, if the form of the function of the vector a (φ) is simple, it can be calculated by a program, but in most cases, the vector a (φ) is a complicated function and is manually set by a human hand. Need to be set.
次いで、回転(ねじり)の大きさφに応じた体の回転についての制御方法について説明する。先ず、オブジェクトの姿勢は、N個のパラメータで制御されているものとし、これらのパラメータの組を、N次元のベクトルaとする。この場合、回転(ねじり)の大きさφの値に応じてオブジェクトが体の回転動作をするためには、回転(ねじり)の大きさφに対応するパラメータの組a(φ)の値を決定する必要がある。ここで、ベクトルa(φ)の関数の形が単純な場合は、プログラムで計算することができるが、ほとんどの場合、ベクトルa(φ)は複雑な関数であり、人の手によって手動で値を設定する必要がある。 (B) Object Rotation Control Next, a method for controlling the rotation of the body in accordance with the magnitude φ of the rotation (twisting) will be described. First, the posture of the object is controlled by N parameters, and a set of these parameters is an N-dimensional vector a. In this case, in order for the object to rotate the body according to the value of the rotation (torsion) magnitude φ, the value of the parameter set a (φ) corresponding to the rotation (torsion) magnitude φ is determined. There is a need to. Here, if the form of the function of the vector a (φ) is simple, it can be calculated by a program, but in most cases, the vector a (φ) is a complicated function and is manually set by a human hand. Need to be set.
そこで、本実施形態では、回転(ねじり)の大きさφの代表的な値をM個選び、それらを(φ1,φ2,...,φM)とする。なお、これらの値は、φ1=-Φ,φM=Φ,φ1<φ2<...<φMとなるように設定する。そして、回転(ねじり)の大きさφが上記の選ばれた値となった場合に、制御パラメータベクトルa(φ)が取るべきの値の組を事前に設定する。ここで、パラメータベクトルaが取るべき値の組を、a1=a(φ1), a2=a(φ2), ... , aM=a(φM)とする。その後、任意の値である回転(ねじり)の大きさφが与えられたときには、上記のa1, a2, ... , aMを補間することでベクトルa(φ)の値を算出する。本実施形態での補間方法としては、線形補間が用いられ、
φ<φ1の場合、
a(φ)=a1 ……(式6)
φi≦φ<φi+1の場合、
a(φ)=s×ai+(1-s)×ai+1,
s=(φi+1-φ)/(φi+1-φi)……(式7)
φM≦φの場合、
a(φ)=aM ……(式8)
としてベクトルa(φ)の値を算出する。なお、補間方法としては、線形補間の他、高次のスプライン補間など他の補間方法を用いてもよい。 Therefore, in this embodiment, M representative values of the rotation (torsion) magnitude φ are selected, and these are (φ 1 , φ 2 ,..., Φ M ). These values are set so that φ 1 = −Φ, φ M = Φ, φ 1 <φ 2 <... <φ M. Then, when the magnitude of rotation (torsion) φ becomes the above selected value, a set of values that the control parameter vector a (φ) should take is set in advance. Here, a set of values that the parameter vector a should take is a 1 = a (φ 1 ), a 2 = a (φ 2 ),..., A M = a (φ M ). After that, given a rotation (torsion) magnitude φ which is an arbitrary value, the value of the vector a (φ) is calculated by interpolating the above a 1 , a 2 , ..., a M . As an interpolation method in this embodiment, linear interpolation is used,
If φ <φ1,
a (φ) = a 1 (Formula 6)
If φ i ≦ φ <φ i + 1 ,
a (φ) = s × a i + (1−s) × a i + 1 ,
s = (φ i + 1 −φ) / (φ i + 1 −φ i ) (Expression 7)
If φ M ≦ φ,
a (φ) = a M (Formula 8)
As a result, the value of the vector a (φ) is calculated. In addition to the linear interpolation, other interpolation methods such as higher-order spline interpolation may be used as the interpolation method.
φ<φ1の場合、
a(φ)=a1 ……(式6)
φi≦φ<φi+1の場合、
a(φ)=s×ai+(1-s)×ai+1,
s=(φi+1-φ)/(φi+1-φi)……(式7)
φM≦φの場合、
a(φ)=aM ……(式8)
としてベクトルa(φ)の値を算出する。なお、補間方法としては、線形補間の他、高次のスプライン補間など他の補間方法を用いてもよい。 Therefore, in this embodiment, M representative values of the rotation (torsion) magnitude φ are selected, and these are (φ 1 , φ 2 ,..., Φ M ). These values are set so that φ 1 = −Φ, φ M = Φ, φ 1 <φ 2 <... <φ M. Then, when the magnitude of rotation (torsion) φ becomes the above selected value, a set of values that the control parameter vector a (φ) should take is set in advance. Here, a set of values that the parameter vector a should take is a 1 = a (φ 1 ), a 2 = a (φ 2 ),..., A M = a (φ M ). After that, given a rotation (torsion) magnitude φ which is an arbitrary value, the value of the vector a (φ) is calculated by interpolating the above a 1 , a 2 , ..., a M . As an interpolation method in this embodiment, linear interpolation is used,
If φ <φ1,
a (φ) = a 1 (Formula 6)
If φ i ≦ φ <φ i + 1 ,
a (φ) = s × a i + (1−s) × a i + 1 ,
s = (φ i + 1 −φ) / (φ i + 1 −φ i ) (Expression 7)
If φ M ≦ φ,
a (φ) = a M (Formula 8)
As a result, the value of the vector a (φ) is calculated. In addition to the linear interpolation, other interpolation methods such as higher-order spline interpolation may be used as the interpolation method.
(c)自動キャリブレーション
次いで、自動キャリブレーションについて説明する。本実施形態では、オブジェクトの体の回転の動作には、ゲーム装置1のY軸まわりの回転角θy(t)を使用しているが、この値は、ユーザー自身が向きを変えた場合にも変化してしまう。例えば、ユーザーが電車や車の中でゲームをプレイしていた場合に、気付かないうちにユーザー自身の向きが変わり、ゲームの中のオブジェクトが思わぬ方向に体を回転してしまうことが考えられる。またY軸まわりの回転角θy(t)の値は、角速度ベクトルω(t)を積分したときの誤差を含むため、それが無視できないほど大きくなる可能性も考えられる。 (C) Automatic Calibration Next, automatic calibration will be described. In the present embodiment, the rotation angle θ y (t) around the Y axis of thegame apparatus 1 is used for the movement of the body of the object, but this value is obtained when the user changes the direction. Will also change. For example, if a user is playing a game on a train or car, the user's direction may change without noticing, and the objects in the game may rotate their body in an unexpected direction. . Further, since the value of the rotation angle θ y (t) around the Y axis includes an error when the angular velocity vector ω (t) is integrated, there is a possibility that it may become so large that it cannot be ignored.
次いで、自動キャリブレーションについて説明する。本実施形態では、オブジェクトの体の回転の動作には、ゲーム装置1のY軸まわりの回転角θy(t)を使用しているが、この値は、ユーザー自身が向きを変えた場合にも変化してしまう。例えば、ユーザーが電車や車の中でゲームをプレイしていた場合に、気付かないうちにユーザー自身の向きが変わり、ゲームの中のオブジェクトが思わぬ方向に体を回転してしまうことが考えられる。またY軸まわりの回転角θy(t)の値は、角速度ベクトルω(t)を積分したときの誤差を含むため、それが無視できないほど大きくなる可能性も考えられる。 (C) Automatic Calibration Next, automatic calibration will be described. In the present embodiment, the rotation angle θ y (t) around the Y axis of the
しかし、これらの影響によるY軸まわりの回転角θy(t)の変化量は、ユーザーが意図してオブジェクトの体をコントロールしたときの変化量に比べて小さいので、上述の時刻t0におけるY軸まわりの回転角を表していたθ0の値を逐次変えていくことで補正することができる。
However, the change amount of the rotation angle θ y (t) about the Y axis due to these effects is smaller than the amount of change when the user controls the body of an object intended, Y at time t 0 of the above Correction can be made by sequentially changing the value of θ 0 representing the rotation angle around the axis.
具体的には、現在の時刻をtjとし、時刻t0でのY軸まわりの回転角を表していたθ0の値を次の式のように更新する。
θ0→θ0+s×(θy(tj)-θ0) ……(式9)
ここで、式9のパラメータsはキャリブレーションの度合を表していて、sの値が0であればキャリブレーションの効果がまったくなくなり、sの値が1であればθ0が瞬時に現在の向きでキャリブレーションされることになる。キャリブレーションの度合がキャリブレーションの頻度に依存しないように、sの値はキャリブレーションの時間間隔に比例させるのが良い。すなわち、前回キャリブレーションしたときの時刻をtj-1とすると、sの値は次の式で求められる。
s=C×(tj-tj-1) ……(式10)
ここで、Cを定数としても良く、Cはキャリブレーションの速さ(単位時間あたりにキャリブレーションされる度合)を表す。Cの適切な値は、アプリケーションにより種々変更可能であるが、1~5秒-1程度の値を設定するのが良い。また、キャリブレーションは十分高い頻度(少なくとも10Hz以上)で行なわれるとし、sの値が常に1よりも十分小さい値を取るようにしなければならない。 Specifically, the current time is t j, and the value of θ 0 representing the rotation angle around the Y axis at time t 0 is updated as in the following equation.
θ 0 → θ 0 + s × (θ y (t j ) −θ 0 ) (Equation 9)
Here, the parameter s in Equation 9 represents the degree of calibration. If the value of s is 0, the calibration effect is completely lost. If the value of s is 1, θ 0 is instantaneously set to the current direction. Will be calibrated. The value of s is preferably proportional to the calibration time interval so that the degree of calibration does not depend on the frequency of calibration. That is, when the time at the previous calibration is t j−1 , the value of s can be obtained by the following equation.
s = C × (t j −t j−1 ) (Equation 10)
Here, C may be a constant, and C represents the speed of calibration (the degree of calibration per unit time). The appropriate value of C can be variously changed depending on the application, but it is preferable to set a value of about 1 to 5 seconds- 1 . Further, it is assumed that calibration is performed at a sufficiently high frequency (at least 10 Hz or more), and the value of s must always be a value sufficiently smaller than 1.
θ0→θ0+s×(θy(tj)-θ0) ……(式9)
ここで、式9のパラメータsはキャリブレーションの度合を表していて、sの値が0であればキャリブレーションの効果がまったくなくなり、sの値が1であればθ0が瞬時に現在の向きでキャリブレーションされることになる。キャリブレーションの度合がキャリブレーションの頻度に依存しないように、sの値はキャリブレーションの時間間隔に比例させるのが良い。すなわち、前回キャリブレーションしたときの時刻をtj-1とすると、sの値は次の式で求められる。
s=C×(tj-tj-1) ……(式10)
ここで、Cを定数としても良く、Cはキャリブレーションの速さ(単位時間あたりにキャリブレーションされる度合)を表す。Cの適切な値は、アプリケーションにより種々変更可能であるが、1~5秒-1程度の値を設定するのが良い。また、キャリブレーションは十分高い頻度(少なくとも10Hz以上)で行なわれるとし、sの値が常に1よりも十分小さい値を取るようにしなければならない。 Specifically, the current time is t j, and the value of θ 0 representing the rotation angle around the Y axis at time t 0 is updated as in the following equation.
θ 0 → θ 0 + s × (θ y (t j ) −θ 0 ) (Equation 9)
Here, the parameter s in Equation 9 represents the degree of calibration. If the value of s is 0, the calibration effect is completely lost. If the value of s is 1, θ 0 is instantaneously set to the current direction. Will be calibrated. The value of s is preferably proportional to the calibration time interval so that the degree of calibration does not depend on the frequency of calibration. That is, when the time at the previous calibration is t j−1 , the value of s can be obtained by the following equation.
s = C × (t j −t j−1 ) (Equation 10)
Here, C may be a constant, and C represents the speed of calibration (the degree of calibration per unit time). The appropriate value of C can be variously changed depending on the application, but it is preferable to set a value of about 1 to 5 seconds- 1 . Further, it is assumed that calibration is performed at a sufficiently high frequency (at least 10 Hz or more), and the value of s must always be a value sufficiently smaller than 1.
本実施形態では、ユーザーが激しくゲーム装置1を動かしているときにはCの値を小さくして、ほとんど動かしていないときにCの値を大きくするようにしている。例えば、Cの値を以下のように求める。
C=C'×exp(-|ω(t)|2/Ω2) ……(式11)
ここで、expは指数関数を表し、Ωはあらかじめ決めておく定数で、どの程度角速度が大きくなったらsの値を小さくするのかを決定するものである。また、C'は定数で、やはり1~5秒-1程度の値を設定するのが良い。 In the present embodiment, the value of C is reduced when the user is moving thegame apparatus 1 violently, and the value of C is increased when the user is hardly moving. For example, the value of C is obtained as follows.
C = C ′ × exp (− | ω (t) | 2 / Ω 2 ) (Equation 11)
Here, exp represents an exponential function, and Ω is a predetermined constant, which determines how much the angular velocity increases and the value of s decreases. C ′ is a constant and should be set to a value of about 1 to 5 seconds− 1 .
C=C'×exp(-|ω(t)|2/Ω2) ……(式11)
ここで、expは指数関数を表し、Ωはあらかじめ決めておく定数で、どの程度角速度が大きくなったらsの値を小さくするのかを決定するものである。また、C'は定数で、やはり1~5秒-1程度の値を設定するのが良い。 In the present embodiment, the value of C is reduced when the user is moving the
C = C ′ × exp (− | ω (t) | 2 / Ω 2 ) (Equation 11)
Here, exp represents an exponential function, and Ω is a predetermined constant, which determines how much the angular velocity increases and the value of s decreases. C ′ is a constant and should be set to a value of about 1 to 5 seconds− 1 .
(2)打撃操作の検出
次いで、打撃検出部211において、ユーザーによる打撃操作によって生じ得るコントローラの回転運動の特徴を検出する打撃検出法について説明する。本実施形態では、打撃検出部211は2つの打撃検出法を用いており、一方は(1)角加速度を用いて打撃操作の特徴を検出する打撃検出法1、他方は(2)角速度と角加速度との両方を用いて打撃操作の特徴を検出する打撃検出法2、である。しかし、本発明の実施に必ずこれらの2つの方法が必要なわけではなく、ゲームアプリケーションの要件に応じてどちらか一方を用いることも、変更を加えた方法を用いることも可能である。なお、どちらの検出方法も誤検出を生じる可能性があるため、後述する誤検出の改善方法を組み合わせて利用するものとする。ここで誤検出とは、ユーザーが意図していないタイミングでパンチが検出されてしまうことを意味する。以下、各検出方法、及び誤検出改善方法について説明する。 (2) Detection of batting operation Next, a batting detection method in which thebatting detection unit 211 detects the feature of the rotational motion of the controller that can be caused by the batting operation by the user will be described. In this embodiment, the hit detection unit 211 uses two hit detection methods, one is (1) the hit detection method 1 for detecting the characteristics of the hit operation using angular acceleration, and the other is (2) the angular velocity and the angle. The impact detection method 2 detects the characteristics of the impact operation using both acceleration and acceleration. However, the implementation of the present invention does not necessarily require these two methods, and either one can be used according to the requirements of the game application, or a modified method can be used. Note that since both detection methods may cause erroneous detection, a method for improving false detection described later is used in combination. Here, erroneous detection means that a punch is detected at a timing not intended by the user. Hereinafter, each detection method and the false detection improvement method will be described.
次いで、打撃検出部211において、ユーザーによる打撃操作によって生じ得るコントローラの回転運動の特徴を検出する打撃検出法について説明する。本実施形態では、打撃検出部211は2つの打撃検出法を用いており、一方は(1)角加速度を用いて打撃操作の特徴を検出する打撃検出法1、他方は(2)角速度と角加速度との両方を用いて打撃操作の特徴を検出する打撃検出法2、である。しかし、本発明の実施に必ずこれらの2つの方法が必要なわけではなく、ゲームアプリケーションの要件に応じてどちらか一方を用いることも、変更を加えた方法を用いることも可能である。なお、どちらの検出方法も誤検出を生じる可能性があるため、後述する誤検出の改善方法を組み合わせて利用するものとする。ここで誤検出とは、ユーザーが意図していないタイミングでパンチが検出されてしまうことを意味する。以下、各検出方法、及び誤検出改善方法について説明する。 (2) Detection of batting operation Next, a batting detection method in which the
(A)打撃検出法1
角加速度を用いて打撃動作を開始するタイミングを検出する打撃検出法1とは、角速度のY成分であるωy(t)の単位時間あたりの変化量、すなわちY軸まわりの角加速度、がしきい値を越えたときに打撃を検出するものである。 (A)Impact detection method 1
Thehit detection method 1 for detecting the timing at which the hitting operation is started using the angular acceleration is the change amount per unit time of ω y (t) that is the Y component of the angular velocity, that is, the angular acceleration around the Y axis. A hit is detected when the threshold is exceeded.
角加速度を用いて打撃動作を開始するタイミングを検出する打撃検出法1とは、角速度のY成分であるωy(t)の単位時間あたりの変化量、すなわちY軸まわりの角加速度、がしきい値を越えたときに打撃を検出するものである。 (A)
The
ここで、現在の角速度のY成分ωy(t)を検出した時刻をtj、前回角速度が検出された時刻をtj-1とすると、時刻tjでのY軸まわりの角加速度をαy(tj)は、以下のように求められる。
αy(tj)={ωy(tj)-ωy(tj-1)}/(tj-tj-1) ……(式12)
このようにして得られた角加速度αy(tj)の大きさがしきい値Tαを越えたときに打撃操作が入力されたと検出する。この方法のメリットは、角加速度αy(tj)の値はユーザーが打撃操作を入力しようとしてゲーム装置1を押し出した瞬間に増加するため、ユーザーの操作に対して遅延なく打撃を検出できることである。また、ユーザーは一瞬だけ力を入れれば良く、ゲーム装置1を大きく動かさなくても打撃操作を入力することができる。 Here, when the time when the Y component ω y (t) of the current angular velocity is detected is t j and the time when the previous angular velocity is detected is t j−1 , the angular acceleration around the Y axis at time t j is α y (t j ) is obtained as follows.
α y (t j ) = {ω y (t j ) −ω y (t j−1 )} / (t j −t j−1 ) (Equation 12)
When the magnitude of the angular acceleration α y (t j ) thus obtained exceeds the threshold value Tα, it is detected that a hitting operation has been input. The merit of this method is that the value of the angular acceleration α y (t j ) increases at the moment when the user pushes out thegame apparatus 1 to input the batting operation, so that the batting can be detected without delay with respect to the user's operation. is there. Further, the user only needs to apply power for a moment, and can input a batting operation without moving the game apparatus 1 greatly.
αy(tj)={ωy(tj)-ωy(tj-1)}/(tj-tj-1) ……(式12)
このようにして得られた角加速度αy(tj)の大きさがしきい値Tαを越えたときに打撃操作が入力されたと検出する。この方法のメリットは、角加速度αy(tj)の値はユーザーが打撃操作を入力しようとしてゲーム装置1を押し出した瞬間に増加するため、ユーザーの操作に対して遅延なく打撃を検出できることである。また、ユーザーは一瞬だけ力を入れれば良く、ゲーム装置1を大きく動かさなくても打撃操作を入力することができる。 Here, when the time when the Y component ω y (t) of the current angular velocity is detected is t j and the time when the previous angular velocity is detected is t j−1 , the angular acceleration around the Y axis at time t j is α y (t j ) is obtained as follows.
α y (t j ) = {ω y (t j ) −ω y (t j−1 )} / (t j −t j−1 ) (Equation 12)
When the magnitude of the angular acceleration α y (t j ) thus obtained exceeds the threshold value Tα, it is detected that a hitting operation has been input. The merit of this method is that the value of the angular acceleration α y (t j ) increases at the moment when the user pushes out the
一方、角加速度αy(tj)の値が大きくなるのは、ゲーム装置1が急に回転し始めた瞬間だけでなく、回転していたゲーム装置1が急に止まった瞬間も含まれるため、この検出方法では、そのような瞬間に、打撃動作を誤検出してしまうことがある。この誤検出の改善方法は後述する。
On the other hand, the value of the angular acceleration α y (t j ) increases because it includes not only the moment when the game apparatus 1 starts to rotate suddenly but also the moment when the game apparatus 1 that has rotated suddenly stops. In this detection method, a hitting operation may be erroneously detected at such a moment. A method for improving this erroneous detection will be described later.
(B)打撃検出法2
次いで、角速度と角加速度との両方を用いた打撃検出法2について説明する。ここでの検出方法とは、角加速度αy(t)を使って現在時刻tから微小時間Δt後の角速度ωy(t+Δt)の値を予測し、その大きさをしきい値Tωと比較するという方法である。ここで、ωy(t+Δt)の予測値をω'y(t+Δt)と記述することにし、次のように予測する。
ω'y(t+Δt)=ωy(t)+αy(t)Δt ……(式13)
そして、式13で予測したω'y(t+Δt)の大きさが、しきい値Tωを越えたときに打撃操作が入力されたと検出する。この方法のメリットは、角速度ωy(t)の値が大きくなるのがゲーム装置1が速く回転運動しているときだけであるため、打撃検出法1に比べて誤検出が少なくなることである。 (B) Impact detection method 2
Next, the hit detection method 2 using both the angular velocity and the angular acceleration will be described. The detection method here uses the angular acceleration α y (t) to predict the value of the angular velocity ω y (t + Δt) after a minute time Δt from the current time t, and compares the magnitude with the threshold value Tω. It is a method. Here, to be described as ω y (t + Δt) of the predicted value ω 'y (t + Δt) , predicted as follows.
ω ′ y (t + Δt) = ω y (t) + α y (t) Δt (Expression 13)
Then, when the magnitude of ω ′ y (t + Δt) predicted by Expression 13 exceeds the threshold value Tω, it is detected that a batting operation has been input. The merit of this method is that the value of the angular velocity ω y (t) is increased only when thegame apparatus 1 is rotating fast, so that false detection is reduced compared to the hit detection method 1. .
次いで、角速度と角加速度との両方を用いた打撃検出法2について説明する。ここでの検出方法とは、角加速度αy(t)を使って現在時刻tから微小時間Δt後の角速度ωy(t+Δt)の値を予測し、その大きさをしきい値Tωと比較するという方法である。ここで、ωy(t+Δt)の予測値をω'y(t+Δt)と記述することにし、次のように予測する。
ω'y(t+Δt)=ωy(t)+αy(t)Δt ……(式13)
そして、式13で予測したω'y(t+Δt)の大きさが、しきい値Tωを越えたときに打撃操作が入力されたと検出する。この方法のメリットは、角速度ωy(t)の値が大きくなるのがゲーム装置1が速く回転運動しているときだけであるため、打撃検出法1に比べて誤検出が少なくなることである。 (B) Impact detection method 2
Next, the hit detection method 2 using both the angular velocity and the angular acceleration will be described. The detection method here uses the angular acceleration α y (t) to predict the value of the angular velocity ω y (t + Δt) after a minute time Δt from the current time t, and compares the magnitude with the threshold value Tω. It is a method. Here, to be described as ω y (t + Δt) of the predicted value ω 'y (t + Δt) , predicted as follows.
ω ′ y (t + Δt) = ω y (t) + α y (t) Δt (Expression 13)
Then, when the magnitude of ω ′ y (t + Δt) predicted by Expression 13 exceeds the threshold value Tω, it is detected that a batting operation has been input. The merit of this method is that the value of the angular velocity ω y (t) is increased only when the
しかし一方で、ユーザーが打撃操作を入力しようとしてゲーム装置1押し出してから、角速度ωy(t)の値が大きくなるまでには時間がかかるため、この方法では、ユーザーが打撃操作の入力を開始してから、それが検出されるまでに遅延が発生してしまうというデメリットがある。式13のΔtはこのデメリットを軽減するためのものであるが、Δtの値が大き過ぎると角加速度の影響が大きくなり、誤検出が多くなるので、ゲームアプリケーションの要件に応じてΔtの値を調整する必要がある。遅延の軽減を優先させるのであれば、Δtの値は0.05秒程度の大きさに設定するのが良く、誤検出を少なくしたい場合はΔtの値を0.01秒程度に設定するのが良い。本実施形態においては、コンビネーションパンチのような連続した打撃操作の入力を、打撃操作を停止したときの反動と区別して検出するために、誤検出を少なくする設定を用いている。
However, on the other hand, since it takes time until the value of the angular velocity ω y (t) increases after the user pushes the game apparatus 1 to input the batting operation, in this method, the user starts to input the batting operation. Then, there is a demerit that a delay occurs until it is detected. Δt in Equation 13 is intended to reduce this disadvantage. However, if the value of Δt is too large, the influence of angular acceleration increases and false detection increases, so the value of Δt is set according to the requirements of the game application. It needs to be adjusted. If priority is given to delay reduction, it is better to set the value of Δt to about 0.05 seconds, and if you want to reduce false detections, set the value of Δt to about 0.01 seconds. good. In the present embodiment, a setting for reducing erroneous detection is used in order to detect an input of a continuous striking operation such as a combination punch separately from a recoil when the striking operation is stopped.
(C)誤検出改善策
次いで、各打撃検出法で発生する打撃操作の誤検出を改善する方策を説明する。図5は、右手で打撃動作を1回入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフであり、図6は、右手、左手の順に打撃動作を連続で入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフである。また、図7は、右手で打撃動作を1回強く入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフであり、図8は、右手だけで打撃動作を2回連続で入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフである。 (C) Measure for Improving False Detection Next, a measure for improving the false detection of the hitting operation that occurs in each hit detection method will be described. FIG. 5 is a graph showing a change in the rotation angle θ y (t) around the Y axis when the batting motion is input once with the right hand, and FIG. 6 is a diagram in which the batting motion is sequentially input in the order of the right hand and the left hand. It is the graph which showed the change of rotation angle (theta) y (t) around the Y-axis at the time of doing. FIG. 7 is a graph showing a change in the rotation angle θ y (t) around the Y axis when the hitting action is strongly input once with the right hand, and FIG. 8 is the hit action twice with only the right hand. It is the graph which showed the change of rotation angle (theta) y (t) around the Y-axis at the time of inputting continuously.
次いで、各打撃検出法で発生する打撃操作の誤検出を改善する方策を説明する。図5は、右手で打撃動作を1回入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフであり、図6は、右手、左手の順に打撃動作を連続で入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフである。また、図7は、右手で打撃動作を1回強く入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフであり、図8は、右手だけで打撃動作を2回連続で入力した場合のY軸まわりの回転角θy(t)の変化を示したグラフである。 (C) Measure for Improving False Detection Next, a measure for improving the false detection of the hitting operation that occurs in each hit detection method will be described. FIG. 5 is a graph showing a change in the rotation angle θ y (t) around the Y axis when the batting motion is input once with the right hand, and FIG. 6 is a diagram in which the batting motion is sequentially input in the order of the right hand and the left hand. It is the graph which showed the change of rotation angle (theta) y (t) around the Y-axis at the time of doing. FIG. 7 is a graph showing a change in the rotation angle θ y (t) around the Y axis when the hitting action is strongly input once with the right hand, and FIG. 8 is the hit action twice with only the right hand. It is the graph which showed the change of rotation angle (theta) y (t) around the Y-axis at the time of inputting continuously.
なお、図5~図8に示すグラフの横軸は時刻tを表し、縦軸はY軸まわりの回転角θy(t)を表している。なお、各図のグラフが滑らかではなく段々になっている箇所があるのは、角速度検出部205と打撃検出部211とで動作するタイミングが異なるために生じたもので、ジャイロセンサから直接取得できる角速度の値がそこでゼロになっていたり、角加速度の値が大きくなっていたりするわけではない。
5 to 8, the horizontal axis represents time t and the vertical axis represents the rotation angle θ y (t) around the Y axis. It should be noted that the graphs in each figure are not smooth but are stepped due to different timings of operation between the angular velocity detection unit 205 and the hit detection unit 211, and can be obtained directly from the gyro sensor. It does not mean that the value of angular velocity is zero or the value of angular acceleration is large.
(a)一方の手で打撃操作を1回行った場合について
先ず、一方の手で打撃操作を1回行った場合について説明する。図5に示すように、ここでの操作は、グラフのAの時点から、右手を手前に引き始めてパンチの予備操作に入り、Dの時点で右手を強く押し出してパンチを入力する操作を行っている。そして、Fの時点で押し出した手を止め、Gの時点では、その反動で手を引き戻している。このグラフはパンチの操作をしたときに見られる典型的なパターンを示していて、特にGの時点での手を引き戻す動作は、ユーザーが意図して行うものではなく筋肉の反射的な動きであり、必ず見られる反応である。そして、各時点A~Hにおいて、誤検出が生じる可能性がある。打撃検出法1におけるしきい値Tαや、打撃検出法2におけるしきい値Tω、式13のΔtなどの値を調整することで、誤検出をある程度軽減できるものの、いくつか抜本的な対策が必要となる時点があるため、それらの時点で生じ得る誤検出とそれに対する改善処理について説明する。 (A) About the case where the batting operation is performed once with one hand First, the case where the batting operation is performed once with one hand will be described. As shown in FIG. 5, the operation here starts from the time point A of the graph by starting to pull the right hand toward the front and enters the preliminary punch operation, and at the time point D, the right hand is strongly pushed out to input the punch. Yes. And the hand pushed out at the time of F is stopped, and the hand is pulled back by the reaction at the time of G. This graph shows a typical pattern that can be seen when a punch is operated. In particular, the action of pulling back the hand at time G is a reflex movement of the muscle, not what the user intended. This is a reaction that is sure to be seen. There is a possibility that erroneous detection occurs at each time point A to H. By adjusting the threshold value Tα in theimpact detection method 1, the threshold value Tω in the impact detection method 2, and Δt in Equation 13, the false detection can be reduced to some extent, but some drastic measures are required. Since there are certain points in time, a description will be given of erroneous detection that can occur at these points in time and improvement processing for the detection.
先ず、一方の手で打撃操作を1回行った場合について説明する。図5に示すように、ここでの操作は、グラフのAの時点から、右手を手前に引き始めてパンチの予備操作に入り、Dの時点で右手を強く押し出してパンチを入力する操作を行っている。そして、Fの時点で押し出した手を止め、Gの時点では、その反動で手を引き戻している。このグラフはパンチの操作をしたときに見られる典型的なパターンを示していて、特にGの時点での手を引き戻す動作は、ユーザーが意図して行うものではなく筋肉の反射的な動きであり、必ず見られる反応である。そして、各時点A~Hにおいて、誤検出が生じる可能性がある。打撃検出法1におけるしきい値Tαや、打撃検出法2におけるしきい値Tω、式13のΔtなどの値を調整することで、誤検出をある程度軽減できるものの、いくつか抜本的な対策が必要となる時点があるため、それらの時点で生じ得る誤検出とそれに対する改善処理について説明する。 (A) About the case where the batting operation is performed once with one hand First, the case where the batting operation is performed once with one hand will be described. As shown in FIG. 5, the operation here starts from the time point A of the graph by starting to pull the right hand toward the front and enters the preliminary punch operation, and at the time point D, the right hand is strongly pushed out to input the punch. Yes. And the hand pushed out at the time of F is stopped, and the hand is pulled back by the reaction at the time of G. This graph shows a typical pattern that can be seen when a punch is operated. In particular, the action of pulling back the hand at time G is a reflex movement of the muscle, not what the user intended. This is a reaction that is sure to be seen. There is a possibility that erroneous detection occurs at each time point A to H. By adjusting the threshold value Tα in the
・A時点について
予備操作を開始するA時点では、ユーザーがゲーム装置1を持つ手を引いたときの角加速度αy(t)を誤って検出してしまうことが生じる。この誤検出によって、ユーザーが意図していた手と反対の手で打撃操作が入力されたと判断されてしまうため、ユーザーの操作感を大きく損なうことになる。この誤検出は上記の打撃検出法1で発生するが、打撃検出法2打撃検出法2を用いる場合でも、式13のΔtの値を大きく設定した場合に発生する可能性がある。この時点での誤検出に対しては以下の改善方法を用いる。 -About time A At the time A when the preliminary operation is started, the angular acceleration α y (t) when the user pulls the hand holding thegame apparatus 1 may be erroneously detected. Due to this erroneous detection, it is determined that a batting operation has been input with a hand opposite to the hand intended by the user, so that the user's operational feeling is greatly impaired. This erroneous detection occurs in the hit detection method 1 described above, but even if the hit detection method 2 hit detection method 2 is used, it may occur when the value of Δt in Expression 13 is set large. The following improvement method is used for erroneous detection at this point.
予備操作を開始するA時点では、ユーザーがゲーム装置1を持つ手を引いたときの角加速度αy(t)を誤って検出してしまうことが生じる。この誤検出によって、ユーザーが意図していた手と反対の手で打撃操作が入力されたと判断されてしまうため、ユーザーの操作感を大きく損なうことになる。この誤検出は上記の打撃検出法1で発生するが、打撃検出法2打撃検出法2を用いる場合でも、式13のΔtの値を大きく設定した場合に発生する可能性がある。この時点での誤検出に対しては以下の改善方法を用いる。 -About time A At the time A when the preliminary operation is started, the angular acceleration α y (t) when the user pulls the hand holding the
(改善処理A-1)
ここでの改善処理は、制御装置本体100に含まれている加速度センサ169を使うことで予備動作と打撃動作を区別するものである。つまり、加速度センサ169で検出された加速度のZ成分が正であった場合は、ゲーム装置1が手前に引き戻されたことになるため、角加速度αy(t)が増加した理由を予備操作のためであると判断し、打撃操作を検出しないようにする。しかし、ユーザーが片方の手を手前に引く時は、同時にもう一方の手をわずかに押し出す傾向があり、小さな逆向きの加速度を検出してしまう場合がある。そこで加速度のZ成分が正であるかを調べる代わりに、加速度のZ成分がしきい値-Taよりも大きいかどうかを調べ、大きければ打撃操作を検出しないようにする。本実施形態ではTaの大きさは0.1G(重力加速度の10分の1)程度の大きさにしている。 (Improvement processing A-1)
The improvement process here distinguishes the preliminary action and the striking action by using theacceleration sensor 169 included in the control device main body 100. That is, when the Z component of the acceleration detected by the acceleration sensor 169 is positive, the game apparatus 1 is pulled back, so the reason why the angular acceleration α y (t) has increased is the preliminary operation. Therefore, it is determined not to detect the striking operation. However, when the user pulls one hand forward, it tends to push the other hand slightly at the same time, and may detect a small reverse acceleration. Therefore, instead of checking whether the acceleration Z component is positive, it is checked whether the acceleration Z component is larger than the threshold value −Ta. In this embodiment, the size of Ta is about 0.1 G (1/10 of the gravitational acceleration).
ここでの改善処理は、制御装置本体100に含まれている加速度センサ169を使うことで予備動作と打撃動作を区別するものである。つまり、加速度センサ169で検出された加速度のZ成分が正であった場合は、ゲーム装置1が手前に引き戻されたことになるため、角加速度αy(t)が増加した理由を予備操作のためであると判断し、打撃操作を検出しないようにする。しかし、ユーザーが片方の手を手前に引く時は、同時にもう一方の手をわずかに押し出す傾向があり、小さな逆向きの加速度を検出してしまう場合がある。そこで加速度のZ成分が正であるかを調べる代わりに、加速度のZ成分がしきい値-Taよりも大きいかどうかを調べ、大きければ打撃操作を検出しないようにする。本実施形態ではTaの大きさは0.1G(重力加速度の10分の1)程度の大きさにしている。 (Improvement processing A-1)
The improvement process here distinguishes the preliminary action and the striking action by using the
・C時点について
Cの時点では、予備操作でゲーム装置1を手前に引き戻す動作を止めたことによって角加速度αy(t)が大きくなり、打撃検出法1を使っている場合には誤検出が発生する。この場合、ユーザーが意図していた右手の打撃と判定されるので大きな問題はないが、C時点は、ユーザーの意図したタイミングではないため、仮にユーザーがフェイントで打撃するまねだけをした場合には誤検出となる。なお、打撃検出法2を利用する場合は、式13のΔtの値を大きく設定し過ぎるとC時点で誤検出が発生する可能性があるが、Δtの値が0.05秒程度であれば、その可能性は極めて低い。 -About time point C At time point C, the angular acceleration α y (t) increases due to stopping the operation of pulling back thegame apparatus 1 to the front by a preliminary operation. appear. In this case, since it is determined that the user hits the right hand as intended, there is no major problem. However, since the time point C is not the timing intended by the user, if the user only imitates hitting with a feint, False detection. When using the hit detection method 2, if the value of Δt in Equation 13 is set too large, a false detection may occur at time C. If the value of Δt is about 0.05 seconds, The possibility is very low.
Cの時点では、予備操作でゲーム装置1を手前に引き戻す動作を止めたことによって角加速度αy(t)が大きくなり、打撃検出法1を使っている場合には誤検出が発生する。この場合、ユーザーが意図していた右手の打撃と判定されるので大きな問題はないが、C時点は、ユーザーの意図したタイミングではないため、仮にユーザーがフェイントで打撃するまねだけをした場合には誤検出となる。なお、打撃検出法2を利用する場合は、式13のΔtの値を大きく設定し過ぎるとC時点で誤検出が発生する可能性があるが、Δtの値が0.05秒程度であれば、その可能性は極めて低い。 -About time point C At time point C, the angular acceleration α y (t) increases due to stopping the operation of pulling back the
(改善処理C-1)
改善処理C-1は、角加速度だけでなく角速度の向きも監視する処理である。すなわち、角加速度αy(t)の大きさがしきい値Tαを越えていても、Y軸まわりの角速度ωy(t)と角加速度αy(t)の正負が異っていたり、Y軸まわりの角速度ωy(t)の大きさが十分でない場合(あるしきい値T'ωよりも小さい場合)には、角加速度αy(t)の増加の理由が回転していたゲーム装置1が停止したためであると判断し、打撃操作を検出しないようにする。なお、しきい値T'ωは、打撃検出法2におけるしきい値Tωとは異なるものであり、しきい値T'ωの値はしきい値Tωに比べてかなり小さい値に設定する。 (Improvement process C-1)
The improvement process C-1 is a process for monitoring not only the angular acceleration but also the direction of the angular velocity. That is, even if the magnitude of the angular acceleration α y (t) exceeds the threshold value Tα, the angular velocity ω y (t) around the Y axis and the angular acceleration α y (t) are different from each other or around the Y axis. When the magnitude of the angular velocity ω y (t) is not sufficient (when it is smaller than a certain threshold value T′ω), thegame apparatus 1 in which the reason for the increase in the angular acceleration α y (t) is rotating is It is determined that the operation has stopped, and the hitting operation is not detected. Note that the threshold value T′ω is different from the threshold value Tω in the impact detection method 2, and the value of the threshold value T′ω is set to a value considerably smaller than the threshold value Tω.
改善処理C-1は、角加速度だけでなく角速度の向きも監視する処理である。すなわち、角加速度αy(t)の大きさがしきい値Tαを越えていても、Y軸まわりの角速度ωy(t)と角加速度αy(t)の正負が異っていたり、Y軸まわりの角速度ωy(t)の大きさが十分でない場合(あるしきい値T'ωよりも小さい場合)には、角加速度αy(t)の増加の理由が回転していたゲーム装置1が停止したためであると判断し、打撃操作を検出しないようにする。なお、しきい値T'ωは、打撃検出法2におけるしきい値Tωとは異なるものであり、しきい値T'ωの値はしきい値Tωに比べてかなり小さい値に設定する。 (Improvement process C-1)
The improvement process C-1 is a process for monitoring not only the angular acceleration but also the direction of the angular velocity. That is, even if the magnitude of the angular acceleration α y (t) exceeds the threshold value Tα, the angular velocity ω y (t) around the Y axis and the angular acceleration α y (t) are different from each other or around the Y axis. When the magnitude of the angular velocity ω y (t) is not sufficient (when it is smaller than a certain threshold value T′ω), the
・D時点について
Dの時点は、ユーザーが打撃操作を行なった時刻なので、ここで打撃を検出するのは正しい処理だが、仮にユーザーがフェイントで打撃をするまねだけをした場合、予備操作の反動によってこの時点で打撃を検出してしまうことがある。フェイントをかける場合は反動が起きないようにユーザーに注意してもらえば良いのだが、次のような改善処理によって、フェイントが成功する確率を上げることができる。 -About point D Since point D is the time when the user performed the batting operation, it is correct to detect the batting here, but if the user only imitates batting with a feint, At this point, a hit may be detected. When applying a feint, the user should be careful not to cause a reaction, but the following improvement process can increase the probability that the feint will succeed.
Dの時点は、ユーザーが打撃操作を行なった時刻なので、ここで打撃を検出するのは正しい処理だが、仮にユーザーがフェイントで打撃をするまねだけをした場合、予備操作の反動によってこの時点で打撃を検出してしまうことがある。フェイントをかける場合は反動が起きないようにユーザーに注意してもらえば良いのだが、次のような改善処理によって、フェイントが成功する確率を上げることができる。 -About point D Since point D is the time when the user performed the batting operation, it is correct to detect the batting here, but if the user only imitates batting with a feint, At this point, a hit may be detected. When applying a feint, the user should be careful not to cause a reaction, but the following improvement process can increase the probability that the feint will succeed.
(改善処理D-1)
改善処理D-1はゲーム装置1の回転が止まった瞬間を検知し、直後に反動か起こることを予測して一時的にしきい値を大きくする処理である。具体的には、まず回転が止まった瞬間を角速度ωy(t)の値がゼロになった時刻、若しくはゼロをまたいで正負が反転した時刻とする。この時刻はゲーム装置のY軸まわりの回転角θy(t)がピークを迎える時刻なので、ピーク時刻tpと呼ぶことにする。そして、このピーク時刻tpでの角加速度αy(tp)を使って次の条件式を満たす間は打撃を検出しないようにする。
|αy(t)| ≦ |αy(tp)|・exp(-λ(t-tp)) ……(式14)
つまり、角加速度αy(t)がピーク時刻tpでの角加速度αy(tp)を指数関数的に減衰させた値よりも大きくならない限り打撃を検出しないようにする。式14の右辺で算出している値はすぐに減衰してしきい値Tαより小さくなるため、この処理が適用される期間は限定的である。なお、本実施形態ではλの値には20秒-1程度の値を用いている。 (Improvement process D-1)
The improvement process D-1 is a process for detecting the moment when the rotation of thegame apparatus 1 stops and predicting that the game apparatus 1 will move immediately before increasing the threshold temporarily. Specifically, first, the moment when the rotation stops is defined as the time when the value of the angular velocity ω y (t) becomes zero, or the time when the positive and negative signs are reversed across zero. This time the rotational angle around Y axis of the game apparatus θ y (t) is the time that will peak, is referred to as a peak time t p. Then, the angular acceleration α y (t p ) at the peak time t p is used to prevent the hit from being detected while the following conditional expression is satisfied.
| α y (t) | ≦ | α y (t p ) | · exp (−λ (t−t p )) (Equation 14)
That is, the hit is not detected unless the angular acceleration α y (t) becomes larger than the value obtained by exponentially decaying the angular acceleration α y (t p ) at the peak time t p . Since the value calculated on the right side of Expression 14 is attenuated immediately and becomes smaller than the threshold value Tα, the period during which this process is applied is limited. In this embodiment, a value of about 20 seconds −1 is used as the value of λ.
改善処理D-1はゲーム装置1の回転が止まった瞬間を検知し、直後に反動か起こることを予測して一時的にしきい値を大きくする処理である。具体的には、まず回転が止まった瞬間を角速度ωy(t)の値がゼロになった時刻、若しくはゼロをまたいで正負が反転した時刻とする。この時刻はゲーム装置のY軸まわりの回転角θy(t)がピークを迎える時刻なので、ピーク時刻tpと呼ぶことにする。そして、このピーク時刻tpでの角加速度αy(tp)を使って次の条件式を満たす間は打撃を検出しないようにする。
|αy(t)| ≦ |αy(tp)|・exp(-λ(t-tp)) ……(式14)
つまり、角加速度αy(t)がピーク時刻tpでの角加速度αy(tp)を指数関数的に減衰させた値よりも大きくならない限り打撃を検出しないようにする。式14の右辺で算出している値はすぐに減衰してしきい値Tαより小さくなるため、この処理が適用される期間は限定的である。なお、本実施形態ではλの値には20秒-1程度の値を用いている。 (Improvement process D-1)
The improvement process D-1 is a process for detecting the moment when the rotation of the
| α y (t) | ≦ | α y (t p ) | · exp (−λ (t−t p )) (Equation 14)
That is, the hit is not detected unless the angular acceleration α y (t) becomes larger than the value obtained by exponentially decaying the angular acceleration α y (t p ) at the peak time t p . Since the value calculated on the right side of Expression 14 is attenuated immediately and becomes smaller than the threshold value Tα, the period during which this process is applied is limited. In this embodiment, a value of about 20 seconds −1 is used as the value of λ.
・G時点について
Gの時点では、ゲーム装置1を押し出した右手を急に止めた反動で手を引き戻そうとしたときに増加する角加速度αy(t)によって誤検出が生じる。ここでの誤検出は打撃検出法1で発生するが、打撃検出法2を用いる場合でも、式13のΔtの値を大きく設定した場合に発生する可能性がある。ここでの誤検出は改善処理A-1と改善処理D-1を適用することで防ぐことができる。しかしながら、これらの改善処理によって、本来打撃を検出しなければならない状況、即ち、ユーザーがコンビネーションパンチのような左右の連続した打撃操作をした場合に打撃の検出に失敗してしまうことがある。 -About the time G At the time G, a false detection occurs due to the angular acceleration α y (t) that increases when the right hand that pushed out thegame apparatus 1 is suddenly stopped and the hand is pulled back. Although the erroneous detection here occurs in the impact detection method 1, even when the impact detection method 2 is used, it may occur when the value of Δt in Expression 13 is set large. The erroneous detection here can be prevented by applying the improvement process A-1 and the improvement process D-1. However, these improvement processes sometimes fail to detect a hit when the hit must be detected, that is, when the user performs a continuous hitting operation such as a combination punch.
Gの時点では、ゲーム装置1を押し出した右手を急に止めた反動で手を引き戻そうとしたときに増加する角加速度αy(t)によって誤検出が生じる。ここでの誤検出は打撃検出法1で発生するが、打撃検出法2を用いる場合でも、式13のΔtの値を大きく設定した場合に発生する可能性がある。ここでの誤検出は改善処理A-1と改善処理D-1を適用することで防ぐことができる。しかしながら、これらの改善処理によって、本来打撃を検出しなければならない状況、即ち、ユーザーがコンビネーションパンチのような左右の連続した打撃操作をした場合に打撃の検出に失敗してしまうことがある。 -About the time G At the time G, a false detection occurs due to the angular acceleration α y (t) that increases when the right hand that pushed out the
・H時点について
H時点は、G時点と同じくゲーム装置1を急に止めた反動で手が引き戻されたときに角速度ωy(t)の大きさが増加することにより、打撃検出法2で誤検出が生じる。G時点では改善処理A-1と改善処理D-1を適用することでコンビネーションパンチのような左右の連続した打撃操作の検出に失敗することがあった。そこで、H時点で反動とコンビネーションパンチを区別して検出することを試みる。そこで、まずコンビネーションパンチが入力された場合と反動によって手が引き戻された場合との違いについて分析し、次いで誤検出を防ぐための改善処理を説明する。 ・ About time point H As in time point G, the time point H is erroneously detected by the hit detection method 2 because the magnitude of the angular velocity ω y (t) increases when the hand is pulled back by a reaction that suddenly stops thegame apparatus 1. Detection occurs. At time G, applying the improvement process A-1 and the improvement process D-1 sometimes fails to detect the left and right continuous hitting operations such as a combination punch. Therefore, an attempt is made to distinguish and detect the reaction and the combination punch at time H. Therefore, first, the difference between the case where the combination punch is input and the case where the hand is pulled back by the reaction is analyzed, and then the improvement processing for preventing erroneous detection is described.
H時点は、G時点と同じくゲーム装置1を急に止めた反動で手が引き戻されたときに角速度ωy(t)の大きさが増加することにより、打撃検出法2で誤検出が生じる。G時点では改善処理A-1と改善処理D-1を適用することでコンビネーションパンチのような左右の連続した打撃操作の検出に失敗することがあった。そこで、H時点で反動とコンビネーションパンチを区別して検出することを試みる。そこで、まずコンビネーションパンチが入力された場合と反動によって手が引き戻された場合との違いについて分析し、次いで誤検出を防ぐための改善処理を説明する。 ・ About time point H As in time point G, the time point H is erroneously detected by the hit detection method 2 because the magnitude of the angular velocity ω y (t) increases when the hand is pulled back by a reaction that suddenly stops the
(b)コンビネーションパンチの入力を行った場合
まず、打撃操作を2回連続で入力した場合について説明する。図6は右手、左手の順に打撃操作を続けて入力したときのY軸まわりの回転角θy(t)の変化を示したグラフである。この図では、I時点で右手を前に押し出して最初の打撃操作を入力し、J時点で右手が止まると同時に左手を押し出して2番目の打撃操作を入力していることを示している。 (B) When a combination punch is input First, a case where a batting operation is input twice in succession will be described. FIG. 6 is a graph showing a change in the rotation angle θ y (t) about the Y axis when the batting operation is continuously input in the order of the right hand and the left hand. This figure shows that at the time point I, the right hand is pushed forward and the first batting operation is inputted, and at the time point J, the right hand stops and at the same time the left hand is pushed out and the second batting operation is inputted.
まず、打撃操作を2回連続で入力した場合について説明する。図6は右手、左手の順に打撃操作を続けて入力したときのY軸まわりの回転角θy(t)の変化を示したグラフである。この図では、I時点で右手を前に押し出して最初の打撃操作を入力し、J時点で右手が止まると同時に左手を押し出して2番目の打撃操作を入力していることを示している。 (B) When a combination punch is input First, a case where a batting operation is input twice in succession will be described. FIG. 6 is a graph showing a change in the rotation angle θ y (t) about the Y axis when the batting operation is continuously input in the order of the right hand and the left hand. This figure shows that at the time point I, the right hand is pushed forward and the first batting operation is inputted, and at the time point J, the right hand stops and at the same time the left hand is pushed out and the second batting operation is inputted.
この場合において、最初の右手の打撃操作は問題なく検出可能となるが、2番目の左手による打撃の検出は問題となる。なぜなら、改善処理A-1や改善処理D-1の影響でJ時点では打撃動作を検出に失敗することがあるからである。そこで、打撃検出法2を用いてJ時点からM時点にかけてしばらくの間大きい値を保っている角速度ωy(t)を検出することになるが、これを図5のH時点の反動による角速度と区別しなければならない。
In this case, the first right-hand hitting operation can be detected without any problem, but the second left-hand hitting detection becomes a problem. This is because the hitting operation may fail to be detected at time J due to the effects of the improvement process A-1 and the improvement process D-1. Therefore, the angular velocity ω y (t), which remains large for a while from time J to time M, is detected using the impact detection method 2, and this is detected as the angular velocity due to the reaction at time H in FIG. It must be distinguished.
ここで、図7は、図5のH時点での誤検出を強調するために、力強く右手で打撃操作を入力したときのグラフであり、図8は、右手で2回続けて打撃操作をしたときのグラフである。図7では、N時点で勢いよくゲーム装置1を前に押し出し、O時点からP時点にかけて反動で大きくY軸まわりの回転角θy(t)が変化している。そのため、打撃検出法2におけるしきい値Tωの値を大きくしてもO時点とP時点の間の区間で誤検出が発生してしまう。しかしながら、図7で見られるように、反動が始まってから角速度が小さくなるまでのO時点とP時点の区間T1は、非常に短い時間(0.05秒程度)という特徴があることから、本実施形態では、この特徴を利用して以下の改善処理を適用する。
Here, FIG. 7 is a graph when a striking operation is strongly input with the right hand in order to emphasize the erroneous detection at the time point H in FIG. 5, and FIG. 8 is a striking operation with the right hand twice in succession. It is a graph of time. In FIG. 7, the game apparatus 1 is pushed forward vigorously at time N, and the rotation angle θ y (t) around the Y axis changes greatly from reaction time O to time P. For this reason, even if the threshold value Tω in the hit detection method 2 is increased, erroneous detection occurs in the section between the O time point and the P time point. However, as can be seen in FIG. 7, the interval T1 between the time O and the time P from the start of the reaction until the angular velocity becomes small is characterized by a very short time (about 0.05 seconds). In the embodiment, the following improvement processing is applied using this feature.
(改善処理H-1)
改善処理H-1は、打撃検出法2において、Y軸まわりの回転角θy(t)がピークに達した時刻からごく短い期間は、打撃検出法2で打撃操作を検出しないようにするものである。図7を例にとると、Y軸まわりの回転角θy(t)がピークに達した時点Oから微小期間εの間では打撃動作を検出しないようにする。この微小期間εはT1よりも若干長い0.055秒程度に設定する。これをあまり長い値に設定すると、コンビネーションパンチを検出できなくなる。 (Improvement processing H-1)
The improvement process H-1 is to prevent the hit detection method 2 from detecting the hit operation in the hit detection method 2 for a very short period from the time when the rotation angle θ y (t) around the Y axis reaches the peak. It is. Taking FIG. 7 as an example, the striking motion is not detected during the minute period ε from time O when the rotation angle θ y (t) around the Y axis reaches the peak. This minute period ε is set to about 0.055 seconds, which is slightly longer than T1. If this is set too long, a combination punch cannot be detected.
改善処理H-1は、打撃検出法2において、Y軸まわりの回転角θy(t)がピークに達した時刻からごく短い期間は、打撃検出法2で打撃操作を検出しないようにするものである。図7を例にとると、Y軸まわりの回転角θy(t)がピークに達した時点Oから微小期間εの間では打撃動作を検出しないようにする。この微小期間εはT1よりも若干長い0.055秒程度に設定する。これをあまり長い値に設定すると、コンビネーションパンチを検出できなくなる。 (Improvement processing H-1)
The improvement process H-1 is to prevent the hit detection method 2 from detecting the hit operation in the hit detection method 2 for a very short period from the time when the rotation angle θ y (t) around the Y axis reaches the peak. It is. Taking FIG. 7 as an example, the striking motion is not detected during the minute period ε from time O when the rotation angle θ y (t) around the Y axis reaches the peak. This minute period ε is set to about 0.055 seconds, which is slightly longer than T1. If this is set too long, a combination punch cannot be detected.
なお、図6のコンビネーションパンチでは、K時点ではまだ角加速度αy(t)の大きさが小さく、角速度ωy(t)はしばらく大きな値を保っているが、図7の単独のパンチでは、P時点で既に逆方向の角加速度αy(t)が加わって減速を始めている。そのため、式13において角加速度αy(t)を使って少し先の時刻の角加速度ω'y(t+Δt)を予測することにより、この2つの差をより良く判別できる。
In the combination punch shown in FIG. 6, the angular acceleration α y (t) is still small at the time point K and the angular velocity ω y (t) remains large for a while. However, in the single punch shown in FIG. At the time P, the angular acceleration α y (t) in the reverse direction has already been applied, and deceleration has started. Therefore, by predicting the angular acceleration ω ′ y (t + Δt) slightly ahead using the angular acceleration α y (t) in Equation 13, the difference between the two can be better distinguished.
また、角速度検出部205が60Hz程度の頻度で動作しているとすると、角速度の検出が行なわれるのは0.017秒程度の間隔であり、これは区間T1と微小期間εの差分より長いため、検出処理が行なわれるタイミングによってはH時点やP時点で誤検出が発生したり、K時点でのコンビネーションパンチの検出に失敗したりする可能性がある。そこで、改善処理H-1の精度を高めるために、Y軸まわりの回転角θy(t)がピークに達した時刻をより正確に知る必要がある。例えば、図7において、ピークが検出されるのはO時点であるが、実際にピークに逹しているのはそれより少し前の時点であると推測できる。そこで、ピークが検出された時刻をtjとし、そのひとつ前に角速度を検出した時刻をtj-1とし、次のように、時刻tjと時刻tj-1をそれぞれの時刻での角速度の大きさの比率で内分することで、ピークに逹した時刻tpを推定する。
tp=(|ωy(tj)|tj-1+|ωy(tj-1)|tj)/(|ωy(tj-1)|+|ωy(tj)|) ……(式15)
また、ピークに逹した時刻tpから微小期間ε経過した後に始めて角速度を検出した時刻をtεとし、時刻tεにおいては、式13の代わりに次の式で角速度の値を推測することにする。
ω'y(tp+ε+Δt)=ωy(tε)+αy(tε)(Δt+tp+ε-tε) ……(式16)
時刻tεにおいて、式16で得られたω'y(tp+ε+Δt)をしきい値Tωと比較して打撃操作を検出することで、角速度検出部205が動作するタイミングの影響をあまり受けずに、改善処理H-1を適用することができるようになる。 If the angularvelocity detection unit 205 is operating at a frequency of about 60 Hz, the angular velocity is detected at intervals of about 0.017 seconds, because this is longer than the difference between the section T1 and the minute period ε. Depending on the timing at which the detection process is performed, there is a possibility that an erroneous detection occurs at the H time or the P time, or that the combination punch detection at the K time fails. Therefore, in order to increase the accuracy of the improvement process H-1, it is necessary to more accurately know the time when the rotation angle θ y (t) around the Y axis reaches the peak. For example, in FIG. 7, the peak is detected at time O, but it can be estimated that it is a time before that that actually falls on the peak. Therefore, the time at which the peak is detected and t j, and the time of detecting the angular velocity before that one and t j-1, as follows, the angular velocity of the time t j and time t j-1 at each time point by internally dividing by the size ratio of, estimating the time t p that of us to peak.
t p = (| ω y (t j ) | t j-1 + | ω y (t j-1 ) | t j ) / (| ω y (t j-1 ) | + | ω y (t j ) |) ...... (Formula 15)
Further, the time when the angular velocity is detected for the first time after elapse of a minute period ε from the time t p when the peak is reached is assumed to be t ε, and at the time t ε , the angular velocity value is estimated by the following equation instead of the equation 13. To do.
ω ′ y (t p + ε + Δt) = ω y (t ε ) + α y (t ε ) (Δt + t p + ε−t ε ) (Equation 16)
At time t epsilon, by detecting the batting operation compared to a threshold Tω resulting omega 'y a (t p + ε + Δt) in equation 16, not so much affected by the timing of the angularvelocity detecting unit 205 is operated In addition, the improvement process H-1 can be applied.
tp=(|ωy(tj)|tj-1+|ωy(tj-1)|tj)/(|ωy(tj-1)|+|ωy(tj)|) ……(式15)
また、ピークに逹した時刻tpから微小期間ε経過した後に始めて角速度を検出した時刻をtεとし、時刻tεにおいては、式13の代わりに次の式で角速度の値を推測することにする。
ω'y(tp+ε+Δt)=ωy(tε)+αy(tε)(Δt+tp+ε-tε) ……(式16)
時刻tεにおいて、式16で得られたω'y(tp+ε+Δt)をしきい値Tωと比較して打撃操作を検出することで、角速度検出部205が動作するタイミングの影響をあまり受けずに、改善処理H-1を適用することができるようになる。 If the angular
t p = (| ω y (t j ) | t j-1 + | ω y (t j-1 ) | t j ) / (| ω y (t j-1 ) | + | ω y (t j ) |) ...... (Formula 15)
Further, the time when the angular velocity is detected for the first time after elapse of a minute period ε from the time t p when the peak is reached is assumed to be t ε, and at the time t ε , the angular velocity value is estimated by the following equation instead of the equation 13. To do.
ω ′ y (t p + ε + Δt) = ω y (t ε ) + α y (t ε ) (Δt + t p + ε−t ε ) (Equation 16)
At time t epsilon, by detecting the batting operation compared to a threshold Tω resulting omega 'y a (t p + ε + Δt) in equation 16, not so much affected by the timing of the angular
(c)同じ手で2回続けて打撃操作を行った場合
次いで、図8に示すように、同じ手で2回続けて打撃操作を行った場合について説明する。図8では、Q時点で1回目の打撃操作が入力され、R時点からS時点にかけて反動で右手が引き戻されている。そして、S時点からT時点にかけては、反動の勢いを借りて2回目の予備操作が行われ、T時点で2回目の打撃操作が入力されている。 (C) When the batting operation is performed twice with the same hand Next, the case where the batting operation is performed twice with the same hand as shown in FIG. 8 will be described. In FIG. 8, the first batting operation is input at the time point Q, and the right hand is pulled back by reaction from the time point R to the time point S. From time S to time T, the second preliminary operation is performed with the reaction force, and the second batting operation is input at time T.
次いで、図8に示すように、同じ手で2回続けて打撃操作を行った場合について説明する。図8では、Q時点で1回目の打撃操作が入力され、R時点からS時点にかけて反動で右手が引き戻されている。そして、S時点からT時点にかけては、反動の勢いを借りて2回目の予備操作が行われ、T時点で2回目の打撃操作が入力されている。 (C) When the batting operation is performed twice with the same hand Next, the case where the batting operation is performed twice with the same hand as shown in FIG. 8 will be described. In FIG. 8, the first batting operation is input at the time point Q, and the right hand is pulled back by reaction from the time point R to the time point S. From time S to time T, the second preliminary operation is performed with the reaction force, and the second batting operation is input at time T.
図8と図6は大変良く似ていて、区別するのが難しく見えるが、図8ではピークが検出されたR時点とS時点までの間が短く、S時点では減速を開始していて、そこからゆるやかに予備操作に入ってT時点に到達しているのに対し、図6ではJ時点の直後からM時点の直前まで急傾斜が続いていて大きな角速度を維持しているので、ここでも改善処理H-1を適用することでこれらの違いを判断し、S時点での誤検出を防止できる。
FIG. 8 and FIG. 6 are very similar and seem to be difficult to distinguish, but in FIG. 8, the time between the point R and the point S where the peak is detected is short, and at the point S, deceleration starts. In contrast, the preliminary operation is gradually started and the time point T is reached. In FIG. 6, since the steep slope continues from immediately after the time point J to immediately before the time point M, a large angular velocity is maintained. By applying the processing H-1, these differences can be determined, and erroneous detection at the point S can be prevented.
また、図6のコンビネーションパンチでは、最初の打撃操作の入力で出した手を引き戻しながら、反対の手を押し出してゲーム装置1を回転させていることから、図8で最初にパンチを出した手を予備動作のために引き戻す場合よりも、角速度が大きくなるため、打撃検出法2のしきい値Tωを少し大き目の値に設定することで、S時点での誤検出をより確実に防止できるようになる。打撃検出法2のしきい値Tωを少し大き目の値に設定することで、通常の打撃操作の入力を検出しにくくなるが、通常の打撃動作の入力は打撃検出法1で検出できるので問題ない。
Further, in the combination punch of FIG. 6, the game device 1 is rotated by pushing out the opposite hand while pulling back the hand put out by the input of the first batting operation. Since the angular velocity is higher than when pulling back for preliminary operation, the threshold value Tω of the hit detection method 2 is set to a slightly larger value so that erroneous detection at the time S can be prevented more reliably. become. By setting the threshold value Tω of the hit detection method 2 to a slightly larger value, it becomes difficult to detect the input of the normal hit operation, but there is no problem because the input of the normal hit operation can be detected by the hit detection method 1. .
(4)その他の動作制御
動作制御部210は、打撃動作や予備動作とは異なるオブジェクトの動作を制御する機能も備えており、例えば、ボクシングゲームでは、ジャイロセンサ164を、プレイヤーオブジェクトに対戦相手の打撃を避ける動作をさせる制御に使うことができる。 (4) Other motion control Themotion control unit 210 also has a function of controlling the motion of an object different from the batting motion and the preliminary motion. For example, in a boxing game, the gyro sensor 164 is placed on the player object to the opponent. It can be used for the control that makes the operation to avoid hitting.
動作制御部210は、打撃動作や予備動作とは異なるオブジェクトの動作を制御する機能も備えており、例えば、ボクシングゲームでは、ジャイロセンサ164を、プレイヤーオブジェクトに対戦相手の打撃を避ける動作をさせる制御に使うことができる。 (4) Other motion control The
この回避の動作としては、図4(b)に示すように、ゲーム装置1を前方に傾けると、オブジェクトがしゃがんでパンチを避けるように制御し、ゲーム装置1を後方に傾けると、オブジェクトがスウェーバックをしてパンチを避けるように制御し、ゲーム装置1を右に傾けると、オブジェクトの体を右に傾けてパンチを避けるように制御し、ゲーム装置1を左に傾けると、オブジェクトの体を左に傾けてパンチを避けるように制御するものである。
As the avoiding operation, as shown in FIG. 4B, when the game apparatus 1 is tilted forward, the object is crouched to avoid punching, and when the game apparatus 1 is tilted backward, the object When the game apparatus 1 is tilted to the right and the game apparatus 1 is tilted to the right, the object body is tilted to the right to avoid the punch, and when the game apparatus 1 is tilted to the left, the object body is It is controlled to tilt to the left to avoid punching.
このような操作のために、動作制御部210は、角速度検出部205によって得られたゲーム装置1の回転行列をA(t)利用する。具体的には、先ず、次式のようにベクトルyをY軸方向の単位ベクトルとする。
y=(0,1,0) ……(式17)
そして、ゲーム開始時のゲーム装置1の回転行列をA0とし、その逆行列をA0 -1とする。そして、Y軸方向の単位ベクトルyをA(t)A0 -1で回転することで得られるベクトルy'(t)を、次のように求める。
y'(t)=A(t)A0 -1y ……(式18)
式18で算出されたベクトルy'(t)は、ゲーム装置1のY軸がゲーム開始時からどれだけ傾いたかを表しているため、ベクトルy'(t)のX成分を左右の傾きの検出に使い、ベクトルy'(t)のZ成分を前後の傾きの検出に使うことができる。 For such an operation, themotion control unit 210 uses the rotation matrix of the game apparatus 1 obtained by the angular velocity detection unit 205 for A (t). Specifically, first, the vector y is set as a unit vector in the Y-axis direction as in the following equation.
y = (0,1,0) (Equation 17)
Then, the rotation matrix of thegame apparatus 1 at the start of the game is A 0, and its inverse matrix is A 0 −1 . Then, a vector y ′ (t) obtained by rotating the unit vector y in the Y-axis direction by A (t) A 0 −1 is obtained as follows.
y ′ (t) = A (t) A 0 −1 y (Equation 18)
Since the vector y ′ (t) calculated by Expression 18 represents how much the Y axis of thegame apparatus 1 is tilted from the start of the game, the X component of the vector y ′ (t) is detected as the left / right tilt. And the Z component of the vector y ′ (t) can be used to detect the forward / backward inclination.
y=(0,1,0) ……(式17)
そして、ゲーム開始時のゲーム装置1の回転行列をA0とし、その逆行列をA0 -1とする。そして、Y軸方向の単位ベクトルyをA(t)A0 -1で回転することで得られるベクトルy'(t)を、次のように求める。
y'(t)=A(t)A0 -1y ……(式18)
式18で算出されたベクトルy'(t)は、ゲーム装置1のY軸がゲーム開始時からどれだけ傾いたかを表しているため、ベクトルy'(t)のX成分を左右の傾きの検出に使い、ベクトルy'(t)のZ成分を前後の傾きの検出に使うことができる。 For such an operation, the
y = (0,1,0) (Equation 17)
Then, the rotation matrix of the
y ′ (t) = A (t) A 0 −1 y (Equation 18)
Since the vector y ′ (t) calculated by Expression 18 represents how much the Y axis of the
このようにして得られた傾きの情報をアナログ値としてそのままオブジェクトの制御に使うこともできる。例えば、テニスゲームにおいては、ベクトルy'(t)のX成分及びZ成分をそのままオブジェクトの前後左右の移動量に利用することができる。また、ボクシングゲームにおいても、この値に応じてオブジェクトが体を傾ける(スウェーする)角度を制御しても良い。
The slope information obtained in this way can be used as an analog value for object control as it is. For example, in a tennis game, the X component and the Z component of the vector y ′ (t) can be used as they are for the front / rear / left / right movement amount of the object. Also in the boxing game, the angle at which the object tilts (swayes) the body may be controlled according to this value.
なお、例えば、ボクシングゲームにおいては、このような処理は用いず、ベクトルy'(t)のX成分又はZ成分があるしきい値を越えたときにパンチの回避行動を取るようにしても良い。この場合、ユーザーが回避行動をとろうとしてゲーム装置1を操作してから、実際に傾きがしきい値を越えるまでには時間がかかるため、ユーザーによるパンチ回避の操作の入力を検出するのに少し遅延が生じる。
For example, in a boxing game, such processing is not used, and the punch avoidance action may be taken when the X component or the Z component of the vector y ′ (t) exceeds a certain threshold value. . In this case, since it takes time until the inclination actually exceeds the threshold after the user operates the game apparatus 1 in an attempt to take an avoidance action, it is necessary to detect an input of a punch avoidance operation by the user. There is a slight delay.
そこで、本実施形態では、角速度ベクトルω(t)及びその単位時間あたりの変化量から得られる角加速度ベクトルα(t)を利用して、微小時間Δt後のベクトルy'(t+Δt)を予測することで遅延を解消する。そこで、先ず、微小時間Δt後にゲーム装置1が現在の向きからどれくらい回転するのかを、回転ベクトルΔrとして、次のように予測する。
Δr=ω(t)Δt+0.5×α(t)Δt2……(式19)
そして、式19で予測した微小時間Δt秒での回転ベクトルΔrを、次のように回転の大きさΔθと回転軸ベクトルaとに分解する。
Δθ=|Δr|, ……(式20)
a=Δr/Δθ ……(式21)
このようにして得られた回転角Δθと回転軸ベクトルaを使って、式17のY軸方向の単位ベクトルyを回転したものをベクトルy''として、ベクトルy''を次のようにして求める。
y''=(1-cosΔθ)(a・y)a+(cosΔθ)y+(sinΔθ)(a×y) ……(式22)
ここで、(a・y)はベクトルaとベクトルyの内積、(a×y)はベクトルaとベクトルyの外積を表している。そして、式18のベクトルyの代わりに式22で求めたベクトルy''を回転行列A(t)A0 -1で回転することで、次のように微小時間Δt後のベクトルy'(t+Δt)を予測する。
y'(t+Δt)=A(t)A0 -1y''……(式23)
この式23で得られたy'(t+Δt)をy'(t)の代わりに用いることで、パンチの回避動作の入力を検出する際の遅延を解消できる。なお、本実施形態において、微小時間Δtは0.05秒に設定されている。 Therefore, in this embodiment, the vector y ′ (t + Δt) after a minute time Δt is predicted using the angular velocity vector ω (t) and the angular acceleration vector α (t) obtained from the change amount per unit time. To eliminate the delay. Therefore, first, how much thegame apparatus 1 rotates from the current direction after a minute time Δt is predicted as the rotation vector Δr as follows.
Δr = ω (t) Δt + 0.5 × α (t) Δt 2 (Equation 19)
Then, the rotation vector Δr at the minute time Δt seconds predicted by Expression 19 is decomposed into the rotation magnitude Δθ and the rotation axis vector a as follows.
Δθ = | Δr |, (Equation 20)
a = Δr / Δθ (Formula 21)
Using the rotation angle Δθ and the rotation axis vector a thus obtained, the unit vector y in the Y-axis direction of Equation 17 is rotated as a vector y ″, and the vector y ″ is set as follows: Ask.
y ″ = (1−cosΔθ) (a · y) a + (cosΔθ) y + (sinΔθ) (a × y) (Equation 22)
Here, (a · y) represents the inner product of the vector a and the vector y, and (a × y) represents the outer product of the vector a and the vector y. Then, by rotating the vector y ″ obtained by the equation 22 instead of the vector y of the equation 18 by the rotation matrix A (t) A 0 −1 , the vector y ′ (t + Δt after the minute time Δt is as follows. ).
y ′ (t + Δt) = A (t) A 0 −1 y ″ (Expression 23)
By using y ′ (t + Δt) obtained by Equation 23 instead of y ′ (t), the delay in detecting the input of the punch avoidance operation can be eliminated. In the present embodiment, the minute time Δt is set to 0.05 seconds.
Δr=ω(t)Δt+0.5×α(t)Δt2……(式19)
そして、式19で予測した微小時間Δt秒での回転ベクトルΔrを、次のように回転の大きさΔθと回転軸ベクトルaとに分解する。
Δθ=|Δr|, ……(式20)
a=Δr/Δθ ……(式21)
このようにして得られた回転角Δθと回転軸ベクトルaを使って、式17のY軸方向の単位ベクトルyを回転したものをベクトルy''として、ベクトルy''を次のようにして求める。
y''=(1-cosΔθ)(a・y)a+(cosΔθ)y+(sinΔθ)(a×y) ……(式22)
ここで、(a・y)はベクトルaとベクトルyの内積、(a×y)はベクトルaとベクトルyの外積を表している。そして、式18のベクトルyの代わりに式22で求めたベクトルy''を回転行列A(t)A0 -1で回転することで、次のように微小時間Δt後のベクトルy'(t+Δt)を予測する。
y'(t+Δt)=A(t)A0 -1y''……(式23)
この式23で得られたy'(t+Δt)をy'(t)の代わりに用いることで、パンチの回避動作の入力を検出する際の遅延を解消できる。なお、本実施形態において、微小時間Δtは0.05秒に設定されている。 Therefore, in this embodiment, the vector y ′ (t + Δt) after a minute time Δt is predicted using the angular velocity vector ω (t) and the angular acceleration vector α (t) obtained from the change amount per unit time. To eliminate the delay. Therefore, first, how much the
Δr = ω (t) Δt + 0.5 × α (t) Δt 2 (Equation 19)
Then, the rotation vector Δr at the minute time Δt seconds predicted by Expression 19 is decomposed into the rotation magnitude Δθ and the rotation axis vector a as follows.
Δθ = | Δr |, (Equation 20)
a = Δr / Δθ (Formula 21)
Using the rotation angle Δθ and the rotation axis vector a thus obtained, the unit vector y in the Y-axis direction of Equation 17 is rotated as a vector y ″, and the vector y ″ is set as follows: Ask.
y ″ = (1−cosΔθ) (a · y) a + (cosΔθ) y + (sinΔθ) (a × y) (Equation 22)
Here, (a · y) represents the inner product of the vector a and the vector y, and (a × y) represents the outer product of the vector a and the vector y. Then, by rotating the vector y ″ obtained by the equation 22 instead of the vector y of the equation 18 by the rotation matrix A (t) A 0 −1 , the vector y ′ (t + Δt after the minute time Δt is as follows. ).
y ′ (t + Δt) = A (t) A 0 −1 y ″ (Expression 23)
By using y ′ (t + Δt) obtained by Equation 23 instead of y ′ (t), the delay in detecting the input of the punch avoidance operation can be eliminated. In the present embodiment, the minute time Δt is set to 0.05 seconds.
上述のように、打撃動作や予備動作以外の動作についてもジャイロセンサ164によってオブジェクトを制御することによって、ユーザーはゲーム装置1を持つ手を動かすことに専念することができるため、ボタンなどの他の操作に気を取られることなく、思い通りにオブジェクトを操作することができるようになる。
As described above, since the user can concentrate on moving the hand holding the game apparatus 1 by controlling the object with the gyro sensor 164 for operations other than the striking operation and the preliminary operation, other operations such as a button are used. You will be able to operate the object as you want without being distracted by the operation.
(5)動作種別選択機能
さらに、打撃検出部211には、タッチパネル300などの入力部に対する入力信号の有無又は種別に応じて、打撃種類及び防御種類を変化させる機能を有している。例えば、ボクシングゲームであれば、打撃種類としては、ジャブ、ストレート、フック、ボディブロー、アッパーカット、防御種類としては頭部のカード、ボディのガードなどが考えられる。 (5) Action Type Selection Function Further, thehit detection unit 211 has a function of changing the hit type and the defense type in accordance with the presence or absence or type of an input signal to the input unit such as the touch panel 300. For example, in the case of a boxing game, the hit type may be jab, straight, hook, body blow, upper cut, and the defense type may be a head card or a body guard.
さらに、打撃検出部211には、タッチパネル300などの入力部に対する入力信号の有無又は種別に応じて、打撃種類及び防御種類を変化させる機能を有している。例えば、ボクシングゲームであれば、打撃種類としては、ジャブ、ストレート、フック、ボディブロー、アッパーカット、防御種類としては頭部のカード、ボディのガードなどが考えられる。 (5) Action Type Selection Function Further, the
打撃検出部211による打撃の打ち分けは、操作位置検出部201aからのタッチパネル300に対する操作信号に応じて、選択される。具体的には、画面上には、図9に示すように、右手用及び左手用にそれぞれ打撃や防御動作の種類を選択する選択領域306,307を有している。ここで、画面右側の選択領域306は、右手の打撃及び防御に対する種類が割り当てられ、画面左側の選択領域307は、左手の打撃及び防御についての種類が割り当てられている。そして、それぞれの範囲306,307には、A領域306a,307a、B領域306b,307b、及びC領域306c,307cの3つの領域があり、各領域に応じて打撃や防御の動作が異なるように設定されている。
The hitting by the hit detection unit 211 is selected according to an operation signal to the touch panel 300 from the operation position detection unit 201a. Specifically, as shown in FIG. 9, the screen has selection areas 306 and 307 for selecting the type of batting and defense action for the right hand and the left hand, respectively. Here, the selection area 306 on the right side of the screen is assigned types for the right hand hitting and defense, and the selection area 307 on the left side of the screen is assigned the type for hitting and defending the left hand. In each of the ranges 306 and 307, there are three areas, A area 306a and 307a, B area 306b and 307b, and C area 306c and 307c, so that the action of hitting and defense differs depending on each area. Is set.
ここで、ボクシングゲームの場合、A領域306a,307aには、ストレートを割り当て、B領域306b、307bには、ボディブローを割り当て、C領域306c、307cには、アッパーカットを割り当てることができる。すなわち、打撃操作を入力する際に、ユーザーの打撃操作を入力した側の手の指がこれらの領域のいずれかに触れていれば、その打撃操作はそこに割り当てられた打撃種類となる。また、いずれの領域にも触れていない場合にはフックの打撃動作とすることで、4種類の打撃を打ち分けられる。さらに、打撃操作が入力された時点で予備操作が小さければフックやストレートの代わりにジャブを打つようにしても良い。
Here, in the case of a boxing game, a straight can be assigned to the A areas 306a and 307a, a body blow can be assigned to the B areas 306b and 307b, and an upper cut can be assigned to the C areas 306c and 307c. That is, when inputting the batting operation, if the finger of the hand on the side where the user's batting operation is input touches any of these areas, the batting operation becomes the batting type assigned thereto. In addition, when no area is touched, the hitting operation of the hook can be performed to divide the four types of hitting. Further, if the preliminary operation is small when the batting operation is input, a jab may be hit instead of a hook or a straight.
また、打撃操作がなければ上記の領域を防御動作にも割り当てることができる。例えば、A領域306a,307aが押されている間は、頭部をガードするように動作させ、B領域306b,307b又はC領域306c,307cが押されている間は、ボディをガードするように動作させる。
Also, if there is no batting operation, the above area can be assigned to the defensive action. For example, while the A region 306a, 307a is being pressed, the head is operated to be guarded, and while the B region 306b, 307b or the C region 306c, 307c is being pressed, the body is guarded. Make it work.
なお、図9に示した各領域306,307の位置、形状、及び範囲は、これに限定されるものではなく、ゲームの種類に応じて種々変更可能である。また、本実施形態では、打撃種類及び防御種類の変更にタッチパネル300を利用したが、タッチスクリーンを持たないコントローラではボタンを使っても良い。
Note that the positions, shapes, and ranges of the areas 306 and 307 shown in FIG. 9 are not limited to this, and can be variously changed according to the type of game. In this embodiment, the touch panel 300 is used to change the hit type and the defense type. However, a button may be used in a controller that does not have a touch screen.
(操作信号解析方法)
上述したような本実施形態における本発明のユーザーインターフェースシステムにおいて、コントローラから入力される操作信号等の情報を元に、ユーザーによる打撃操作があったことを判断する操作信号解析方法について以下に説明する。図10は、本実施形態に係る操作信号解析方法の概略を示すフローチャート図であり、図11は、本実施形態に係るピーク検出処理のサブルーチンを示すフローチャート図である。また、図12は、実施形態に係る打撃検出処理1のサブルーチンを示すフローチャート図であり、図13は、実施形態に係る打撃検出処理2のサブルーチンを示すフローチャート図である。 (Operation signal analysis method)
In the user interface system of the present invention as described above, an operation signal analysis method for determining that the user has performed a batting operation based on information such as an operation signal input from the controller will be described below. . FIG. 10 is a flowchart showing an outline of the operation signal analysis method according to this embodiment, and FIG. 11 is a flowchart showing a subroutine of peak detection processing according to this embodiment. FIG. 12 is a flowchart showing a subroutine of thehit detection process 1 according to the embodiment, and FIG. 13 is a flowchart showing a subroutine of the hit detection process 2 according to the embodiment.
上述したような本実施形態における本発明のユーザーインターフェースシステムにおいて、コントローラから入力される操作信号等の情報を元に、ユーザーによる打撃操作があったことを判断する操作信号解析方法について以下に説明する。図10は、本実施形態に係る操作信号解析方法の概略を示すフローチャート図であり、図11は、本実施形態に係るピーク検出処理のサブルーチンを示すフローチャート図である。また、図12は、実施形態に係る打撃検出処理1のサブルーチンを示すフローチャート図であり、図13は、実施形態に係る打撃検出処理2のサブルーチンを示すフローチャート図である。 (Operation signal analysis method)
In the user interface system of the present invention as described above, an operation signal analysis method for determining that the user has performed a batting operation based on information such as an operation signal input from the controller will be described below. . FIG. 10 is a flowchart showing an outline of the operation signal analysis method according to this embodiment, and FIG. 11 is a flowchart showing a subroutine of peak detection processing according to this embodiment. FIG. 12 is a flowchart showing a subroutine of the
なお、本実施形態では、打撃検出処理1のサブルーチンで打撃検出法1、打撃検出処理2のサブルーチンで打撃検出法2を用いており、打撃検出法1には改善処理A-1、改善処理C-1及び改善処理D-1、打撃検出法2には改善処理A-1及び改善処理H-1を適用している。
In the present embodiment, the hit detection method 1 uses the hit detection method 1 and the hit detection processing 2 subroutine uses the hit detection method 2. The hit detection method 1 uses the improvement processing A-1 and the improvement processing C. -1 and improvement processing D-1, and the hit detection method 2 uses improvement processing A-1 and improvement processing H-1.
また、打撃検出法2では打撃操作が検出されるのが一瞬の間だけというわけではなく、しばらくの間連続して検出され続けることがある。さらに、2つの検出方法を併用するため、1つの打撃操作の入力を2回検出してしまうこともある。そこで、2重にパンチが検出されるのを防ぐために、punch変数とピーク検出処理を用いて処理している。また、ピーク検出処理は改善処理D-1及び改善処理H-1のためにも用いられる。これらの処理については後で説明する。
Further, in the hit detection method 2, the hit operation is not detected for a moment, but may be continuously detected for a while. Furthermore, since two detection methods are used in combination, an input of one hitting operation may be detected twice. Therefore, in order to prevent double punch detection, processing is performed using the punch variable and peak detection processing. The peak detection process is also used for the improvement process D-1 and the improvement process H-1. These processes will be described later.
また、本実施形態で用いられている各パラメータの値は次の通りに設定されている。先ず、打撃検出法1のしきい値Tαを3500度/秒2に、打撃検出法2のしきい値Tωを360度/秒に、改善処理C-1のしきい値T'ωを90度/秒に設定する。また、打撃検出法2の微小時間Δtを0.01秒に、改善処理A-1のTaを0.1G(Gは重力加速度の大きさ)に、改善処理D-1のλを20秒-1に、改善処理H-1の微小期間εを0.055秒に、ピーク検出処理での定数T''ωを180度/秒に設定する。なお、定数T''ωは、ゲーム装置1の回転が止まった瞬間を検出するピーク検出処理で使われている定数で、ピークとピークの間におけるゲーム装置1のY軸まわりの角速度大きさの最大値ωmaxがT''ωを越えなければ改善処理H-1を開始しないようになっている。
In addition, the values of the parameters used in the present embodiment are set as follows. First, the threshold value Tα of the impact detection method 1 is 3500 degrees / second 2 , the threshold value Tω of the impact detection method 2 is 360 degrees / second, and the threshold value T′ω of the improvement process C-1 is 90 degrees Set to / sec. Further, a minute time Δt of the striking detection method 2 to 0.01 seconds, the improved process A-1 of Ta to 0.1 G (the size of G is gravitational acceleration), the improvement process D-1 lambda 20 seconds - First , the minute period ε of the improvement process H-1 is set to 0.055 seconds, and the constant T ″ ω in the peak detection process is set to 180 degrees / second. The constant T ″ ω is a constant used in the peak detection process for detecting the moment when the rotation of the game apparatus 1 stops. The constant T ″ ω is the angular velocity around the Y axis of the game apparatus 1 between the peaks. If the maximum value ω max does not exceed T ″ ω, the improvement process H-1 is not started.
(1)操作信号解析方法の概要
本実施形態における、操作信号解析方法の概要について説明する。
先ず、最初のステップで、打撃検出部211は、打撃検出処理に必要な各変数に初期値を設定する(S101)。具体的には、開始時刻を変数tprevに、開始時刻におけるゲーム装置1のY軸まわりの角速度を変数ωprevに設定する(ωprev=ωy(tprev))。さらに、ピークを検出してからの経過時間であるピーク経過時間tpeekを0に設定する(tpeek=0)。さらに、ピークとピークの間でのゲーム装置1のY軸まわりの角速度の大きさの最大値を表す変数ωmaxと直近のピークの時刻におけるY軸まわりの角加速度を表す変数αpeekを0で初期化する(ωmax=0, αpeek=0)。また、開始時刻では左右どちらの打撃操作も検出していないことに設定し(punch=NONE)、コマンド待ち行列を初期化する。 (1) Overview of Operation Signal Analysis Method An overview of the operation signal analysis method in the present embodiment will be described.
First, in the first step, thehit detection unit 211 sets initial values for each variable necessary for the hit detection process (S101). Specifically, the start time is set as a variable t prev and the angular velocity around the Y axis of the game apparatus 1 at the start time is set as a variable ω prev (ω prev = ω y (t prev )). Further, the peak elapsed time t peek , which is the elapsed time since the peak was detected, is set to 0 (t peek = 0). Further, a variable ω max representing the maximum value of the angular velocity around the Y axis of the game apparatus 1 between the peaks and a variable α peek representing the angular acceleration around the Y axis at the time of the most recent peak are set to 0. Initialize (ω max = 0, α peek = 0). At the start time, it is set that neither the left or right batting operation is detected (punch = NONE), and the command queue is initialized.
本実施形態における、操作信号解析方法の概要について説明する。
先ず、最初のステップで、打撃検出部211は、打撃検出処理に必要な各変数に初期値を設定する(S101)。具体的には、開始時刻を変数tprevに、開始時刻におけるゲーム装置1のY軸まわりの角速度を変数ωprevに設定する(ωprev=ωy(tprev))。さらに、ピークを検出してからの経過時間であるピーク経過時間tpeekを0に設定する(tpeek=0)。さらに、ピークとピークの間でのゲーム装置1のY軸まわりの角速度の大きさの最大値を表す変数ωmaxと直近のピークの時刻におけるY軸まわりの角加速度を表す変数αpeekを0で初期化する(ωmax=0, αpeek=0)。また、開始時刻では左右どちらの打撃操作も検出していないことに設定し(punch=NONE)、コマンド待ち行列を初期化する。 (1) Overview of Operation Signal Analysis Method An overview of the operation signal analysis method in the present embodiment will be described.
First, in the first step, the
変数の初期化が終わると、アプリケーション実行部202によって、仮想空間上に配置されるオブジェクトの生成及び初期状態の設定(S102)が行なわれ、メインループの処理に入る。メインループに入ると、まず仮想空間及びオブジェクトの表示情報生成ステップ(S103)が行なわれる。この処理では、表示情報生成部204が、仮想空間及びオブジェクトをLCD165に表示するための情報を生成し、LCD165と同期を取り、前回の表示情報の更新がLCD165上で完了するのを待ってから、新しく生成された表示情報をLCD165に転送する。ここで、LCD165と同期を取るため、メインループはLCD165のリフレッシュレート(例えば60Hz程度)の頻度で繰り返し実行されることになる。
When the variable initialization is completed, the application execution unit 202 generates an object to be arranged in the virtual space and sets an initial state (S102), and enters a main loop process. When the main loop is entered, a virtual space and object display information generation step (S103) is first performed. In this process, the display information generation unit 204 generates information for displaying the virtual space and the object on the LCD 165, synchronizes with the LCD 165, and waits for the previous display information update to be completed on the LCD 165. The newly generated display information is transferred to the LCD 165. Here, in order to synchronize with the LCD 165, the main loop is repeatedly executed at a frequency of the refresh rate of the LCD 165 (for example, about 60 Hz).
次に、打撃検出部211は、角速度検出部205で算出されたゲーム装置1の運動に係る情報を読み取り、打撃検出処理に必要な変数に読み取った値を設定する(S104)。具体的には、現在の時刻をtcurとし、ゲーム装置1のY軸まわりの角速度ωy(tcur)を変数ωcurに設定する。また、ゲーム装置1にかかる加速度のZ成分を変数azに設定する。
Next, the hit detection unit 211 reads information related to the motion of the game apparatus 1 calculated by the angular velocity detection unit 205, and sets the read value as a variable necessary for the hit detection process (S104). Specifically, the current time is set to t cur and the angular velocity ω y (t cur ) around the Y axis of the game apparatus 1 is set to the variable ω cur . Further, the Z component of acceleration applied to the game apparatus 1 is set to the variable a z .
そして、その次のステップ(S105)で、前回角速度が読み取られた時刻tprevから現在時刻tcurまでの経過時間dtを計算し(dt=tcur-tprev)、得られた経過時間dtを利用して、Y軸まわりの角加速度αcurを算出する(αcur=(ωcur-ωprev)/dt)。
In the next step (S105), an elapsed time dt from the time t prev at which the previous angular velocity was read to the current time t cur is calculated (dt = t cur −t prev ), and the obtained elapsed time dt is calculated. Utilizing this, the angular acceleration α cur around the Y axis is calculated (α cur = (ω cur −ω prev ) / dt).
さらに、ステップS105では、算出した経過時間dtを用いて、ピーク経過時間tpeekの値を更新する。具体的に、ピーク経過時間tpeekを、更新前のtpeekと経過時間dtとを加算した値(tpeek=tpeek+dt)で更新する。
また、ピーク時刻に検出されたY軸まわりの角加速度αpeekを式14の右辺のように減衰させる(αpeek=αpeek・exp(-λdt) )。 Furthermore, in step S105, the value of the peak elapsed time t peek is updated using the calculated elapsed time dt. Specifically, the peak elapsed time t peek is updated with a value (t peek = t peek + dt) obtained by adding the t peek before the update and the elapsed time dt.
Further, the angular acceleration α peek around the Y axis detected at the peak time is attenuated as in the right side of Expression 14 (α peek = α peek · exp (−λdt)).
また、ピーク時刻に検出されたY軸まわりの角加速度αpeekを式14の右辺のように減衰させる(αpeek=αpeek・exp(-λdt) )。 Furthermore, in step S105, the value of the peak elapsed time t peek is updated using the calculated elapsed time dt. Specifically, the peak elapsed time t peek is updated with a value (t peek = t peek + dt) obtained by adding the t peek before the update and the elapsed time dt.
Further, the angular acceleration α peek around the Y axis detected at the peak time is attenuated as in the right side of Expression 14 (α peek = α peek · exp (−λdt)).
その後、打撃検出部211では、一連の打撃検出ステップ(S106~S108)が行なわれる。これらの各処理が実行された後は、次のメインループ処理のために、現在の時刻と角速度をそれぞれ変数tprev及び変数ωprevに保存し、ωmaxの値を更新しておく(S109)。ここでωmaxの値は更新前のωmaxの値と現在のY軸まわりの角速度の大きさ|ωcur|を比較して、大きい方の値で更新される。ωmaxの値は、ピーク検出処理(S106)の中でピークが検出される度に0にリセットされるため、前回ピークが検出されてから現在に至るまでに検出されたゲーム装置1のY軸まわりの角速度の大きさの最大値を表すことになる。このステップが終わると、動作制御部210に処理が移り、動作制御ステップ(S110)が実行される。動作制御ステップでは、打撃検出部211によって生成されたパンチコマンドをコマンド待ち行列から受け取り、オブジェクトが打撃動作を開始できる状態にあれば、コマンド待ち行列からパンチコマンドを取り出し、オブジェクトに打撃動作を開始させる。
Thereafter, the hit detection unit 211 performs a series of hit detection steps (S106 to S108). After each of these processes is executed, the current time and angular velocity are stored in the variable t prev and the variable ω prev for the next main loop process, and the value of ω max is updated (S109). . Here, the value of ω max is updated with the larger value by comparing the value of ω max before the update with the current magnitude of the angular velocity around the Y axis | ω cur |. Since the value of ω max is reset to 0 every time a peak is detected in the peak detection process (S106), the Y-axis of the game apparatus 1 detected since the previous peak was detected until now. It represents the maximum value of the angular velocity around. When this step ends, the process moves to the operation control unit 210, and the operation control step (S110) is executed. In the motion control step, the punch command generated by the hit detection unit 211 is received from the command queue, and if the object is in a state where the hit operation can be started, the punch command is taken out from the command queue and the object starts the hit operation. .
なお、動作制御ステップにおいて、動作制御部210は、オブジェクトが打撃動作の状態になければ、角速度検出部205で算出されたゲーム装置1のY軸まわりの回転角θ(tcur)の値に応じて、オブジェクトに打撃動作に関する予備動作を実行させる。さらに、動作制御ステップにおいては、ゲーム装置1の傾きの度合に応じて、オブジェクトの打撃回避の動作も制御する。
In the motion control step, the motion control unit 210 responds to the value of the rotation angle θ (t cur ) around the Y axis of the game apparatus 1 calculated by the angular velocity detection unit 205 if the object is not in the hitting motion state. To cause the object to perform a preliminary motion related to the striking motion. Further, in the action control step, the action of avoiding hitting the object is also controlled according to the degree of inclination of the game apparatus 1.
動作制御ステップまで終了すると、アプリケーション実行部202は、ゲームの進行状況を確認して(S111)、まだ試合が終了していなければ(S111における“NO”)、メインループの最初のステップ(S103)に戻り、試合終了となった場合には(S111における“YES”)、処理を終了する。
When the operation control step ends, the application execution unit 202 confirms the progress of the game (S111). If the game has not ended yet ("NO" in S111), the first step of the main loop (S103) If the game is over ("YES" in S111), the process is terminated.
(2)ピーク検出処理
次いで、S106におけるピーク検出処理について説明する(図11)。先ず、打撃検出部211は、前回検出した角速度と今回検出した角速度とから、ゲーム装置1の回転が停止してゲーム装置1のY軸まわりの回転角がピークに達したかどうかを判断する(S201)。具体的には、前回動作制御部210が実行されたときに検出されたY軸まわりの角速度ωprevと、現時刻におけるY軸まわりの角速度ωcurとの乗算値が正か負かでピークを検出したかどうかを判断する(ωcur×ωprev≦0)。 (2) Peak Detection Process Next, the peak detection process in S106 will be described (FIG. 11). First, thehit detection unit 211 determines whether or not the rotation of the game apparatus 1 has stopped and the rotation angle around the Y axis of the game apparatus 1 has reached a peak from the previously detected angular velocity and the angular velocity detected this time ( S201). Specifically, the peak is obtained when the multiplication value of the angular velocity ω prev around the Y axis detected when the operation control unit 210 was executed last time and the angular velocity ω cur around the Y axis at the current time is positive or negative. It is determined whether or not it is detected (ω cur × ω prev ≦ 0).
次いで、S106におけるピーク検出処理について説明する(図11)。先ず、打撃検出部211は、前回検出した角速度と今回検出した角速度とから、ゲーム装置1の回転が停止してゲーム装置1のY軸まわりの回転角がピークに達したかどうかを判断する(S201)。具体的には、前回動作制御部210が実行されたときに検出されたY軸まわりの角速度ωprevと、現時刻におけるY軸まわりの角速度ωcurとの乗算値が正か負かでピークを検出したかどうかを判断する(ωcur×ωprev≦0)。 (2) Peak Detection Process Next, the peak detection process in S106 will be described (FIG. 11). First, the
前回検出した角速度ωprevと今回検出した角速度ωcurとの乗算値が正である場合には(S201における“NO”)、ピークを検出していないと判断して処理を終了する。一方、乗算値が0以下である場合は(S201における“YES”)、前回検出した角速度ωprevと今回検出した角速度ωcurの間で正負が逆転しているので、ピークを検出したと判断し、前回のピーク時と今回のピークとの間に検出されたY軸まわりの角速度の大きさの最大値ωmaxを確認する(S202)。
When the multiplication value of the angular velocity ω prev detected last time and the angular velocity ω cur detected this time is positive (“NO” in S201), it is determined that no peak is detected, and the process is terminated. On the other hand, when the multiplication value is 0 or less (“YES” in S201), it is determined that the peak has been detected because the positive / negative is reversed between the angular velocity ω prev detected last time and the angular velocity ω cur detected this time. The maximum value ω max of the magnitude of the angular velocity around the Y axis detected between the previous peak and the current peak is confirmed (S202).
もし、ωmaxの値が定数T''ωより大きい場合には(S202における“YES”)、反動が大きくなる程激しくゲーム装置1が回転した可能性があるので、ピーク検出時刻からの経過時間tpeekやピーク時刻におけるY軸まわりの角加速度αpeekを設定した後(S203)、ステップS204へ進む。これにより改善処理H-1と改善処理D-1の適用が開始される。一方、ωmaxの値が定数T''ω以下である場合には、反動が大きくなる程ゲーム装置1が回転していないので、ピーク検出時刻からの経過時間tpeekやピーク時刻におけるY軸まわりの角加速度αpeekを設定することなく、次のステップS204へ進む。
If the value of ω max is larger than the constant T ″ ω (“YES” in S202), there is a possibility that the game apparatus 1 has rotated more rapidly as the reaction becomes larger, so the elapsed time from the peak detection time After t peek and the angular acceleration α peek around the Y axis at the peak time are set (S203), the process proceeds to step S204. Thereby, application of the improvement process H-1 and the improvement process D-1 is started. On the other hand, when the value of ω max is equal to or smaller than the constant T ″ ω, the game apparatus 1 is not rotating as the reaction becomes larger, so the elapsed time t peek from the peak detection time and the Y axis around the peak time The process proceeds to the next step S204 without setting the angular acceleration α peek .
なお、ステップS203における経過時間tpeekを設定する処理では、式15によるピーク到達の推定時刻tpが用いられている。すなわち、ピークを検出したのが現在時刻であっても、実際にピークを越えたのは現在時刻より少し前の時刻であり、その時刻を推定して、その推定時刻から現在時刻までの経過時間をtpeekに設定する。
In the process of setting the elapsed time t peek in step S203, the peak arrival estimated time t p according to Equation 15 is used. In other words, even if the peak was detected at the current time, the peak was actually exceeded a little before the current time, and that time was estimated and the elapsed time from the estimated time to the current time Is set to t peek .
ステップS204では、回転が停止する直前でゲーム装置1が左(反時計周り)に回転していたかどうかを判断する(S204)。ここで、前回検出した角速度ωprevが0よりも大きい場合には(S204における“YES”)、前回のピーク検出から左(反時計回り)に回転していると判断する。ゲーム装置1が左(反時計回り)に回転しているということは右手でパンチを繰り出す操作をしていることになる。
In step S204, it is determined whether or not the game apparatus 1 has been rotated to the left (counterclockwise) immediately before the rotation is stopped (S204). Here, when the previously detected angular velocity ω prev is greater than 0 (“YES” in S204), it is determined that the rotation is counterclockwise (counterclockwise) from the previous peak detection. The fact that the game apparatus 1 is rotating to the left (counterclockwise) means that the punching operation is performed with the right hand.
そこで、打撃検出部211は、右手による打撃操作が検出されているか(punch ==RIGHT)を判断する(S206)。右手による打撃操作が検出されている場合には(S206における“YES”)、打撃操作が終了したとして変数punchをリセット(punch = NONE)する(S207)。右手による打撃操作が検出されていない場合には(S206における“NO”)変数punchをリセットすることなくステップS208に進む。
Therefore, the hit detection unit 211 determines whether a hit operation with the right hand is detected (punch == RIGHT) (S206). If a hitting operation with the right hand is detected (“YES” in S206), the variable punch is reset (punch = NONE) assuming that the hitting operation has ended (S207). When the hit operation with the right hand is not detected (“NO” in S206), the process proceeds to step S208 without resetting the variable punch.
一方、前回検出した角速度ωprevが0以下である場合には(S204における“NO”)、前回のピーク検出から右(時計回り)に回転していると判断する。ゲーム装置1が右(時計回り)に回転しているということは左手でパンチを繰り出す操作をしていることになる。
On the other hand, when the angular velocity ω prev detected last time is 0 or less (“NO” in S204), it is determined that the rotation is clockwise (clockwise) from the previous peak detection. The fact that the game apparatus 1 is rotating to the right (clockwise) means that the left hand is performing the punching operation.
そこで、打撃検出部211は、左手による打撃操作が検出されているか(punch == LEFT)を判断する(S205)。左手による打撃操作が検出されている場合には(S205における“YES”)、打撃操作が終了したとして変数punchをリセット(punch = NONE)する(S207)。一方、左手による打撃操作が検出されていない場合には(S205における“NO”)、変数punchをリセットすることなくステップS208に進む。
Therefore, the hit detection unit 211 determines whether a hitting operation with the left hand is detected (punch == LEFT) (S205). If a hitting operation with the left hand is detected (“YES” in S205), the variable punch is reset (punch = NONE) assuming that the hitting operation has ended (S207). On the other hand, when the left hand hitting operation is not detected (“NO” in S205), the process proceeds to step S208 without resetting the variable punch.
ステップS208では、ピークを検出したので、ピークとピークの間に検出されるY軸まわりの角速度の大きさの最大値を表す変数ωmaxをリセットして処理を終了する。
In step S208, since the peak is detected, the variable ω max representing the maximum value of the angular velocity around the Y axis detected between the peaks is reset, and the process is terminated.
(3)打撃検出処理1
次いで、S107における打撃検出処理1について説明する(図12)。この処理は、打撃検出法1に、改善処理A-1、改善処理C-1及び改善処理D-1を組み合わせて打撃動作を検出するものである。 (3)Impact detection process 1
Next, thehit detection process 1 in S107 will be described (FIG. 12). In this process, the hit detection method 1 is combined with the improvement process A-1, the improvement process C-1, and the improvement process D-1 to detect a hitting action.
次いで、S107における打撃検出処理1について説明する(図12)。この処理は、打撃検出法1に、改善処理A-1、改善処理C-1及び改善処理D-1を組み合わせて打撃動作を検出するものである。 (3)
Next, the
先ず、打撃検出部211は、図12に示すように、打撃検出法1に改善処理A-1の条件を付加して、検出された角加速度が予備操作によるものかどうかを判断する。具体的には、ステップS104において取得した加速度のZ成分azがしきい値-Taよりも大きいかを判断する(S301)。ここで、加速度のZ成分azがしきい値-Taよりも大きい場合には(S301における“YES”)、検出された角加速度は予備操作によるものと判断してパンチ検出処理1を終了する。一方、加速度のZ成分azがしきい値-Ta以下の場合には(S301における“NO”)、検出された角加速度は打撃操作によるものと判断する。
First, as shown in FIG. 12, the hit detection unit 211 adds the condition of the improvement process A-1 to the hit detection method 1, and determines whether or not the detected angular acceleration is due to a preliminary operation. Specifically, it is determined whether the Z component a z of the acceleration acquired in step S104 is larger than a threshold value −Ta (S301). Here, when the acceleration Z component a z is larger than the threshold value −Ta (“YES” in S301), it is determined that the detected angular acceleration is due to the preliminary operation, and the punch detection processing 1 is terminated. . On the other hand, when the Z component a z of acceleration is equal to or less than the threshold −Ta (“NO” in S301), it is determined that the detected angular acceleration is due to the batting operation.
次いで、打撃検出部211では、改善処理C-1及び改善処理D-1の条件を付加して、S104で算出したゲーム装置1のY軸まわりの角速度ωcurと、及びS105で算出したゲーム装置1のY軸まわりの角加速度αcurとの正負が同じで、かつ、Y軸まわりの角速度ωcurの大きさがあるしきい値T'ωを越えるとともに、角加速度αcurがしきい値Tα及びステップS105で時間とともに減衰させたピーク時刻での角加速度αpeekを越えているかを判断する(S302及びS303)。
Next, the hit detection unit 211 adds the conditions of the improvement process C-1 and the improvement process D-1, and the angular velocity ω cur around the Y axis of the game apparatus 1 calculated in S104 and the game apparatus calculated in S105. The angular acceleration α cur around the Y axis is the same as the angular acceleration α cur around the Y axis, and the angular velocity ω cur around the Y axis exceeds a certain threshold value T′ω, and the angular acceleration α cur is equal to the threshold value Tα. Then, it is determined whether the angular acceleration α peek at the peak time attenuated with time in step S105 is exceeded (S302 and S303).
ここでは、先ず、角加速度αcur及び角速度ωcurが互いに正で、かつ、角加速度αcurがしきい値Tα及びピーク時刻での角加速度αpeekを越えているか、角速度ωcurがしきい値T'ωを越えているか否かを判断する(S302)。全ての条件を満たす場合には(S302における“YES”)、打撃操作が入力されたと判断してステップS304へ進む。
Here, first, the angular acceleration α cur and the angular velocity ω cur are positive with each other, and the angular acceleration α cur exceeds the threshold value Tα and the angular acceleration α peek at the peak time, or the angular velocity ω cur is the threshold value. It is determined whether or not T′ω is exceeded (S302). If all the conditions are satisfied (“YES” in S302), it is determined that a batting operation has been input, and the process proceeds to step S304.
一方、S302の条件を満たさない場合には(S302における“NO”)、次に、角加速度αcur及び角速度ωcurが互いに負で、かつ、角加速度αcurがしきい値-Tα及びピーク時刻での角加速度αpeekより小さいか、角速度ωcurがしきい値-T'ωより小さいか否かを判断する(S303)。ここで、全ての条件を満たす場合には(S303における“YES”)、打撃操作が入力されたと判断してステップS306へ進む。一方、S303の条件に該当しない場合には(S303における“NO”)、打撃操作ではないと判断して処理を終了する。
On the other hand, when the condition of S302 is not satisfied (“NO” in S302), the angular acceleration α cur and the angular velocity ω cur are negative with each other, and the angular acceleration α cur is a threshold value −Tα and a peak time. It is determined whether or not the angular acceleration α peek at is smaller than the angular velocity ω cur is smaller than the threshold −T′ω (S303). If all the conditions are satisfied (“YES” in S303), it is determined that a batting operation has been input, and the process proceeds to step S306. On the other hand, when the condition of S303 is not satisfied (“NO” in S303), it is determined that the hit operation is not performed, and the process is terminated.
ステップS304及びステップS306では、同じ打撃操作を打撃検出処理1と打撃検出処理2で2重に検出しないようにする処理が行われる。具体的にステップS304では、punch変数を調べて、右手による打撃操作がまだ検出されていない(punch!=RIGHT)かを判断する。ここで、右手による打撃操作がまだ検出されていない(punch!=RIGHT)場合(S304における“YES”)、右手で打撃を行うと決定し、ステップS305においてコマンド待ち行列に“右手でパンチ”コマンドを追加するとともに、punch変数をRIGHTに設定した後、打撃検出法1を終了する。一方、ステップS304の条件に該当しない場合には、(S304における“NO”)、そのまま打撃検出法1を終了する。
In step S304 and step S306, a process is performed in which the same batting operation is not detected twice by the batting detection process 1 and the batting detection process 2. Specifically, in step S304, the punch variable is checked to determine whether a hit operation with the right hand has not been detected yet (punch! = RIGHT). Here, if the hit operation with the right hand has not yet been detected (punch! = RIGHT) (“YES” in S304), it is determined to hit with the right hand, and the “punch with right hand” command is entered in the command queue in step S305. , And after setting the punch variable to RIGHT, the hit detection method 1 is terminated. On the other hand, if the condition in step S304 is not satisfied (“NO” in S304), the batting detection method 1 is terminated as it is.
ステップS306でも、同じ打撃操作を打撃検出処理1と打撃検出処理2で2重に検出しないようにする処理が行われる。具体的にはpunch変数を調べて、左手による打撃動作がまだ検出されていない(punch!=LEFT)かを判断する(S306)。左手による打撃操作がまだ検出されていない(punch!=LIGHT)場合(S306における“YES”)、左手でパンチを行うと決定し、ステップS307においてコマンド待ち行列に“左手でパンチ”コマンドを追加するとともに、punch変数をLEFTに設定した後に打撃検出法1を終了する。一方、ステップS306の条件に該当しない場合には、(S306における“NO”)、そのまま打撃検出法1を終了する。
In step S306, the same batting operation is performed so as not to be detected twice by the batting detection process 1 and the batting detection process 2. Specifically, the punch variable is examined to determine whether a left hand hitting motion has not yet been detected (punch! = LEFT) (S306). If the left hand hitting operation has not yet been detected (punch! = LIGHT) (“YES” in S306), it is determined to punch with the left hand, and the “punch with left hand” command is added to the command queue in step S307. At the same time, the hit detection method 1 is terminated after setting the punch variable to LEFT. On the other hand, if the condition in step S306 is not met (“NO” in S306), the batting detection method 1 is terminated as it is.
なお、上記ステップS305及びS307において、パンチコマンドをコマンド待ち行列に追加する際、制御装置本体100に配置されたタッチパネル300に対する入力信号の有無又は種別に応じて打撃種類の選択が行なわれ、選択に応じたパンチコマンドがコマンド待ち行列に追加されるものとする。
In addition, in step S305 and S307, when adding a punch command to the command queue, a hitting type is selected according to the presence or absence or type of an input signal to the touch panel 300 arranged in the control device main body 100. A corresponding punch command is added to the command queue.
(4)打撃検出処理2
次いで、S108における打撃検出法2について説明する(図13)。この処理は、打撃検出法2に改善処理A-1及び改善処理H-1を組み合わせてパンチを検出するものである。先ず、打撃検出部211は、ステップS401において、改善処理H-1と改善処理A-1を適用する。具体的には、ピーク検出処理でピークが検出されてからの経過時間tpeekが所定の微小期間εを越えているかどうか、加速度のZ成分azがしきい値-Ta以下かどうかを確認し、打撃検出処理を行なうかどうかを判断する(S401)。もしいずれかの条件を満たさなければ(S401における“NO”)、反動を誤検出しないように打撃検出処理を終了する。 (4) Impact detection process 2
Next, the hit detection method 2 in S108 will be described (FIG. 13). In this process, the hit detection method 2 is combined with the improvement process A-1 and the improvement process H-1 to detect a punch. First, thehit detection unit 211 applies the improvement process H-1 and the improvement process A-1 in step S401. Specifically, it is confirmed whether the elapsed time t peek after the peak is detected in the peak detection process exceeds a predetermined minute period ε and whether the acceleration Z component a z is equal to or less than the threshold −Ta. Then, it is determined whether or not to perform the hit detection process (S401). If any of the conditions is not satisfied (“NO” in S401), the hit detection process is terminated so as not to erroneously detect the reaction.
次いで、S108における打撃検出法2について説明する(図13)。この処理は、打撃検出法2に改善処理A-1及び改善処理H-1を組み合わせてパンチを検出するものである。先ず、打撃検出部211は、ステップS401において、改善処理H-1と改善処理A-1を適用する。具体的には、ピーク検出処理でピークが検出されてからの経過時間tpeekが所定の微小期間εを越えているかどうか、加速度のZ成分azがしきい値-Ta以下かどうかを確認し、打撃検出処理を行なうかどうかを判断する(S401)。もしいずれかの条件を満たさなければ(S401における“NO”)、反動を誤検出しないように打撃検出処理を終了する。 (4) Impact detection process 2
Next, the hit detection method 2 in S108 will be described (FIG. 13). In this process, the hit detection method 2 is combined with the improvement process A-1 and the improvement process H-1 to detect a punch. First, the
次いで、打撃検出部211は、微小時間Δt後の角速度の予測値ω'を算出するが、その際に、前回ピークが検出されてから初めての打撃検出処理なのかどうかを判断する(S402)。もし、ピーク経過時間tpeekと微小期間εの差分がステップS105で算出した経過時間dtより大きければ(S402における“NO”)、式13を用いて予測値ω'y(tcur+Δt)を算出し、変数ω'に設定する(S403)。そうでなければ(S402における“YES”)、ピーク検出後の初めての打撃検出処理になるため、式16を用いて予測値ω'y(tpeek+ε+Δt)を算出し、変数ω'に設定する(S404)。
Next, the hit detection unit 211 calculates the predicted value ω ′ of the angular velocity after the minute time Δt. At this time, the hit detection unit 211 determines whether the hit detection process is the first after the previous peak is detected (S402). If the difference between the peak elapsed time t peek and the minute period ε is larger than the elapsed time dt calculated in step S105 (“NO” in S402), the predicted value ω ′ y (t cur + Δt) is calculated using Equation 13. Then, the variable ω ′ is set (S403). Otherwise (“YES” in S402), since the first hit detection process after the peak detection is performed, the predicted value ω ′ y (t peek + ε + Δt) is calculated using Expression 16 and set to the variable ω ′. (S404).
そして、算出したω'の値がしきい値Tωより大きく、かつ、右手による打撃動作がまだ検出されていない(punch!=RIGHT)かを判断する(S405)。ステップS405の条件を満たす場合には(S405における“YES”)、右手でパンチを行うと決定し、コマンド待ち行列に“右手でパンチ”コマンドを追加するとともに、punch変数をRIGHTに設定した後(S406)、打撃検出処理2を終了する。ステップS405の条件のいずれかを満たさない場合には、(S405における“NO”)、算出したω'の値がしきい値-Tωより小さく、かつ、左手による打撃動作がまだ検出されていない(punch!=LEFT)かを判断する(S407)。
Then, it is determined whether or not the calculated value of ω ′ is larger than the threshold value Tω and a hitting action with the right hand has not been detected yet (punch! = RIGHT) (S405). If the condition of step S405 is satisfied (“YES” in S405), it is determined that punching is performed with the right hand, the “punch with right hand” command is added to the command queue, and the punch variable is set to RIGHT ( S406), the hit detection process 2 is terminated. If any of the conditions in step S405 is not satisfied (“NO” in S405), the calculated value of ω ′ is smaller than the threshold value −Tω, and the left hand hitting motion has not been detected yet ( It is determined whether punch! = LEFT) (S407).
ステップS407の条件を満たす場合には(S407における“YES”)、左手でパンチを行うと決定し、コマンド待ち行列に“左手でパンチ”コマンドを追加するとともに、
punch変数をLEFTに設定した後(S408)、打撃検出法2を終了する。ステップS407の条件のいずれかを満たさない場合には、(S407における“NO”)、打撃検出無しとして処理を終了する。 If the condition of step S407 is satisfied (“YES” in S407), it is determined to punch with the left hand, and the “punch with left hand” command is added to the command queue,
After setting the punch variable to LEFT (S408), the hit detection method 2 is terminated. If any of the conditions in step S407 is not satisfied (“NO” in S407), the process ends with no hit detection.
punch変数をLEFTに設定した後(S408)、打撃検出法2を終了する。ステップS407の条件のいずれかを満たさない場合には、(S407における“NO”)、打撃検出無しとして処理を終了する。 If the condition of step S407 is satisfied (“YES” in S407), it is determined to punch with the left hand, and the “punch with left hand” command is added to the command queue,
After setting the punch variable to LEFT (S408), the hit detection method 2 is terminated. If any of the conditions in step S407 is not satisfied (“NO” in S407), the process ends with no hit detection.
なお、上記ステップS406及びS408において、パンチコマンドをコマンド待ち行列に追加する際、制御装置本体100に配置されたタッチパネル300に対する入力信号の有無又は種別に応じて打撃種類の選択が行なわれ、選択に応じたパンチコマンドがコマンド待ち行列に追加されるものとする。
In addition, in step S406 and S408, when adding a punch command to the command queue, the hit type is selected according to the presence or absence or type of an input signal to the touch panel 300 arranged in the control device main body 100. A corresponding punch command is added to the command queue.
(操作信号解析プログラム)
上述した本実施形態に係るユーザーインターフェースシステム、及び操作信号解析方法は、所定の言語で記述された操作信号解析プログラムをコンピュータ71~74上で実行することにより実現することができる。すなわち、図14に示すように、このプログラムを携帯情報端末(PDA)に携帯電話・通信機能を統合した携帯端末機71、クライアント側が使用するパーソナルコンピュータ72、ネットワーク上に配置されてクライアント側にデータや機能を提供するサーバー装置73、又はゲーム装置などの専用装置74、又はICチップ86にインストールし、CPU上で実行することにより、上述した各機能を有するユーザーインターフェースシステムを容易に構築することができ、及び操作信号解析方法を実行することができる。 (Operation signal analysis program)
The above-described user interface system and operation signal analysis method according to the present embodiment can be realized by executing an operation signal analysis program described in a predetermined language on thecomputers 71 to 74. That is, as shown in FIG. 14, this program is a personal digital assistant (PDA) integrated with a mobile phone / communication function 71, a personal computer 72 used on the client side, and arranged on the network to receive data on the client side. It is possible to easily construct a user interface system having the above-described functions by installing it on a server device 73 that provides a function or a function, a dedicated device 74 such as a game device, or an IC chip 86 and executing it on the CPU. And an operation signal analysis method can be executed.
上述した本実施形態に係るユーザーインターフェースシステム、及び操作信号解析方法は、所定の言語で記述された操作信号解析プログラムをコンピュータ71~74上で実行することにより実現することができる。すなわち、図14に示すように、このプログラムを携帯情報端末(PDA)に携帯電話・通信機能を統合した携帯端末機71、クライアント側が使用するパーソナルコンピュータ72、ネットワーク上に配置されてクライアント側にデータや機能を提供するサーバー装置73、又はゲーム装置などの専用装置74、又はICチップ86にインストールし、CPU上で実行することにより、上述した各機能を有するユーザーインターフェースシステムを容易に構築することができ、及び操作信号解析方法を実行することができる。 (Operation signal analysis program)
The above-described user interface system and operation signal analysis method according to the present embodiment can be realized by executing an operation signal analysis program described in a predetermined language on the
すなわち、この操作信号解析プログラムをユーザーが両手で持って操作を行なうことが可能な本体を持つゲーム装置1にインストールすることで、ゲーム装置1に、ジャイロセンサ164及び加速度センサ169等から入力される操作信号等の情報を元に、ユーザーによる打撃操作があったことを判断する打撃検出ステップを実行させることができ、打撃検出ステップが、ジャイロセンサ164によって連続的に検知されるゲーム装置1の角速度の一連の値を用いて、ユーザーがゲーム装置1を両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得るゲーム装置1の回転運動に関する打撃操作の特徴を検出する打撃検出法を含み、打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現することができる。
That is, by installing the operation signal analysis program on the game apparatus 1 having a main body that can be operated by the user with both hands, the game apparatus 1 is input from the gyro sensor 164, the acceleration sensor 169, and the like. Based on information such as an operation signal, it is possible to execute a batting detection step for determining that a batting operation has been performed by the user, and the batting detection step is continuously detected by the gyro sensor 164. Using the series of values, a batting that detects a characteristic of the batting operation related to the rotational movement of the game apparatus 1 that may occur when the user performs the batting operation that holds the game apparatus 1 with both hands and pushes the left or right hand forward. Including the detection method, by using the hit detection method, it is determined that the user has input the hit operation It is possible to realize the function.
また、打撃検出ステップは、ジャイロセンサ164によって検出されるゲーム装置1の角速度を用いることによって、打撃操作がユーザーの右手によって行なわれたのか左手によって行なわれたのかを判断する機能を実現することができる。また、本実施形態では、打撃検出法のひとつとして、ジャイロセンサ164によって検出されるY軸まわりの角速度の値、若しくは角速度の値の単位時間あたりの変化量、若しくは一連の角速度の値を用いて予測された微小時間先の角速度の値、若しくはこれらの値を結合することによって得られる値をしきい値と比較する方法を用いている。
Further, the hit detection step uses the angular velocity of the game apparatus 1 detected by the gyro sensor 164 to realize a function of determining whether the hit operation is performed by the user's right hand or the left hand. it can. In this embodiment, as one of the hit detection methods, the angular velocity value around the Y axis detected by the gyro sensor 164, the amount of change in angular velocity value per unit time, or a series of angular velocity values are used. A method is used in which a predicted value of the angular velocity ahead of a minute time or a value obtained by combining these values is compared with a threshold value.
また、ゲーム装置1はさらに加速度センサ169を内部に備え、打撃検出ステップが、加速度センサ169により検出された加速度を用いることで、ゲーム装置1が回転運動をした際にゲーム装置1が前に押し出されているのか後ろに引き戻されているのかを判断し、後ろに引き戻されていると判断した場合にはゲーム装置1の回転運動は予備操作若しくは打撃操作後の反動によるものとして、打撃操作の検出を抑制する機能を実現している。
In addition, the game apparatus 1 further includes an acceleration sensor 169, and the hit detection step uses the acceleration detected by the acceleration sensor 169 so that the game apparatus 1 is pushed forward when the game apparatus 1 rotates. If it is determined whether the game apparatus 1 is pulled back, it is assumed that the rotational motion of the game apparatus 1 is due to the preliminary operation or the reaction after the batting operation, and the batting operation is detected. The function that suppresses is realized.
また、打撃検出ステップは、ユーザーの打撃操作によるゲーム装置1の回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して打撃検出法による打撃操作の特徴の検出を制限することにより、ユーザーによる打撃操作の後の反動を誤って検出してしまうことを防ぐ機能を実現する。
Further, the hit detection step detects the moment when the rotational motion of the game apparatus 1 is stopped by the hit operation of the user, predicts that the reaction will occur immediately thereafter, and limits the detection of the hit operation feature by the hit detection method. This realizes a function to prevent erroneous detection of the reaction after the hitting operation by the user.
ユーザーによる連続した打撃操作の入力を正確に検出するために、打撃検出ステップは2つの打撃検出法を備え、1つを打撃操作が開始された瞬間の特徴を検出する方法にし、もう1つを打撃操作が行なわれている最中の特徴を検出する方法にすることで、連続した打撃操作の検出を可能にしている。また、操作信号解析プログラムはさらに動作制御ステップを含み、ゲーム装置1から入力される情報を元に算出されるゲーム装置1の所定の軸まわりの回転角と連動して、操作対象のオブジェクトに打撃動作に関する予備動作を実行させる機能も実現している。また、ゲーム装置1はゲーム装置1本体に配置された入力ステップをさらに備え、打撃検出ステップにおいて、入力ステップへの入力信号の有無又は種別に応じて、打撃の種別又は強弱を変化させる機能を実現している。
In order to accurately detect the input of a continuous hitting operation by the user, the hitting detection step includes two hitting detection methods, one of which is a method of detecting the characteristics of the moment when the hitting operation is started, and the other is By adopting a method for detecting a feature during a hitting operation, it is possible to detect a continuous hitting operation. The operation signal analysis program further includes an operation control step, and strikes an object to be operated in conjunction with a rotation angle around a predetermined axis of the game apparatus 1 calculated based on information input from the game apparatus 1. A function to execute a preliminary operation related to the operation is also realized. The game apparatus 1 further includes an input step arranged on the main body of the game apparatus 1, and realizes a function of changing the type or strength of the hit in the hit detection step according to the presence or absence or type of the input signal to the input step. is doing.
そして、このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このようなプログラムは、パーソナルコンピュータで読み取り可能な記録媒体81~85に記録することができる。具体的には、図14に示すような、フレキシブルディスク83やカセットテープ82等の磁気記録媒体、若しくはCD-ROMやDVD-ROM等の光ディスク81の他、USBメモリ85やメモリカード84など、種々の記録媒体に記録することができる。
And this program can be distributed through a communication line, for example, and can be transferred as a package application that operates on a stand-alone computer. Such a program can be recorded on recording media 81 to 85 readable by a personal computer. Specifically, as shown in FIG. 14, there are various magnetic recording media such as a flexible disk 83 and a cassette tape 82, an optical disk 81 such as a CD-ROM and a DVD-ROM, a USB memory 85, a memory card 84, and the like. Can be recorded on any recording medium.
(作用・効果)
このような本実施形態によれば、ゲーム装置1内にジャイロセンサ164を備え、このジャイロセンサ164によって、ゲーム装置1を持つユーザーの手の動きを検出し、ユーザーの手の動きに応じて、左右の打撃操作を認識しているので、例えば、ボクシングゲームなど左右の拳で打撃を行うゲームにおいても直感的にオブジェクトを操作でき、ユーザーはより良いゲーム体験を得ることができる。さらに本実施形態では、ジャイロセンサ164によって検出される角速度の向きを用いて、打撃操作の左右を区別しているので、単一の制御装置があれば良く、例えば、スマートフォンやタブレット端末などの広く普及している汎用性のある操作デバイスを利用でき、コスト全体を安価にすることができる。 (Action / Effect)
According to this embodiment, thegame apparatus 1 includes the gyro sensor 164, and the gyro sensor 164 detects the movement of the user's hand holding the game apparatus 1, and according to the movement of the user's hand, Since the left and right batting operations are recognized, the object can be operated intuitively even in a game in which the batting is performed with the left and right fists, such as a boxing game, and the user can obtain a better game experience. Furthermore, in this embodiment, since the left and right of the batting operation are distinguished using the direction of the angular velocity detected by the gyro sensor 164, a single control device is sufficient, for example, widespread use such as smartphones and tablet terminals. The versatile operation device can be used, and the overall cost can be reduced.
このような本実施形態によれば、ゲーム装置1内にジャイロセンサ164を備え、このジャイロセンサ164によって、ゲーム装置1を持つユーザーの手の動きを検出し、ユーザーの手の動きに応じて、左右の打撃操作を認識しているので、例えば、ボクシングゲームなど左右の拳で打撃を行うゲームにおいても直感的にオブジェクトを操作でき、ユーザーはより良いゲーム体験を得ることができる。さらに本実施形態では、ジャイロセンサ164によって検出される角速度の向きを用いて、打撃操作の左右を区別しているので、単一の制御装置があれば良く、例えば、スマートフォンやタブレット端末などの広く普及している汎用性のある操作デバイスを利用でき、コスト全体を安価にすることができる。 (Action / Effect)
According to this embodiment, the
また、本実施形態において、動作制御部210が、ゲーム装置1の所定の軸まわりの回転角と連動して、操作対象のオブジェクトに打撃動作に関する予備動作を実行させているので、打撃操作に対する反応速度を上げ、ゲームの操作感を向上させることができる。
Further, in the present embodiment, the motion control unit 210 causes the operation target object to execute a preliminary motion related to the batting operation in conjunction with the rotation angle around the predetermined axis of the game apparatus 1, so that the reaction to the batting operation is performed. The speed can be increased and the operational feeling of the game can be improved.
すなわち、本実施形態では、ユーザーが打撃操作を入力する際にゲーム装置1を持つ手を少し手前に引くという動作は自然であり、その動作がオブジェクトによるパンチの予備動作の結びついているため、オブジェクトはユーザーが実際に打撃操作を入力する前にパンチを放つ準備を自然にすることができる。その結果、打撃操作が入力されてから実際にオブジェクトがパンチを放つまでの時間が短縮され、ユーザーはより良いゲーム体験を得ることができる。
That is, in this embodiment, when the user inputs a batting operation, the action of pulling the hand holding the game apparatus 1 slightly forward is natural, and the action is linked to the preliminary action of punching by the object. Can make it natural to prepare to punch before the user actually enters the batting operation. As a result, the time from when the batting operation is input until the object actually punches is shortened, and the user can obtain a better game experience.
このような、ユーザーの手の動きを検出してオブジェクトを制御する方法では、ユーザーの意図していないタイミングで打撃を検出してしまうなどの誤検出が生じる可能性があるが、本実施形態によれば、このような誤検出も防ぐことが可能となる。
In such a method of controlling the object by detecting the movement of the user's hand, there is a possibility that erroneous detection such as detecting a hit at a timing not intended by the user may occur. Therefore, it is possible to prevent such erroneous detection.
先ず、本実施形態において、打撃検出部211は、検知された加速度の向きによって、打撃操作の検出が実際にユーザーの打撃操作によるものなのか反対側の手による予備操作によるものなのかを判断して、予備操作のタイミングで打撃操作を誤検出することを防いでいる。なお、ゲームアプリケーションの要件によって、予備操作が完了するまで打撃操作を行なうことができないという条件を付加できるのであれば、加速度センサ169を用いなくても、予備操作が完了するまでは制御装置の回転が予備操作によるものと判断することもできる。しかし、ボクシングゲームにおいてはジャブのような予備操作なしの打撃操作もあるため、加速度センサ169を用いる方が望ましい。
First, in the present embodiment, the hit detection unit 211 determines whether the detection of the hit operation is actually due to the user's hit operation or the preliminary operation with the opposite hand according to the detected direction of acceleration. Thus, it is possible to prevent erroneous detection of the striking operation at the timing of the preliminary operation. If the condition that the batting operation cannot be performed until the preliminary operation is completed can be added according to the requirements of the game application, the rotation of the control device until the preliminary operation is completed without using the acceleration sensor 169. Can be determined to be due to the preliminary operation. However, in the boxing game, there is a batting operation without a preliminary operation such as jab, so it is preferable to use the acceleration sensor 169.
さらに、打撃検出部211は、ユーザーの打撃操作によるゲーム装置1の回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して打撃操作の検出を制限しているので、打撃操作を停止させた時の反動を打撃操作として誤って検出するのを防止している。
Further, the hit detection unit 211 detects the moment when the rotational motion of the game apparatus 1 is stopped by the hit operation of the user, and restricts the detection of the hit operation by predicting that a recoil will occur immediately thereafter. It prevents the recoil when the operation is stopped from being erroneously detected as a batting operation.
一方で、このように打撃操作の検出を制限することによって、コンビネーションパンチのような連続した打撃操作の検出が妨げられるという問題が発生するが、本実施形態においては、打撃検出部211において複数の打撃検出法を用い、そのうちの1つを打撃操作が開始された瞬間の特徴を検出する方法とし、もう1つを打撃操作が行なわれている最中の特徴を検出する方法とすることで、コンビネーションパンチのような連続した打撃操作を、打撃操作を停止させたときの反動と区別して検出している。
On the other hand, by limiting the detection of the hitting operation in this way, there is a problem that detection of a continuous hitting operation such as a combination punch is hindered. By using the batting detection method, one of them is a method for detecting the feature at the moment when the batting operation is started, and the other is a method for detecting the feature during the batting operation. A continuous hitting operation such as a combination punch is detected separately from a recoil when the hitting operation is stopped.
さらに、本実施形態では、ジャイロセンサ164の角速度検出とは別の検出手段であるタッチパネル300のタッチ位置によって、ジャブ、ストレート、フックなどの打撃種類(強弱)や、ガードなど防御種類を選択することで、ユーザーの手の動きで打撃操作を入力する方法では実現が難しい打撃種類の選択や防御動作の入力を補っている。
Furthermore, in the present embodiment, the hit type (strength) such as jab, straight, and hook and the defense type such as guard are selected according to the touch position of the touch panel 300 which is a detection means different from the angular velocity detection of the gyro sensor 164. Therefore, it is supplemented with the selection of the type of hit and the input of the defensive action, which are difficult to realize by the method of inputting the hit operation by the movement of the user's hand.
[変更例]
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更や、それぞれの構成を組み合わせることが可能であることはもちろんである。なお、以下に変更例を示すが、本発明はこれらの変更例にも限定されることはない。特に上記の打撃検出法1や打撃検出法2、及びこれらの打撃検出法に各種の改善方法を組み合わせた方法は、ジャイロセンサ164を持つゲーム装置1から入力された一連の角速度の値を用いて、ユーザーが前記ゲーム装置1を両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得る前記ゲーム装置1の回転運動に関する何らかの特徴を検出し、ユーザーから打撃操作の入力があったことを判断する機能を実現するために用いることが可能であれば、他の方法に置換可能である。 [Example of change]
The above description of the embodiment is an example of the present invention. For this reason, the present invention is not limited to the above-described embodiment, and various modifications and configurations can be combined depending on the design and the like as long as the technical idea according to the present invention is not deviated. Of course. Although modifications are shown below, the present invention is not limited to these modifications. In particular, thehit detection method 1 and the hit detection method 2 described above, and a method in which various improvement methods are combined with these hit detection methods, use a series of angular velocity values input from the game apparatus 1 having the gyro sensor 164. When the user performs a batting operation in which the user holds the game apparatus 1 with both hands and pushes out one of the left and right hands, any characteristic regarding the rotational movement of the game apparatus 1 is detected, and the user inputs the batting operation. Any other method can be used as long as it can be used to realize the function of determining the occurrence.
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更や、それぞれの構成を組み合わせることが可能であることはもちろんである。なお、以下に変更例を示すが、本発明はこれらの変更例にも限定されることはない。特に上記の打撃検出法1や打撃検出法2、及びこれらの打撃検出法に各種の改善方法を組み合わせた方法は、ジャイロセンサ164を持つゲーム装置1から入力された一連の角速度の値を用いて、ユーザーが前記ゲーム装置1を両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得る前記ゲーム装置1の回転運動に関する何らかの特徴を検出し、ユーザーから打撃操作の入力があったことを判断する機能を実現するために用いることが可能であれば、他の方法に置換可能である。 [Example of change]
The above description of the embodiment is an example of the present invention. For this reason, the present invention is not limited to the above-described embodiment, and various modifications and configurations can be combined depending on the design and the like as long as the technical idea according to the present invention is not deviated. Of course. Although modifications are shown below, the present invention is not limited to these modifications. In particular, the
(1)打撃検出法について
上述した実施形態では、打撃操作の検出において、角加速度を用いた打撃検出法1と、角速度と角加速度との両方を用いた打撃検出法2とを用いたが、例えば、他の方法を用いて、ユーザーによる打撃操作を検出してもよい。以下に、他の打撃検出法について説明する。 (1) Regarding the hit detection method In the embodiment described above, thehit detection method 1 using the angular acceleration and the hit detection method 2 using both the angular velocity and the angular acceleration are used in the detection of the hit operation. For example, the hitting operation by the user may be detected using another method. Hereinafter, other hit detection methods will be described.
上述した実施形態では、打撃操作の検出において、角加速度を用いた打撃検出法1と、角速度と角加速度との両方を用いた打撃検出法2とを用いたが、例えば、他の方法を用いて、ユーザーによる打撃操作を検出してもよい。以下に、他の打撃検出法について説明する。 (1) Regarding the hit detection method In the embodiment described above, the
(A)打撃検出法3
この打撃検出法3は、角速度のみを用いてユーザーによる打撃操作の入力があったことを検出するものである。具体的に、この打撃検出法3とは、Y軸まわりの回転の角速度ωy(t)の大きさが、あるしきい値Tωを越えたときにパンチを検出するものである。この方法を用いることで、しきい値Tωの値をある程度大きく取れば、誤検出が少なくなるため実装が容易になるが、ユーザーが打撃操作を開始してから実際に打撃操作が検出されるまでに時間がかかるという欠点もある。 (A) Impact detection method 3
This hit detection method 3 detects that a hit operation is input by the user using only the angular velocity. Specifically, the hit detection method 3 is to detect a punch when the angular velocity ω y (t) of rotation about the Y axis exceeds a certain threshold value Tω. By using this method, if the threshold value Tω is increased to some extent, it becomes easier to implement because there are fewer false detections. However, until the user actually starts the batting operation until the batting operation is detected. Another disadvantage is that it takes time.
この打撃検出法3は、角速度のみを用いてユーザーによる打撃操作の入力があったことを検出するものである。具体的に、この打撃検出法3とは、Y軸まわりの回転の角速度ωy(t)の大きさが、あるしきい値Tωを越えたときにパンチを検出するものである。この方法を用いることで、しきい値Tωの値をある程度大きく取れば、誤検出が少なくなるため実装が容易になるが、ユーザーが打撃操作を開始してから実際に打撃操作が検出されるまでに時間がかかるという欠点もある。 (A) Impact detection method 3
This hit detection method 3 detects that a hit operation is input by the user using only the angular velocity. Specifically, the hit detection method 3 is to detect a punch when the angular velocity ω y (t) of rotation about the Y axis exceeds a certain threshold value Tω. By using this method, if the threshold value Tω is increased to some extent, it becomes easier to implement because there are fewer false detections. However, until the user actually starts the batting operation until the batting operation is detected. Another disadvantage is that it takes time.
(B)打撃検出法4
打撃検出法4としては、上述した打撃検出法2を拡張し、過去M回分のデータを使って微小時間Δt後の角速度を予測するものである。具体的に、上述した打撃検出法2は、過去2回分のデータを使って角速度ωy(t)の時間変化を直線で近似し、微小時間Δt後の角速度を予測する方法とも言えることから、この打撃検出法4では、さらに過去M回分のデータを使い、直線ではなくN次曲線を使って角速度の変化を予測することで精度を上げる。ここで、N次曲線は最小2乗法で求めることができるが、オーバーフィッティングを防ぐためにN+1<M である必要があり、その値はN=2、M=4又は5程度が好ましい。 (B) Impact detection method 4
As the hit detection method 4, the hit detection method 2 described above is extended, and the angular velocity after a minute time Δt is predicted using data for the past M times. Specifically, the hit detection method 2 described above can be said to be a method of predicting the angular velocity after a minute time Δt by approximating the time change of the angular velocity ω y (t) with a straight line using data for the past two times. In the hit detection method 4, the accuracy is further improved by using the data for the past M times and predicting the change in angular velocity using an Nth-order curve instead of a straight line. Here, the Nth order curve can be obtained by the method of least squares, but it is necessary that N + 1 <M in order to prevent overfitting, and the value is preferably about N = 2, M = 4 or 5.
打撃検出法4としては、上述した打撃検出法2を拡張し、過去M回分のデータを使って微小時間Δt後の角速度を予測するものである。具体的に、上述した打撃検出法2は、過去2回分のデータを使って角速度ωy(t)の時間変化を直線で近似し、微小時間Δt後の角速度を予測する方法とも言えることから、この打撃検出法4では、さらに過去M回分のデータを使い、直線ではなくN次曲線を使って角速度の変化を予測することで精度を上げる。ここで、N次曲線は最小2乗法で求めることができるが、オーバーフィッティングを防ぐためにN+1<M である必要があり、その値はN=2、M=4又は5程度が好ましい。 (B) Impact detection method 4
As the hit detection method 4, the hit detection method 2 described above is extended, and the angular velocity after a minute time Δt is predicted using data for the past M times. Specifically, the hit detection method 2 described above can be said to be a method of predicting the angular velocity after a minute time Δt by approximating the time change of the angular velocity ω y (t) with a straight line using data for the past two times. In the hit detection method 4, the accuracy is further improved by using the data for the past M times and predicting the change in angular velocity using an Nth-order curve instead of a straight line. Here, the Nth order curve can be obtained by the method of least squares, but it is necessary that N + 1 <M in order to prevent overfitting, and the value is preferably about N = 2, M = 4 or 5.
また、この打撃検出法4では、微小時間Δt後の予測値を得るときに高次の項の影響が小さくなるように、最小二乗法で求めるN次曲線は、現在の時刻のまわりで展開させる。
すなわち、経過時間Δt後の角速度ω'y(t+Δt)が以下の形式を持つと仮定する。
ω'y(t+Δt) = a0 + a1×Δt + ... + aN×ΔtN ……(式24)
そして最小二乗法でパラメータa0, a1, ..., aNの値を決定し、得られたω'y(t+Δt)の値の大きさがしきい値Tωを越えたときにパンチを検出することにする。 Further, in this hit detection method 4, the Nth order curve obtained by the least square method is developed around the current time so that the influence of the higher order terms is reduced when the predicted value after the minute time Δt is obtained. .
That is, it is assumed that the angular velocity ω ′ y (t + Δt) after the elapsed time Δt has the following format.
ω ′ y (t + Δt) = a 0 + a 1 × Δt +... + a N × Δt N (Equation 24)
Then, the values of parameters a 0 , a 1 , ..., a N are determined by the least square method, and a punch is detected when the magnitude of the obtained value of ω ' y (t + Δt) exceeds the threshold value Tω I will decide.
すなわち、経過時間Δt後の角速度ω'y(t+Δt)が以下の形式を持つと仮定する。
ω'y(t+Δt) = a0 + a1×Δt + ... + aN×ΔtN ……(式24)
そして最小二乗法でパラメータa0, a1, ..., aNの値を決定し、得られたω'y(t+Δt)の値の大きさがしきい値Tωを越えたときにパンチを検出することにする。 Further, in this hit detection method 4, the Nth order curve obtained by the least square method is developed around the current time so that the influence of the higher order terms is reduced when the predicted value after the minute time Δt is obtained. .
That is, it is assumed that the angular velocity ω ′ y (t + Δt) after the elapsed time Δt has the following format.
ω ′ y (t + Δt) = a 0 + a 1 × Δt +... + a N × Δt N (Equation 24)
Then, the values of parameters a 0 , a 1 , ..., a N are determined by the least square method, and a punch is detected when the magnitude of the obtained value of ω ' y (t + Δt) exceeds the threshold value Tω I will decide.
この際、最小2乗法で得られた曲線と、過去M回分の値の誤差の2乗和の値を計算し、この値があらかじめ定められた許容2乗誤差E2と比較するものとする。そして、算出した誤差の2乗和が許容2乗誤差E2よりも大きい場合には、現在時刻のまわりの角速度の変化をN次曲線で近似させるには適さないため、NとMの値を小さくして、再度、最小2乗法をやり直し、誤差の2乗和が許容2乗誤差E2より小さくなるまで繰り返す。そして、最終的にNが1になってしまった場合には、打撃検出法2に切り替えてパンチを検出する。なお、許容誤差Eの値はしきい値Tωに対する割合(5%~10%程度)で設定するのが良い。
In this case, minimum 2 and curves obtained in the multiplication to calculate the value of the square sum of the error values for the past M times, it is assumed that this value is compared with the allowable square error E 2 predetermined. If the calculated sum of squares of the error is larger than the allowable square error E 2 , it is not suitable for approximating the change in angular velocity around the current time with an Nth-order curve. and small, again, repeat the least square method is repeated until the sum of squares of errors is less than the allowable square error E 2. When N eventually becomes 1, the punch is detected by switching to the hit detection method 2. The value of the allowable error E is preferably set as a ratio (about 5% to 10%) with respect to the threshold value Tω.
(2)他のタイミングでの誤検出改善処理
次いで、上述した打撃検出法1及び打撃検出法2における他の誤検出改善処理、及び変更例で説明した打撃検出法3及び打撃検出法4についての誤検出改善処理について説明する。 (2) Error Detection Improvement Process at Other Timings Next, other error detection improvement processes in thehit detection method 1 and the hit detection method 2 described above, and the hit detection method 3 and the hit detection method 4 described in the modification example The false detection improvement process will be described.
次いで、上述した打撃検出法1及び打撃検出法2における他の誤検出改善処理、及び変更例で説明した打撃検出法3及び打撃検出法4についての誤検出改善処理について説明する。 (2) Error Detection Improvement Process at Other Timings Next, other error detection improvement processes in the
(a)一方の手で打撃動作を1回行った場合について
・A時点について
予備動作を開始するA時点では、ユーザーがゲーム装置1を持つ手を引いたときの角加速度αy(t)を誤って検出してしまうことが生じる。この誤検出によって、ユーザーが意図していた手と反対の手で打撃を行うことになる。特に、この誤検出は上記の打撃検出法1、打撃検出法2、打撃検出法4のいずれかを用いる際に発生する可能性がある。この場合の改善方法としては、以下の改善方法を用いる。 (A) About the case where the batting motion is performed once with one hand. At time A, at the time A when the preliminary motion is started, the angular acceleration α y (t) when the user pulls the hand holding thegame device 1 is calculated. Incorrect detection may occur. Due to this erroneous detection, the user strikes with a hand opposite to the hand intended by the user. In particular, this erroneous detection may occur when any one of the hit detection method 1, the hit detection method 2, and the hit detection method 4 is used. As an improvement method in this case, the following improvement method is used.
・A時点について
予備動作を開始するA時点では、ユーザーがゲーム装置1を持つ手を引いたときの角加速度αy(t)を誤って検出してしまうことが生じる。この誤検出によって、ユーザーが意図していた手と反対の手で打撃を行うことになる。特に、この誤検出は上記の打撃検出法1、打撃検出法2、打撃検出法4のいずれかを用いる際に発生する可能性がある。この場合の改善方法としては、以下の改善方法を用いる。 (A) About the case where the batting motion is performed once with one hand. At time A, at the time A when the preliminary motion is started, the angular acceleration α y (t) when the user pulls the hand holding the
(改善処理A-2)
改善処理A-2は、しきい値Tαを大きくするものである。具体的には、打撃検出法1を使っている場合において、しきい値Tαを大きくすることで誤検出を防止する。なお、この場合にしきい値Tαは、Dの時点で検出すべき打撃操作を検出できる程度の大きさに設定する。しかし、ゲームをプレイしているうちにユーザーは興奮して、ゲーム装置1を持つ手の動きも激しくなりがちになるので、加速度を用いた改善処理A-1を利用できるのであれば、その方が良い。 (Improvement A-2)
In the improvement process A-2, the threshold value Tα is increased. Specifically, when thehit detection method 1 is used, erroneous detection is prevented by increasing the threshold value Tα. In this case, the threshold value Tα is set to a size that can detect the batting operation to be detected at the time point D. However, the user is excited while playing the game, and the hand movement of the game apparatus 1 tends to become intense, so if the improvement process A-1 using acceleration can be used, that person Is good.
改善処理A-2は、しきい値Tαを大きくするものである。具体的には、打撃検出法1を使っている場合において、しきい値Tαを大きくすることで誤検出を防止する。なお、この場合にしきい値Tαは、Dの時点で検出すべき打撃操作を検出できる程度の大きさに設定する。しかし、ゲームをプレイしているうちにユーザーは興奮して、ゲーム装置1を持つ手の動きも激しくなりがちになるので、加速度を用いた改善処理A-1を利用できるのであれば、その方が良い。 (Improvement A-2)
In the improvement process A-2, the threshold value Tα is increased. Specifically, when the
(改善処理A-3)
改善処理A-3は、しきい値Tωを大きくするものである。具体的には、打撃検出法2ないし4のいずれかを使っている場合において、しきい値Tωの値を大きくすることで誤検出を防止する。この場合もしきい値Tωは、Dの時点で検出すべき打撃動作を検出できる程度の大きさに設定する。この場合も改善処理A-1を利用できるのであれば、その方が良い。 (Improvement A-3)
In the improvement process A-3, the threshold value Tω is increased. Specifically, when any one of the hit detection methods 2 to 4 is used, erroneous detection is prevented by increasing the threshold value Tω. Also in this case, the threshold value Tω is set to a size that can detect the striking motion to be detected at the time point D. In this case, it is better if the improvement process A-1 can be used.
改善処理A-3は、しきい値Tωを大きくするものである。具体的には、打撃検出法2ないし4のいずれかを使っている場合において、しきい値Tωの値を大きくすることで誤検出を防止する。この場合もしきい値Tωは、Dの時点で検出すべき打撃動作を検出できる程度の大きさに設定する。この場合も改善処理A-1を利用できるのであれば、その方が良い。 (Improvement A-3)
In the improvement process A-3, the threshold value Tω is increased. Specifically, when any one of the hit detection methods 2 to 4 is used, erroneous detection is prevented by increasing the threshold value Tω. Also in this case, the threshold value Tω is set to a size that can detect the striking motion to be detected at the time point D. In this case, it is better if the improvement process A-1 can be used.
(改善処理A-4)
打撃検出法2若しくは4を使っている場合の別の改善処理としては、微小時間Δtの値を小さくして、角加速度αy(t)の影響を小さくすることもできる。但し、微小時間Δtの値を小さくすると、検出の反応速度は低下する。 (Improvement A-4)
As another improvement process when the impact detection method 2 or 4 is used, the influence of the angular acceleration α y (t) can be reduced by reducing the value of the minute time Δt. However, when the value of the minute time Δt is decreased, the detection reaction rate is decreased.
打撃検出法2若しくは4を使っている場合の別の改善処理としては、微小時間Δtの値を小さくして、角加速度αy(t)の影響を小さくすることもできる。但し、微小時間Δtの値を小さくすると、検出の反応速度は低下する。 (Improvement A-4)
As another improvement process when the impact detection method 2 or 4 is used, the influence of the angular acceleration α y (t) can be reduced by reducing the value of the minute time Δt. However, when the value of the minute time Δt is decreased, the detection reaction rate is decreased.
(改善処理A-5)
また、他の改善処理としては、予備操作が完了していない状態ではでは、角加速度αy(t)を検出しないように処理することもできる。すなわち、Y軸まわりの回転角θy(t)の大きさが一定のしきい値Tθより大きく、かつ、Y軸まわりの角速度ωy(t)と、Y軸まわりの回転角θy(t)との正負が異なるときだけ打撃動作の検出を行う。この方法は、予備操作を必ず行うとしても構わないテニスゲームなどには有効であるが、予備動作なしの打撃があるボクシングゲームには適用できない。 (Improvement A-5)
Further, as another improvement process, it is possible to perform a process so as not to detect the angular acceleration α y (t) when the preliminary operation is not completed. That is, the magnitude of the rotation angle θ y (t) around the Y axis is larger than a certain threshold value T θ , the angular velocity ω y (t) around the Y axis, and the rotation angle θ y ( The striking motion is detected only when the sign differs from t). This method is effective for a tennis game or the like that does not necessarily require a preliminary operation, but cannot be applied to a boxing game with a hit without a preliminary action.
また、他の改善処理としては、予備操作が完了していない状態ではでは、角加速度αy(t)を検出しないように処理することもできる。すなわち、Y軸まわりの回転角θy(t)の大きさが一定のしきい値Tθより大きく、かつ、Y軸まわりの角速度ωy(t)と、Y軸まわりの回転角θy(t)との正負が異なるときだけ打撃動作の検出を行う。この方法は、予備操作を必ず行うとしても構わないテニスゲームなどには有効であるが、予備動作なしの打撃があるボクシングゲームには適用できない。 (Improvement A-5)
Further, as another improvement process, it is possible to perform a process so as not to detect the angular acceleration α y (t) when the preliminary operation is not completed. That is, the magnitude of the rotation angle θ y (t) around the Y axis is larger than a certain threshold value T θ , the angular velocity ω y (t) around the Y axis, and the rotation angle θ y ( The striking motion is detected only when the sign differs from t). This method is effective for a tennis game or the like that does not necessarily require a preliminary operation, but cannot be applied to a boxing game with a hit without a preliminary action.
(改善処理A-6)
改善処理A-6では、予備操作が完了していない状態では、しきい値Tαの値を大きく設定するものである。この処理により、改善処理A-2と同様に誤検出を防ぎ、予備操作中に限定することで、Dの時点での打撃動作を検出することができる。また、ボクシングゲームなどにも適用可能であるが、予備動作なしのジャブのような打撃の入力が難しくなる。 (Improvement A-6)
In the improvement process A-6, when the preliminary operation is not completed, the threshold value Tα is set large. By this process, similarly to the improvement process A-2, it is possible to prevent erroneous detection and to detect the batting action at the time point D by limiting to the preliminary operation. Moreover, although it can be applied to a boxing game or the like, it becomes difficult to input a hit like a jab without a preliminary operation.
改善処理A-6では、予備操作が完了していない状態では、しきい値Tαの値を大きく設定するものである。この処理により、改善処理A-2と同様に誤検出を防ぎ、予備操作中に限定することで、Dの時点での打撃動作を検出することができる。また、ボクシングゲームなどにも適用可能であるが、予備動作なしのジャブのような打撃の入力が難しくなる。 (Improvement A-6)
In the improvement process A-6, when the preliminary operation is not completed, the threshold value Tα is set large. By this process, similarly to the improvement process A-2, it is possible to prevent erroneous detection and to detect the batting action at the time point D by limiting to the preliminary operation. Moreover, although it can be applied to a boxing game or the like, it becomes difficult to input a hit like a jab without a preliminary operation.
・B時点について
Bの時点では、予備操作の速度の大きさが最大になり、打撃検出法2ないし4のいずれかを使っている場合に誤検出が発生する可能性がある。 -About time B At the time of B, the magnitude | size of preliminary operation becomes the maximum, and when using any of the impact detection methods 2 thru | or 4, a false detection may generate | occur | produce.
Bの時点では、予備操作の速度の大きさが最大になり、打撃検出法2ないし4のいずれかを使っている場合に誤検出が発生する可能性がある。 -About time B At the time of B, the magnitude | size of preliminary operation becomes the maximum, and when using any of the impact detection methods 2 thru | or 4, a false detection may generate | occur | produce.
(改善処理B-1)
改善処理B-1は、しきい値Tωの値を大きく設定するものである。ただし、この値を大きくしすぎるとEの時点での打撃操作が検出できず、打撃操作の入力のために、ゲーム装置1を大きく動かさなくてはいけなくなることになるため、しきい値TωをEの時点での打撃操作が検出できる値とする。 (Improvement process B-1)
In the improvement process B-1, the value of the threshold value Tω is set large. However, if this value is increased too much, the batting operation at the time point E cannot be detected, and thegame apparatus 1 must be moved greatly in order to input the batting operation. It is assumed that the batting operation at the time point E can be detected.
改善処理B-1は、しきい値Tωの値を大きく設定するものである。ただし、この値を大きくしすぎるとEの時点での打撃操作が検出できず、打撃操作の入力のために、ゲーム装置1を大きく動かさなくてはいけなくなることになるため、しきい値TωをEの時点での打撃操作が検出できる値とする。 (Improvement process B-1)
In the improvement process B-1, the value of the threshold value Tω is set large. However, if this value is increased too much, the batting operation at the time point E cannot be detected, and the
(改善処理B-2)
改善処理B-2は、改善処理A-5と同様に、予備操作が完了していない状態では、打撃操作の入力を検出しない処理である。 (Improvement process B-2)
The improvement process B-2 is a process that does not detect the input of the batting operation in the state where the preliminary operation is not completed, like the improvement process A-5.
改善処理B-2は、改善処理A-5と同様に、予備操作が完了していない状態では、打撃操作の入力を検出しない処理である。 (Improvement process B-2)
The improvement process B-2 is a process that does not detect the input of the batting operation in the state where the preliminary operation is not completed, like the improvement process A-5.
(改善処理B-3)
この改善処理B-3は、改善処理A-6と同様に予備操作が完了していない状態の時だけ、しきい値Tωの値を大きくするものである。これにより、改善処理B-1と同様に誤検出を防ぎ、予備操作中に限定することで、Eの時点での打撃操作を検出することができる。 (Improvement B-3)
In the improvement process B-3, the threshold value Tω is increased only when the preliminary operation is not completed as in the improvement process A-6. Thereby, similarly to the improvement process B-1, it is possible to detect the striking operation at the time point E by preventing erroneous detection and limiting it to the preliminary operation.
この改善処理B-3は、改善処理A-6と同様に予備操作が完了していない状態の時だけ、しきい値Tωの値を大きくするものである。これにより、改善処理B-1と同様に誤検出を防ぎ、予備操作中に限定することで、Eの時点での打撃操作を検出することができる。 (Improvement B-3)
In the improvement process B-3, the threshold value Tω is increased only when the preliminary operation is not completed as in the improvement process A-6. Thereby, similarly to the improvement process B-1, it is possible to detect the striking operation at the time point E by preventing erroneous detection and limiting it to the preliminary operation.
・C時点について
Cの時点では、予備操作が止まったために、角加速度αy(t)が大きくなり、打撃検出法2及び4を利用する場合も、C時点で誤検出が発生する場合がある。 -About time point C Since the preliminary operation has stopped at time point C, the angular acceleration α y (t) increases, and even when the impact detection methods 2 and 4 are used, erroneous detection may occur at time point C. .
Cの時点では、予備操作が止まったために、角加速度αy(t)が大きくなり、打撃検出法2及び4を利用する場合も、C時点で誤検出が発生する場合がある。 -About time point C Since the preliminary operation has stopped at time point C, the angular acceleration α y (t) increases, and even when the impact detection methods 2 and 4 are used, erroneous detection may occur at time point C. .
(改善処理C-2)
打撃検出法2若しくは4を利用していて、Cの時点で誤検出が起きるのは、微小時間Δtの値が大きすぎるためである。そこで、改善処理C-2は、微小時間Δtの値を小さくすることでC時点での誤検出を防止する。 (Improvement process C-2)
The reason why erroneous detection occurs at the time point C when using the impact detection method 2 or 4 is that the value of the minute time Δt is too large. Therefore, the improvement process C-2 prevents erroneous detection at time C by reducing the value of the minute time Δt.
打撃検出法2若しくは4を利用していて、Cの時点で誤検出が起きるのは、微小時間Δtの値が大きすぎるためである。そこで、改善処理C-2は、微小時間Δtの値を小さくすることでC時点での誤検出を防止する。 (Improvement process C-2)
The reason why erroneous detection occurs at the time point C when using the impact detection method 2 or 4 is that the value of the minute time Δt is too large. Therefore, the improvement process C-2 prevents erroneous detection at time C by reducing the value of the minute time Δt.
・F時点について
Fの時点では、C時点での誤検出と同様に、打撃操作を止めたときの角加速度αy(t)が検出される。特に、ここでは、ユーザーが意図していた手とは反対の手の打撃操作と判定されることがある。ここでの誤検出の改善処理としては、上記改善処理C-1又はC-2を用いるものとする。 -Regarding the F time point At the F time point, the angular acceleration α y (t) when the batting operation is stopped is detected as in the erroneous detection at the C time point. In particular, the hitting operation may be determined to be a hand opposite to the hand intended by the user. Here, the improvement process C-1 or C-2 is used as an improvement process for erroneous detection.
Fの時点では、C時点での誤検出と同様に、打撃操作を止めたときの角加速度αy(t)が検出される。特に、ここでは、ユーザーが意図していた手とは反対の手の打撃操作と判定されることがある。ここでの誤検出の改善処理としては、上記改善処理C-1又はC-2を用いるものとする。 -Regarding the F time point At the F time point, the angular acceleration α y (t) when the batting operation is stopped is detected as in the erroneous detection at the C time point. In particular, the hitting operation may be determined to be a hand opposite to the hand intended by the user. Here, the improvement process C-1 or C-2 is used as an improvement process for erroneous detection.
・G時点について
Gの時点では、ゲーム装置1を押し出した右手を急に止めたときの反動で手を引き戻したときに生じる角加速度αy(t)が検出される。 -About the time point G At the time point G, the angular acceleration α y (t) generated when the hand is pulled back by the reaction when the right hand pushing out thegame apparatus 1 is suddenly stopped is detected.
Gの時点では、ゲーム装置1を押し出した右手を急に止めたときの反動で手を引き戻したときに生じる角加速度αy(t)が検出される。 -About the time point G At the time point G, the angular acceleration α y (t) generated when the hand is pulled back by the reaction when the right hand pushing out the
(改善処理G-1)
改善処理G-1は、一度打撃操作を検出したら一定時間パンチを検出しないようにするものである。具体的には、D時点で打撃操作を検出してから、所定の時間間隔δの間は打撃操作を検出しないようにする。本実施形態のボクシングゲームにおいては、オブジェクトの打撃動作は極めて速く、ユーザーが連続して打撃操作を入力できるように、時間間隔δを大きく設定することはできないが、確実に誤検出を防ぐためには、時間間隔δの値を0.2秒程度の長さに設定するのが良い。
なお、ゲームアプリケーションの要件によっては、一度打撃操作を入力したら、しばらくの間は打撃操作を行う必要がないこともある。その場合は時間間隔δの値を大きく取ることも可能である。例えば、テニスゲームの場合、一度ラケットを振ったら次の1秒程度はラケットを振る必要がないので、時間間隔δを1秒程度の大きさにすることができる。 (Improvement G-1)
The improvement process G-1 is to prevent the punch from being detected for a certain time once the hitting operation is detected. Specifically, after the hitting operation is detected at time D, the hitting operation is not detected during a predetermined time interval δ. In the boxing game of the present embodiment, the object hitting operation is extremely fast, and the time interval δ cannot be set large so that the user can continuously input the hitting operation. The time interval δ is preferably set to a length of about 0.2 seconds.
Depending on the requirements of the game application, once a batting operation is input, it may not be necessary to perform the batting operation for a while. In that case, it is possible to increase the value of the time interval δ. For example, in the case of a tennis game, once the racket is shaken, it is not necessary to shake the racket for the next one second or so, so that the time interval δ can be made as large as one second.
改善処理G-1は、一度打撃操作を検出したら一定時間パンチを検出しないようにするものである。具体的には、D時点で打撃操作を検出してから、所定の時間間隔δの間は打撃操作を検出しないようにする。本実施形態のボクシングゲームにおいては、オブジェクトの打撃動作は極めて速く、ユーザーが連続して打撃操作を入力できるように、時間間隔δを大きく設定することはできないが、確実に誤検出を防ぐためには、時間間隔δの値を0.2秒程度の長さに設定するのが良い。
なお、ゲームアプリケーションの要件によっては、一度打撃操作を入力したら、しばらくの間は打撃操作を行う必要がないこともある。その場合は時間間隔δの値を大きく取ることも可能である。例えば、テニスゲームの場合、一度ラケットを振ったら次の1秒程度はラケットを振る必要がないので、時間間隔δを1秒程度の大きさにすることができる。 (Improvement G-1)
The improvement process G-1 is to prevent the punch from being detected for a certain time once the hitting operation is detected. Specifically, after the hitting operation is detected at time D, the hitting operation is not detected during a predetermined time interval δ. In the boxing game of the present embodiment, the object hitting operation is extremely fast, and the time interval δ cannot be set large so that the user can continuously input the hitting operation. The time interval δ is preferably set to a length of about 0.2 seconds.
Depending on the requirements of the game application, once a batting operation is input, it may not be necessary to perform the batting operation for a while. In that case, it is possible to increase the value of the time interval δ. For example, in the case of a tennis game, once the racket is shaken, it is not necessary to shake the racket for the next one second or so, so that the time interval δ can be made as large as one second.
・H時点について
H時点は、打撃検出法2だけでなく、打撃検出法3及び4でも誤検出が生じる。しかし、打撃検出法3は打撃検出法2における微小時間Δtをゼロにした特殊なケースであり、打撃検出法4は打撃検出法2をさらに拡張した方法であるので、改善処理H-1をこれらの打撃検出法にも適用できる。 -About the H time point At the H time point, not only the hit detection method 2 but also the hit detection methods 3 and 4 cause false detection. However, the hit detection method 3 is a special case in which the minute time Δt in the hit detection method 2 is set to zero, and the hit detection method 4 is a method in which the hit detection method 2 is further expanded. It can be applied to the hit detection method.
H時点は、打撃検出法2だけでなく、打撃検出法3及び4でも誤検出が生じる。しかし、打撃検出法3は打撃検出法2における微小時間Δtをゼロにした特殊なケースであり、打撃検出法4は打撃検出法2をさらに拡張した方法であるので、改善処理H-1をこれらの打撃検出法にも適用できる。 -About the H time point At the H time point, not only the hit detection method 2 but also the hit detection methods 3 and 4 cause false detection. However, the hit detection method 3 is a special case in which the minute time Δt in the hit detection method 2 is set to zero, and the hit detection method 4 is a method in which the hit detection method 2 is further expanded. It can be applied to the hit detection method.
(改善処理H-2)
また、他の改善処理としては、Y軸まわりの回転角θy(t)がピークに達してから打撃検出法2で打撃操作を検出しても、所定の時間内にY軸まわりの回転角θy(t)が十分大きく変化するまでは、打撃操作として処理しないものである。例えば、図6のK時点で打撃操作が検出されても、所定の時間内にY軸まわりの回転角θy(t)の値がθy=0のラインを横切るL時点までは検出を保留するような処理を行う。なお、この改善処理も打撃検出法3及び4に用いることもできる。この改善処理では片手で2回続けて打撃操作を行った場合の図8のSにおいて誤検出をしてしまうため、上述した実施形態に適用するのは難しいが、ゲームアプリケーションの要件によっては十分実用可能な改善方法となり得る。 (Improvement processing H-2)
As another improvement process, even if a hit operation is detected by the hit detection method 2 after the rotation angle θ y (t) around the Y axis reaches a peak, the rotation angle around the Y axis within a predetermined time. Until θ y (t) changes sufficiently large, it is not processed as a batting operation. For example, even if a hitting operation is detected at time K in FIG. 6, detection is suspended until time L when the value of the rotation angle θ y (t) around the Y axis crosses a line with θ y = 0 within a predetermined time. Perform the process. This improvement process can also be used for the impact detection methods 3 and 4. In this improvement process, an erroneous detection is performed in S of FIG. 8 when the batting operation is performed twice with one hand, so that it is difficult to apply to the above-described embodiment, but it is sufficiently practical depending on the requirements of the game application. It can be a possible improvement.
また、他の改善処理としては、Y軸まわりの回転角θy(t)がピークに達してから打撃検出法2で打撃操作を検出しても、所定の時間内にY軸まわりの回転角θy(t)が十分大きく変化するまでは、打撃操作として処理しないものである。例えば、図6のK時点で打撃操作が検出されても、所定の時間内にY軸まわりの回転角θy(t)の値がθy=0のラインを横切るL時点までは検出を保留するような処理を行う。なお、この改善処理も打撃検出法3及び4に用いることもできる。この改善処理では片手で2回続けて打撃操作を行った場合の図8のSにおいて誤検出をしてしまうため、上述した実施形態に適用するのは難しいが、ゲームアプリケーションの要件によっては十分実用可能な改善方法となり得る。 (Improvement processing H-2)
As another improvement process, even if a hit operation is detected by the hit detection method 2 after the rotation angle θ y (t) around the Y axis reaches a peak, the rotation angle around the Y axis within a predetermined time. Until θ y (t) changes sufficiently large, it is not processed as a batting operation. For example, even if a hitting operation is detected at time K in FIG. 6, detection is suspended until time L when the value of the rotation angle θ y (t) around the Y axis crosses a line with θ y = 0 within a predetermined time. Perform the process. This improvement process can also be used for the impact detection methods 3 and 4. In this improvement process, an erroneous detection is performed in S of FIG. 8 when the batting operation is performed twice with one hand, so that it is difficult to apply to the above-described embodiment, but it is sufficiently practical depending on the requirements of the game application. It can be a possible improvement.
(3)ユーザー環境に応じたしきい値の変更
これまでに述べた打撃検出法や改善処理において、様々なしきい値を用いてきた。これらは所定の値を持ち、改善処理D-1や改善処理A-6、B-3においてはしきい値を状況に応じて変更させていた。しかし、これらのしきい値はユーザーの環境に応じて変化させても良い。つまり、ユーザーの筋力やコントローラの重さなどによって、しきい値の値を変更することで、ユーザーがより楽に打撃操作を成功させることができるようになる。これらの変更はユーザー設定により直接行なっても良いし、ユーザーに打撃操作を何回か行なってもらい、適切なしきい値を測定するという方法を取ることもできる。 (3) Change of threshold value according to user environment Various threshold values have been used in the hit detection method and improvement processing described so far. These have predetermined values, and the threshold values are changed according to the situation in the improvement process D-1 and the improvement processes A-6 and B-3. However, these threshold values may be changed according to the user's environment. That is, by changing the threshold value according to the user's muscular strength, the weight of the controller, etc., the user can make the hitting operation more easily successful. These changes may be made directly according to user settings, or the user may perform several hitting operations and measure an appropriate threshold value.
これまでに述べた打撃検出法や改善処理において、様々なしきい値を用いてきた。これらは所定の値を持ち、改善処理D-1や改善処理A-6、B-3においてはしきい値を状況に応じて変更させていた。しかし、これらのしきい値はユーザーの環境に応じて変化させても良い。つまり、ユーザーの筋力やコントローラの重さなどによって、しきい値の値を変更することで、ユーザーがより楽に打撃操作を成功させることができるようになる。これらの変更はユーザー設定により直接行なっても良いし、ユーザーに打撃操作を何回か行なってもらい、適切なしきい値を測定するという方法を取ることもできる。 (3) Change of threshold value according to user environment Various threshold values have been used in the hit detection method and improvement processing described so far. These have predetermined values, and the threshold values are changed according to the situation in the improvement process D-1 and the improvement processes A-6 and B-3. However, these threshold values may be changed according to the user's environment. That is, by changing the threshold value according to the user's muscular strength, the weight of the controller, etc., the user can make the hitting operation more easily successful. These changes may be made directly according to user settings, or the user may perform several hitting operations and measure an appropriate threshold value.
(4)以上の打撃検出法と改善処理を1つに統合した打撃検出の識別関数と機械学習について、これまで議論してきた打撃検出法と改善処理を一般化すれば、ユーザーによる打撃操作の入力があったかどうかは、Y軸まわりの角速度ωy(t)の変化のパターン(波形)とゲーム装置1の加速度のZ成分とを解析することで識別できる。例えば、直近に検出された10回分の角速度の値と加速度のZ成分の値をニューラルネットワーク等でパターン解析すれば、ニューラルネットワークを用いた識別関数を打撃検出法として用いることができる。しかし、この方法だと多層のネットワークが必要で学習に時間がかかってしまいあまり実用的ではない。そこで、直近に検出された10回分のデータをそのまま使うのではなく、いくつかの特徴を抽出する必要がある。上記の打撃検出法1及び2,及び改善処理A-1,C-1,D-1,H-1などを考慮すると、特徴としては、現在時刻tでの角速度ωy(t)及び角加速度αy(t)、ゲーム装置1の加速度のZ成分az、式15で推定されるY軸まわりの回転角がピークに逹した時刻tpにおける角加速度αy(tp)、及び時刻tpからの経過時間tpeekと時刻tpにおける角加速度αy(tp)を掛けた値(tpeek・αy(tp))、などがあれば良い。tpeekとαy(tp)を掛けた値を特徴として使うのは、式14の右辺によるαy(tp)の減衰の計算を
αy(tp)・exp(-λtpeek) ~αy(tp) -λtpeek・αy(tp) ……(式25)
で近似するためである。また我々の経験では、回前に検出された加速度のZ成分も特徴に追加することでより良い識別関数を作ることができる。 (4) If the hit detection method and improvement processing that have been discussed so far are generalized to the hit detection identification function and machine learning that integrate the above hit detection method and improvement processing into one, input of the hit operation by the user It can be identified by analyzing the change pattern (waveform) of the angular velocity ω y (t) around the Y axis and the Z component of the acceleration of thegame apparatus 1. For example, if a pattern analysis is performed on the 10 most recently detected angular velocity values and acceleration Z component values using a neural network or the like, an identification function using the neural network can be used as the hit detection method. However, this method requires a multi-layered network and takes time to learn, so it is not practical. Therefore, it is necessary to extract some features instead of using the most recently detected data for 10 times as it is. Considering the hit detection methods 1 and 2 and the improvement processes A-1, C-1, D-1, H-1, and the like, the features are the angular velocity ω y (t) and the angular acceleration at the current time t. α y (t), the Z component a z of the acceleration of the game apparatus 1, the angular acceleration α y (t p ) at the time t p when the rotation angle around the Y axis estimated by Equation 15 reaches its peak, and the time t angular acceleration α y (t p) the applied value in the elapsed time t peek and time t p from p (t peek · α y ( t p)), or if there is such. The value obtained by multiplying t peek by α y (t p ) is used as a feature because the calculation of the attenuation of α y (t p ) by the right side of Equation 14 is performed using α y (t p ) · exp (−λt peek ) α y (t p ) −λt peek · α y (t p ) (Equation 25)
This is because of approximation. In our experience, a better discriminant function can be created by adding the Z component of the acceleration detected before the rotation to the feature.
αy(tp)・exp(-λtpeek) ~αy(tp) -λtpeek・αy(tp) ……(式25)
で近似するためである。また我々の経験では、回前に検出された加速度のZ成分も特徴に追加することでより良い識別関数を作ることができる。 (4) If the hit detection method and improvement processing that have been discussed so far are generalized to the hit detection identification function and machine learning that integrate the above hit detection method and improvement processing into one, input of the hit operation by the user It can be identified by analyzing the change pattern (waveform) of the angular velocity ω y (t) around the Y axis and the Z component of the acceleration of the
This is because of approximation. In our experience, a better discriminant function can be created by adding the Z component of the acceleration detected before the rotation to the feature.
また、ここで上げた特徴の他にもゲームアプリケーション固有の情報が追加されても良い。例えば、上述したボクシングゲームの実施例の場合、タッチスクリーンによって打撃種別の選択が行なわれたら、そのすぐ後に打撃操作の入力があることが予測できるので、現在選択されている打撃の種類、及び前回打撃種別の選択が行なわれてからの経過時間などが特徴として考えられる。しかし、識別関数を機械学習させるのが困難になるので、むやみに特徴を増やすのは良くない。
In addition to the features described here, information specific to the game application may be added. For example, in the case of the embodiment of the boxing game described above, if the hitting type is selected by the touch screen, it can be predicted that there is an input of the hitting operation immediately thereafter, so that the currently selected hitting type and the previous time An elapsed time after the selection of the hit type is considered as a feature. However, since it is difficult to machine-learn the discriminant function, it is not good to increase the features unnecessarily.
上述したような特徴が識別関数の入力となるが、出力は、右手による打撃操作があったかどうかと、左手による打撃操作があったかどうかの、2つのブーリアン値となる。
ここで、識別関数をこれまでの議論を元にプログラミングしても良いが、ニューラルネットワーク等を用いて機械学習によって推定することもできる。また、機械学習によって、前述したようなユーザー環境に応じたしきい値の変更を行なったり、ユーザー毎の癖やゲームアプリケーションを実行しているゲーム装置の差異などを吸収したりできる可能性がある。例えば、ユーザーの筋力やゲーム装置の重さや大きさなどによって、打撃検出法1におけるしきい値Tαや打撃検出法2におけるしきい値Tω、及び改善処理H-1の微小期間εを変更した方がより正確に打撃操作を検出できるだろうし、加速度センサが配置された位置に応じて、特徴の1つであるの加速度のZ成分azと、別の特徴である角加速度αy(t)の重みを変更することによって、改善処理A-1と同様の処理をより正確に行なうことができると期待できる。 The features as described above are input to the discriminant function, but the output is two Boolean values, that is, whether there has been a right hand hitting operation and whether there has been a left hand hitting operation.
Here, the discriminant function may be programmed based on the discussion so far, but it can also be estimated by machine learning using a neural network or the like. In addition, the machine learning may be able to change the threshold value according to the user environment as described above, or to absorb differences between game machines that are running game applications or games for each user. . For example, the threshold value Tα in thehit detection method 1, the threshold value Tω in the hit detection method 2, and the minute period ε of the improvement process H-1 are changed depending on the user's muscle strength, the weight and size of the game device, etc. Can detect the batting operation more accurately, and depending on the position where the acceleration sensor is arranged, one of the features is the Z component a z of acceleration and the other feature is the angular acceleration α y (t). It can be expected that the same process as the improvement process A-1 can be performed more accurately by changing the weights of.
ここで、識別関数をこれまでの議論を元にプログラミングしても良いが、ニューラルネットワーク等を用いて機械学習によって推定することもできる。また、機械学習によって、前述したようなユーザー環境に応じたしきい値の変更を行なったり、ユーザー毎の癖やゲームアプリケーションを実行しているゲーム装置の差異などを吸収したりできる可能性がある。例えば、ユーザーの筋力やゲーム装置の重さや大きさなどによって、打撃検出法1におけるしきい値Tαや打撃検出法2におけるしきい値Tω、及び改善処理H-1の微小期間εを変更した方がより正確に打撃操作を検出できるだろうし、加速度センサが配置された位置に応じて、特徴の1つであるの加速度のZ成分azと、別の特徴である角加速度αy(t)の重みを変更することによって、改善処理A-1と同様の処理をより正確に行なうことができると期待できる。 The features as described above are input to the discriminant function, but the output is two Boolean values, that is, whether there has been a right hand hitting operation and whether there has been a left hand hitting operation.
Here, the discriminant function may be programmed based on the discussion so far, but it can also be estimated by machine learning using a neural network or the like. In addition, the machine learning may be able to change the threshold value according to the user environment as described above, or to absorb differences between game machines that are running game applications or games for each user. . For example, the threshold value Tα in the
ユーザーの環境毎に機械学習を行なうには、ユーザーに指定のタイミングで決められた打撃操作を行なってもらう必要があるが、それにはゲームアプリケーション内で、本来のゲームプレイとは違う、ミニゲームをプレイしてもらうのが良い。例えば、リズムに合わせてユーザーに打撃操作を行なってもらうようなゲームで、打撃のタイミングや打撃種類及び左右の区別等を画面上を流れるマーカーでユーザーに指示し、ユーザーはマーカーが決められたラインに到達するタイミングでマーカーの色や形、及びマーカーの場所に応じて決められた打撃操作を行なう。
In order to perform machine learning for each user's environment, it is necessary for the user to perform a batting operation determined at a specified timing. To do this, in the game application, a mini game, which is different from the original game play, is required. It is good to have you play. For example, in a game in which the user performs a batting operation according to the rhythm, the user instructs the user with the marker that flows on the screen, the timing of the batting, the type of batting, and the left / right distinction, and the user sets the line where the marker is determined. The hitting operation determined in accordance with the color and shape of the marker and the location of the marker is performed at the timing of reaching.
上述のようなミニゲームで機械学習の教師信号を得ることができるが、この教師信号を用いて識別関数を学習する際にも工夫が必要である。例えば、改善処理H-1について考えてみると、ピークが検出されてからのごく短い期間では打撃操作の後の反動と、コンビネーションパンチの操作の入力との区別が困難であったため、ユーザーが意図していたタイミングよりも少し遅れたタイミングで打撃を検出しなければならない。また、ユーザーは機械のように正確に指定のタイミングで打撃操作を入力できるわけでもない。そこで、ミニゲームによって指示されたタイミングで打撃操作があったとするのではなく、指示されたタイミングの近傍で、ゲーム装置1のY軸まわりの角加速度αy(t)の単位時間あたりの変化量が最大になった時刻を打撃操作の入力が開始された時刻とし、その時刻から角加速度αy(t)の向きが反対になる時刻、つまり角速度の大きさが最大値に逹する時刻までの間を打撃操作期間とし、教師信号は、打撃操作期間の間中で打撃操作を検出しているとする。そして、このようにして得られた教師信号を元に学習を行なう際は、打撃操作期間以外でのデータに重みをつけ、必ずしも打撃操作期間の全てのデータで打撃操作を検出しなくても良いようにする。
A machine learning teacher signal can be obtained by the mini-game as described above. However, it is necessary to devise when learning the discriminant function using this teacher signal. For example, when considering the improvement process H-1, it is difficult to distinguish between the reaction after the batting operation and the input of the combination punch operation in a very short period after the peak is detected. The hit must be detected at a timing slightly later than the timing at which it was performed. Also, the user cannot input the striking operation at the specified timing exactly like a machine. Therefore, the amount of change per unit time of the angular acceleration α y (t) around the Y axis of the game apparatus 1 is not in the vicinity of the instructed timing, but is assumed that the batting operation is performed at the timing instructed by the mini game. Is the time when the input of the batting operation is started, and from that time until the time when the direction of the angular acceleration α y (t) is reversed, that is, the time when the magnitude of the angular velocity falls to the maximum value It is assumed that the interval is a batting operation period, and the teacher signal detects the batting operation during the batting operation period. When learning is performed based on the teacher signal obtained in this way, data other than the batting operation period is weighted, and the batting operation does not necessarily need to be detected in all data of the batting operation period. Like that.
このような機械学習によって、ユーザー毎の環境の違いを吸収し、より正確な打撃操作の検出が出来るようになるメリットがあるが、教師信号を得るためのミニゲームを用意する必要があり、また教師信号が得られたとしてもニューラルネットワークの学習に時間がかかるという課題もある。我々の経験では、5ユニットの中間層を1層だけ持つニューラルネットワークを用いて十分な性能を持つ識別関数を得ることができたが、学習には約4600個の教師信号(パンチ63回分)を使って約5千回のバッチ学習が必要であった。
This kind of machine learning has the advantage of absorbing the difference in the environment for each user and making it possible to detect the batting operation more accurately, but it is necessary to prepare a mini game to obtain a teacher signal, Even if a teacher signal is obtained, there is a problem that it takes time to learn the neural network. In our experience, we were able to obtain a discriminant function with sufficient performance using a neural network with only one intermediate layer of 5 units, but about 4600 teacher signals (63 punches) were used for learning. It was necessary to learn about 5,000 batches.
また、上述した実施形態では、表示装置、演算処理装置、及びコントローラが一体になったスマートフォンやタブレット端末などの広く普及したデバイスを用いた場合を例に説明しているが、本発明は、表示装置、演算処理装置、及びコントローラが一体であることに限定されるものではなく、コントローラ、演算処理装置、及び表示装置が別々になっていてもよい。この場合では、例えば、スマートフォン等をコントローラ、スマートフォンと無線通信(Bluetooth(登録商標)など)接続が可能な汎用コンピュータやゲーム機器を演算処理装置、及び演算処理装置に接続可能なテレビ機器を表示装置として用いることもできる。この場合には、大きな画面上に表示されるオブジェクトを操作することができる。
In the above-described embodiment, the case where a widespread device such as a smartphone or a tablet terminal in which a display device, an arithmetic processing device, and a controller are integrated is described as an example. The device, the arithmetic processing device, and the controller are not limited to be integrated, and the controller, the arithmetic processing device, and the display device may be provided separately. In this case, for example, a smartphone or the like is used as a controller, a general-purpose computer or a game device that can be wirelessly connected to the smartphone (such as Bluetooth (registered trademark)) or a computing device as a computing device, and a television device that can be connected to the computing device as a display device. Can also be used. In this case, an object displayed on a large screen can be operated.
さらに、例えば、スマートフォン等をコントローラ、及びスマートフォンと無線通信(Bluetooth(登録商標)など)接続が可能なロボットなどの玩具を、操作の対象となるオブジェクトとして用いることもできる。この場合には、オブジェクトはロボット玩具などの駆動装置となり、動作制御部210はこの駆動装置に対して制御信号を送信することになる。
Furthermore, for example, a toy such as a robot capable of connecting a smartphone or the like to a controller and a wireless communication (such as Bluetooth (registered trademark)) with the smartphone can be used as an object to be operated. In this case, the object is a driving device such as a robot toy, and the motion control unit 210 transmits a control signal to the driving device.
また、本発明において、オブジェクトが必ずしも実空間若しくは仮想空間上に存在する必要もない。即ち、演算処理装置がコントローラからの入力を元に、仮想的なオブジェクトが打撃動作を行なったというシミュレーションを行ない、その結果のみを出力するようなアプリケーションにも本発明を適用することが可能である。例えば、ユーザーが打撃操作の入力を行なったことで、画面上には表示されていない仮想的なオブジェクトが打撃動作を行なったとし、画面上に表示されている別のオブジェクトが破壊されるようなゲームアプリケーションが考えられる。別の例としては、ユーザーがリズムに合わせて打撃操作を行ない、その結果によって画面上の表示を変更したり、効果音を出力するようなゲームアプリケーションが考えられる。この場合、仮想的なオブジェクトとは太鼓のバチを持つ演奏者のようなものである。
In the present invention, the object does not necessarily need to exist in the real space or the virtual space. That is, the present invention can also be applied to an application in which the arithmetic processing unit performs a simulation that a virtual object has performed a hitting operation based on an input from the controller and outputs only the result. . For example, when a user inputs a batting operation, a virtual object not displayed on the screen performs a batting operation, and another object displayed on the screen is destroyed. A game application can be considered. As another example, a game application in which the user performs a batting operation in accordance with the rhythm and changes the display on the screen or outputs a sound effect according to the result is conceivable. In this case, the virtual object is like a performer with a drum drumstick.
1…ゲーム装置
71…携帯端末機
71~74…コンピュータ
72…パーソナルコンピュータ
73…サーバー装置
74…専用装置
81…光ディスク
81~85…記録媒体
82…カセットテープ
83…フレキシブルディスク
84…メモリカード
85…USBメモリ
86…ICチップ
100…制御装置本体
100…本体
101…アンテナ
102…デュプレクサ
103…シンセサイザ
110…低ノイズアンプ
111…ミキサ
112…IFアンプ
113…直交ミキサ
114…コンバータ
115…復調器
116…チャネルデコーダ
117…音声デコーダ
118…コンバータ
119…アンプ
120…スピーカ
130…パワーアンプ
131…ミキサ
132…IFアンプ
133…直交ミキサ
134…コンバータ
135…変調器
136…チャネルエンコーダ
137…音声エンコーダ
138…コンバータ
139…アンプ
140…マイク
150…タイムベース
151…EEPROM
152…RAM
152,EEPROM151…RAM
153…ROM
164…ジャイロセンサ
165…ディスプレイ
165…液晶ディスプレイ
165…LCD
166…操作ボタン
167…LED
168…タッチセンサ
169…加速度センサ
171…電源系電池
172…電源
173…コンバータ
174…バイブレータ
200…CPU
201…操作信号取得部
201a…操作位置検出部
202…アプリケーション実行部
204…表示情報生成部
204a…3D構成部
204b…2D構成部
204c…GUI構成部
205…角速度検出部
206…操作デバイス
210…動作制御部
211…打撃検出部
300…タッチパネル
304,305…パワーゲージ
306,307…選択領域
306a,307a…A領域
306b,307b…B領域
306c,307c…C領域
DESCRIPTION OFSYMBOLS 1 ... Game device 71 ... Portable terminal 71-74 ... Computer 72 ... Personal computer 73 ... Server apparatus 74 ... Dedicated device 81 ... Optical disk 81-85 ... Recording medium 82 ... Cassette tape 83 ... Flexible disk 84 ... Memory card 85 ... USB Memory 86 ... IC chip 100 ... Control device main body 100 ... Main body 101 ... Antenna 102 ... Duplexer 103 ... Synthesizer 110 ... Low noise amplifier 111 ... Mixer 112 ... IF amplifier 113 ... Orthogonal mixer 114 ... Converter 115 ... Demodulator 116 ... Channel decoder 117 ... Audio decoder 118 ... Converter 119 ... Amplifier 120 ... Speaker 130 ... Power amplifier 131 ... Mixer 132 ... IF amplifier 133 ... Orthogonal mixer 134 ... Converter 135 ... Modulator 136 ... Catcher channel encoder 137 ... audio encoder 138 ... Converter 139 ... amplifier 140 ... microphone 150 ... time base 151 ... EEPROM
152 ... RAM
152,EEPROM 151 ... RAM
153 ... ROM
164 ...Gyro sensor 165 ... Display 165 ... Liquid crystal display 165 ... LCD
166 ...Operation buttons 167 ... LED
168 ...Touch sensor 169 ... Acceleration sensor 171 ... Power supply system battery 172 ... Power supply 173 ... Converter 174 ... Vibrator 200 ... CPU
DESCRIPTION OFSYMBOLS 201 ... Operation signal acquisition part 201a ... Operation position detection part 202 ... Application execution part 204 ... Display information generation part 204a ... 3D structure part 204b ... 2D structure part 204c ... GUI structure part 205 ... Angular velocity detection part 206 ... Operation device 210 ... Operation | movement Control unit 211 ... Impact detection unit 300 ... Touch panel 304, 305 ... Power gauge 306, 307 ... Selection area 306a, 307a ... A area 306b, 307b ... B area 306c, 307c ... C area
71…携帯端末機
71~74…コンピュータ
72…パーソナルコンピュータ
73…サーバー装置
74…専用装置
81…光ディスク
81~85…記録媒体
82…カセットテープ
83…フレキシブルディスク
84…メモリカード
85…USBメモリ
86…ICチップ
100…制御装置本体
100…本体
101…アンテナ
102…デュプレクサ
103…シンセサイザ
110…低ノイズアンプ
111…ミキサ
112…IFアンプ
113…直交ミキサ
114…コンバータ
115…復調器
116…チャネルデコーダ
117…音声デコーダ
118…コンバータ
119…アンプ
120…スピーカ
130…パワーアンプ
131…ミキサ
132…IFアンプ
133…直交ミキサ
134…コンバータ
135…変調器
136…チャネルエンコーダ
137…音声エンコーダ
138…コンバータ
139…アンプ
140…マイク
150…タイムベース
151…EEPROM
152…RAM
152,EEPROM151…RAM
153…ROM
164…ジャイロセンサ
165…ディスプレイ
165…液晶ディスプレイ
165…LCD
166…操作ボタン
167…LED
168…タッチセンサ
169…加速度センサ
171…電源系電池
172…電源
173…コンバータ
174…バイブレータ
200…CPU
201…操作信号取得部
201a…操作位置検出部
202…アプリケーション実行部
204…表示情報生成部
204a…3D構成部
204b…2D構成部
204c…GUI構成部
205…角速度検出部
206…操作デバイス
210…動作制御部
211…打撃検出部
300…タッチパネル
304,305…パワーゲージ
306,307…選択領域
306a,307a…A領域
306b,307b…B領域
306c,307c…C領域
DESCRIPTION OF
152 ... RAM
152,
153 ... ROM
164 ...
166 ...
168 ...
DESCRIPTION OF
Claims (24)
- コントローラ及び前記コントローラから入力される情報等を処理する演算処理装置を備え、
前記演算処理装置若しくは前記演算処理装置で実行されるソフトウェアが前記コントローラから入力される操作信号等の情報を元に、ユーザーから打撃操作の入力があったことを判断する手段である打撃検出部を有するユーザーインターフェースシステムであって、
前記コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
前記打撃検出部が、前記角速度センサによって連続的に検知される前記コントローラの角速度の一連の値を用いて、ユーザーが前記コントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得る前記コントローラの回転運動に関する前記打撃操作の特徴を検出する打撃検出法を備え、
前記打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現する
ことを特徴とするユーザーインターフェースシステム。 A controller and an arithmetic processing unit for processing information input from the controller;
A hit detection unit that is a means for determining that a user has input a hitting operation based on information such as an operation signal input from the controller by the arithmetic processing unit or software executed by the arithmetic processing unit. A user interface system comprising:
The controller has an angular velocity sensor and a main body that a user can operate with both hands,
Using the series of values of the angular velocity of the controller, which is continuously detected by the angular velocity sensor, the batting detection unit performs a batting operation in which the user holds the controller with both hands and pushes either the left or right hand forward. A hit detection method for detecting characteristics of the hit operation related to the rotational movement of the controller that may occur at the time,
A user interface system that realizes a function of determining that a user has input a batting operation by using the batting detection method. - 前記打撃検出部が、前記角速度センサによって検出される前記コントローラの角速度を用いることによって、前記打撃操作がユーザーの右手によって行なわれたのか左手によって行なわれたのかを判断する機能を備える
ことを特徴とする請求項1に記載のユーザーインターフェースシステム。 The hit detection unit has a function of determining whether the hitting operation is performed by a user's right hand or a left hand by using an angular velocity of the controller detected by the angular velocity sensor. The user interface system according to claim 1. - 前記打撃検出法のひとつとして、
前記角速度センサによって検出される、前記打撃操作が行なわれた場合の前記コントローラの自然な回転軸とみなせる所定の軸まわりの角速度の値、若しくは角速度の値の単位時間あたりの変化量、若しくは一連の角速度の値を用いて予測された微小時間先の角速度の値、若しくはこれらの値を結合することによって得られる値を、所定の、若しくは状況により変化し得る、若しくはユーザー設定やユーザーの環境によって変更可能な、しきい値と比較する方法を用いる
ことを特徴とする請求項1又は2に記載のユーザーインターフェースシステム。 As one of the hit detection methods,
A value of an angular velocity around a predetermined axis that can be regarded as a natural rotation axis of the controller when the striking operation is performed detected by the angular velocity sensor, or a change amount per unit time of a value of the angular velocity, or a series of The value of the angular velocity predicted by using the angular velocity value, or the value obtained by combining these values, can be changed according to the predetermined or situation, or changed according to the user settings and the user environment 3. User interface system according to claim 1 or 2, characterized in that it uses a method for comparing with a threshold. - 前記コントローラがさらに加速度センサを内部に備え、
前記打撃検出部が、前記加速度センサにより検出された加速度を用いることで、前記コントローラが回転運動をした際に前記コントローラが前に押し出されているのか後ろに引き戻されているのかを判断し、後ろに引き戻されていると判断した場合には前記コントローラの回転運動は予備操作若しくは打撃操作後の反動によるものとして、打撃操作の検出を抑制する機能を有する
ことを特徴とする請求項1ないし3のいずれかに記載のユーザーインターフェースシステム。 The controller further includes an acceleration sensor inside,
The hit detection unit uses the acceleration detected by the acceleration sensor to determine whether the controller is pushed forward or pulled back when the controller rotates. 4. The controller according to claim 1, wherein the controller has a function of suppressing detection of a striking operation on the assumption that the rotational motion of the controller is caused by a pre-operation or a reaction after the striking operation when it is determined that the striking operation has been pulled back. A user interface system according to any of the above. - ユーザーの打撃操作によるコントローラの回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して前記打撃検出法による打撃操作の特徴の検出を制限することにより、前記ユーザーによる打撃操作の後の反動を誤って検出してしまうことを防ぐ機能を実現する
ことを特徴とする請求項1ないし4のいずれかに記載のユーザーインターフェースシステム。 By detecting the moment when the rotational motion of the controller due to the user's batting operation stops and predicting that a recoil will occur immediately thereafter, the detection of the characteristics of the batting operation by the batting detection method is limited, and the batting operation performed by the user 5. The user interface system according to claim 1, further comprising: a function that prevents a subsequent reaction from being erroneously detected. - ユーザーによる連続した打撃操作の入力を正確に検出するために、前記打撃検出部は少なくとも2つの打撃検出法を備え、1つを打撃操作が開始された瞬間の特徴を検出する方法にし、もう1つを打撃操作が行なわれている最中の特徴を検出する方法にすることを特徴とする請求項4又は5に記載のユーザーインターフェースシステム。 In order to accurately detect an input of a continuous hitting operation by a user, the hitting detection unit includes at least two hitting detection methods, one of which is a method of detecting a feature at the moment when the hitting operation is started. 6. The user interface system according to claim 4, wherein a method for detecting a feature during a hitting operation is used.
- 前記ユーザーインターフェースシステムが、前記コントローラから入力される情報を元に算出される前記コントローラの所定の軸まわりの回転角と連動して、操作対象のオブジェクトに打撃動作に関する予備動作を実行させる機能、若しくは予備動作を実行させるための制御信号を送信する機能を持つ
ことを特徴とする請求項1ないし6のいずれかに記載のユーザーインターフェースシステム。 A function of causing the object to be operated to perform a preliminary motion related to a striking motion in conjunction with a rotation angle around a predetermined axis of the controller calculated based on information input from the controller, or 7. The user interface system according to claim 1, wherein the user interface system has a function of transmitting a control signal for executing a preliminary operation. - 前記コントローラが、前記コントローラ本体に配置された入力部をさらに備え、
前記打撃検出部が、前記入力部への入力信号の有無又は種別に応じて、打撃の種別又は強弱を変化させる機能を有する
ことを特徴とする請求項1ないし7のいずれかに記載のユーザーインターフェースシステム。 The controller further comprises an input unit arranged in the controller body,
The user interface according to any one of claims 1 to 7, wherein the hit detection unit has a function of changing the type or strength of the hit in accordance with the presence or absence or type of an input signal to the input unit. system. - コントローラから入力される操作信号等の情報を元に、ユーザーから打撃操作の入力があったことを判断する打撃検出ステップ
を有するユーザーインターフェースシステムにおける操作信号解析方法であって、
前記コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
前記打撃検出ステップが、前記角速度センサによって連続的に検知される前記コントローラの角速度の一連の値を用いて、ユーザーが前記コントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得る前記コントローラの回転運動に関する前記打撃操作の特徴を検出する打撃検出法を含み、
前記打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現する
ことを特徴とする操作信号解析方法。 An operation signal analysis method in a user interface system having a batting detection step for determining that a batting operation is input from a user based on information such as an operation signal input from a controller,
The controller has an angular velocity sensor and a main body that a user can operate with both hands,
In the hit detection step, using a series of values of the angular velocity of the controller continuously detected by the angular velocity sensor, a hit operation is performed in which the user holds the controller with both hands and pushes the left or right hand forward. A batting detection method for detecting characteristics of the batting operation relating to the rotational movement of the controller that may occur in the event of
An operation signal analysis method characterized by realizing a function of determining that a user has input a batting operation by using the batting detection method. - 前記打撃検出ステップが、前記角速度センサによって検出される前記コントローラの角速度を用いることによって、前記打撃操作がユーザーの右手によって行なわれたのか左手によって行なわれたのかを判断する機能を実現する
ことを特徴とする請求項9に記載の操作信号解析方法。 The hit detection step realizes a function of determining whether the hitting operation is performed by a user's right hand or a left hand by using an angular velocity of the controller detected by the angular velocity sensor. The operation signal analysis method according to claim 9. - 前記打撃検出法のひとつとして、
前記角速度センサによって検出される、前記打撃操作が行なわれた場合の前記コントローラの自然な回転軸とみなせる所定の軸まわりの角速度の値、若しくは角速度の値の単位時間あたりの変化量、若しくは一連の角速度の値を用いて予測された微小時間先の角速度の値、若しくはこれらの値を結合することによって得られる値を、所定の、若しくは状況により変化し得る、若しくはユーザー設定やユーザーの環境によって変更可能な、しきい値と比較する方法を用いる
ことを特徴とする請求項9又は10に記載の操作信号解析方法。 As one of the hit detection methods,
A value of an angular velocity around a predetermined axis that can be regarded as a natural rotation axis of the controller when the striking operation is performed detected by the angular velocity sensor, or a change amount per unit time of a value of the angular velocity, or a series of The value of the angular velocity predicted by using the angular velocity value, or the value obtained by combining these values, can be changed according to the predetermined or situation, or changed according to the user settings and the user environment 11. The operation signal analyzing method according to claim 9, wherein a method for comparing with a threshold value is possible. - 前記コントローラがさらに加速度センサを内部に備え、
前記打撃検出ステップが、前記加速度センサにより検出された加速度を用いることで、
前記コントローラが回転運動をした際に前記コントローラが前に押し出されているのか後ろに引き戻されているのかを判断し、後ろに引き戻されていると判断した場合には前記コントローラの回転運動は予備操作若しくは打撃操作後の反動によるものとして、打撃操作の検出を抑制する機能を実現する
ことを特徴とする請求項9ないし11のいずれかに記載の操作信号解析方法。 The controller further includes an acceleration sensor inside,
The hit detection step uses the acceleration detected by the acceleration sensor,
When the controller performs a rotational motion, it is determined whether the controller is pushed forward or pulled back. If it is determined that the controller is pulled back, the rotational motion of the controller is a preliminary operation. The operation signal analysis method according to claim 9, further comprising a function of suppressing detection of a batting operation as a result of a reaction after the batting operation. - 前記打撃検出ステップが、ユーザーの打撃操作によるコントローラの回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して前記打撃検出法による打撃操作の特徴の検出を制限することにより、前記ユーザーによる打撃操作の後の反動を誤って検出してしまうことを防ぐ機能を実現する
ことを特徴とする請求項9ないし12のいずれかに記載の操作信号解析方法。 The hit detection step detects the moment when the rotational motion of the controller due to the hit operation of the user stops, and predicts that a recoil will occur immediately thereafter, thereby limiting the detection of the hit operation feature by the hit detection method. The operation signal analysis method according to claim 9, further comprising: a function for preventing erroneous detection of a reaction after a hitting operation by the user. - ユーザーによる連続した打撃操作の入力を正確に検出するために、前記打撃検出ステップは少なくとも2つの打撃検出法を用い、1つを打撃操作が開始された瞬間の特徴を検出する方法にし、もう1つを打撃操作が行なわれている最中の特徴を検出する方法にすることを特徴とする請求項12又は13に記載の操作信号解析方法。 In order to accurately detect the input of continuous hitting operations by the user, the hit detection step uses at least two hit detection methods, one is a method for detecting the characteristics of the moment when the hit operation is started, and 14. The operation signal analysis method according to claim 12 or 13, wherein a method for detecting a feature during a hitting operation is used.
- 前記操作信号解析方法が、前記コントローラから入力される情報を元に算出される前記コントローラの所定の軸まわりの回転角と連動して、操作対象のオブジェクトに打撃動作に関する予備動作を実行させるステップ、若しくは予備動作を実行させるための制御信号を送信するステップを有する
ことを特徴とする請求項9ないし14のいずれかに記載の操作信号解析方法。 The operation signal analyzing method causing the object to be operated to perform a preliminary motion related to a striking motion in conjunction with a rotation angle around a predetermined axis of the controller calculated based on information input from the controller; The operation signal analysis method according to claim 9, further comprising a step of transmitting a control signal for executing a preliminary operation. - 前記コントローラが、前記コントローラ本体に配置された入力部をさらに備え、
前記打撃検出ステップが、前記入力部への入力信号の有無又は種別に応じて、打撃の種別又は強弱を変化させる機能を実現する
ことを特徴とする請求項9ないし15のいずれかに記載の操作信号解析方法。 The controller further comprises an input unit arranged in the controller body,
The operation according to any one of claims 9 to 15, wherein the hit detection step realizes a function of changing a hit type or strength according to presence or absence or type of an input signal to the input unit. Signal analysis method. - コントローラから入力される操作信号等の情報を元に、ユーザーから打撃操作の入力があったことを判断する打撃検出ステップ
を有するユーザーインターフェースシステムにおける操作信号解析プログラムであって、
前記コントローラが、角速度センサと、ユーザーが両手で持って操作を行なうことが可能な本体とを持ち、
前記打撃検出ステップが、前記角速度センサによって連続的に検知される前記コントローラの角速度の一連の値を用いて、ユーザーが前記コントローラを両手で持ち左右どちらかの手を前に押し出す打撃操作を行なった際に生じ得る前記コントローラの回転運動に関する前記打撃操作の特徴を検出する打撃検出法を含み、
前記打撃検出法を用いることにより、ユーザーから打撃操作の入力があったことを判断する機能を実現する
ことを特徴とする操作信号解析プログラム。 An operation signal analysis program in a user interface system having a batting detection step for determining that a batting operation is input from a user based on information such as an operation signal input from a controller,
The controller has an angular velocity sensor and a main body that a user can operate with both hands,
In the hit detection step, using a series of values of the angular velocity of the controller continuously detected by the angular velocity sensor, a hit operation is performed in which the user holds the controller with both hands and pushes the left or right hand forward. A batting detection method for detecting characteristics of the batting operation relating to the rotational movement of the controller that may occur in the event of
An operation signal analysis program that realizes a function of determining that a user has input a batting operation by using the batting detection method. - 前記打撃検出ステップが、前記角速度センサによって検出される前記コントローラの角速度を用いることによって、前記打撃操作がユーザーの右手によって行なわれたのか左手によって行なわれたのかを判断する機能を実現する
ことを特徴とする請求項17に記載の操作信号解析プログラム。 The hit detection step realizes a function of determining whether the hitting operation is performed by a user's right hand or a left hand by using an angular velocity of the controller detected by the angular velocity sensor. The operation signal analysis program according to claim 17. - 前記打撃検出法のひとつとして、
前記角速度センサによって検出される、前記打撃操作が行なわれた場合の前記コントローラの自然な回転軸とみなせる所定の軸まわりの角速度の値、若しくは角速度の値の単位時間あたりの変化量、若しくは一連の角速度の値を用いて予測された微小時間先の角速度の値、若しくはこれらの値を結合することによって得られる値を、所定の、若しくは状況により変化し得る、若しくはユーザー設定やユーザーの環境によって変更可能な、しきい値と比較する方法
を用いる請求項17又は18に記載の操作信号解析プログラム。 As one of the hit detection methods,
A value of an angular velocity around a predetermined axis that can be regarded as a natural rotation axis of the controller when the striking operation is performed detected by the angular velocity sensor, or a change amount per unit time of a value of the angular velocity, or a series of The value of the angular velocity predicted by using the angular velocity value, or the value obtained by combining these values, can be changed according to the predetermined or situation, or changed according to the user settings and the user environment The operation signal analysis program according to claim 17 or 18, wherein a method for comparing with a threshold value is possible. - 前記コントローラがさらに加速度センサを内部に備え、
前記打撃検出ステップが、前記加速度センサにより検出された加速度を用いることで、
前記コントローラが回転運動をした際に前記コントローラが前に押し出されているのか後ろに引き戻されているのかを判断し、後ろに引き戻されていると判断した場合には前記コントローラの回転運動は予備操作若しくは打撃操作後の反動によるものとして、打撃操作の検出を抑制する機能を実現する
ことを特徴とする請求項17ないし19のいずれかに記載の操作信号解析プログラム。 The controller further includes an acceleration sensor inside,
The hit detection step uses the acceleration detected by the acceleration sensor,
When the controller performs a rotational motion, it is determined whether the controller is pushed forward or pulled back. If it is determined that the controller is pulled back, the rotational motion of the controller is a preliminary operation. The operation signal analysis program according to any one of claims 17 to 19, wherein a function for suppressing detection of a hitting operation is realized as a result of a reaction after the hitting operation. - 前記打撃検出ステップが、ユーザーの打撃操作によるコントローラの回転運動が停止した瞬間を検出し、その直後に反動が起こることを予測して前記打撃検出法による打撃操作の特徴の検出を制限することにより、前記ユーザーによる打撃操作の後の反動を誤って検出してしまうことを防ぐ機能を実現する
ことを特徴とする請求項17ないし20のいずれかに記載の操作信号解析プログラム。 The hit detection step detects the moment when the rotational motion of the controller due to the hit operation of the user stops, and predicts that a recoil will occur immediately thereafter, thereby limiting the detection of the hit operation feature by the hit detection method. 21. The operation signal analysis program according to claim 17, wherein the operation signal analysis program realizes a function to prevent erroneous detection of a reaction after a hitting operation by the user. - ユーザーによる連続した打撃操作の入力を正確に検出するために、前記打撃検出ステップは少なくとも2つの打撃検出法を用い、1つを打撃操作が開始された瞬間の特徴を検出する方法にし、もう1つ打撃操作が行なわれている最中の特徴を検出する方法にすることを特徴とする、請求項20又は21に記載の操作信号解析プログラム。 In order to accurately detect the input of continuous hitting operations by the user, the hit detection step uses at least two hit detection methods, one is a method for detecting the characteristics of the moment when the hit operation is started, and The operation signal analysis program according to claim 20 or 21, wherein a method for detecting a feature during a single hitting operation is used.
- 前記操作信号解析プログラムが、前記コントローラから入力される情報を元に算出される前記コントローラの所定の軸まわりの回転角と連動して、操作対象のオブジェクトに打撃動作に関する予備動作を実行させるステップ、若しくは予備動作を実行させるための制御信号を送信するステップを有する
ことを特徴とする請求項17ないし22のいずれかに記載の操作信号解析プログラム。 The operation signal analysis program causing the object to be operated to perform a preliminary motion related to a striking motion in conjunction with a rotation angle around a predetermined axis of the controller calculated based on information input from the controller; The operation signal analysis program according to any one of claims 17 to 22, further comprising a step of transmitting a control signal for executing a preliminary operation. - 前記コントローラが、前記コントローラ本体に配置された入力部をさらに備え、
前記打撃検出ステップが、前記入力部への入力信号の有無又は種別に応じて、打撃の種別又は強弱を変化させる機能を実現する
ことを特徴とする請求項17ないし23のいずれかに記載の操作信号解析プログラム。
The controller further comprises an input unit arranged in the controller body,
The operation according to any one of claims 17 to 23, wherein the hit detection step realizes a function of changing a hit type or strength according to presence or absence or type of an input signal to the input unit. Signal analysis program.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/080665 WO2016079828A1 (en) | 2014-11-19 | 2014-11-19 | User interface system for hit operation, operation signal analyzing method, and program |
JP2015551885A JP6064111B2 (en) | 2014-11-19 | 2014-11-19 | User interface system, operation signal analysis method and program for batting operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/080665 WO2016079828A1 (en) | 2014-11-19 | 2014-11-19 | User interface system for hit operation, operation signal analyzing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016079828A1 true WO2016079828A1 (en) | 2016-05-26 |
Family
ID=56013441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/080665 WO2016079828A1 (en) | 2014-11-19 | 2014-11-19 | User interface system for hit operation, operation signal analyzing method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6064111B2 (en) |
WO (1) | WO2016079828A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101831295B1 (en) * | 2016-07-21 | 2018-02-22 | 주식회사 네시삼십삼분 | Method and apparatus for recognizing touch signal of mobile device |
WO2019130966A1 (en) * | 2017-12-28 | 2019-07-04 | 株式会社バンダイナムコエンターテインメント | Computer device and evaluation control method |
CN110382064A (en) * | 2016-10-17 | 2019-10-25 | 阿奎默有限公司 | The method and system of game is controlled for using the sensor of control device |
CN110520833A (en) * | 2017-05-09 | 2019-11-29 | 华为技术有限公司 | A kind of VR drawing practice, equipment and system |
WO2021130937A1 (en) * | 2019-12-25 | 2021-07-01 | ソニーグループ株式会社 | Information processing device, program, and method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008067877A (en) * | 2006-09-13 | 2008-03-27 | Nintendo Co Ltd | Game device and game program |
JP2009172010A (en) * | 2008-01-21 | 2009-08-06 | Nintendo Co Ltd | Information processing program and information processor |
JP2009536765A (en) * | 2006-05-08 | 2009-10-15 | 任天堂株式会社 | System and method for detecting timing of swing impact and / or strength of swing based on accelerometer data |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4668236B2 (en) * | 2007-05-01 | 2011-04-13 | 任天堂株式会社 | Information processing program and information processing apparatus |
JP2012181616A (en) * | 2011-02-28 | 2012-09-20 | Namco Bandai Games Inc | Program, information storage medium, game device and server system |
-
2014
- 2014-11-19 WO PCT/JP2014/080665 patent/WO2016079828A1/en active Application Filing
- 2014-11-19 JP JP2015551885A patent/JP6064111B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009536765A (en) * | 2006-05-08 | 2009-10-15 | 任天堂株式会社 | System and method for detecting timing of swing impact and / or strength of swing based on accelerometer data |
JP2008067877A (en) * | 2006-09-13 | 2008-03-27 | Nintendo Co Ltd | Game device and game program |
JP2009172010A (en) * | 2008-01-21 | 2009-08-06 | Nintendo Co Ltd | Information processing program and information processor |
Non-Patent Citations (2)
Title |
---|
"Fuji TV x Eagle Dai 22 Dan Application", ANGRY BOXER' RELEASE NO OSHIRASE - EAGLE KABUSHIKI KAISHA NO PRESS RELEASE, 26 April 2011 (2011-04-26), Retrieved from the Internet <URL:http://www.value-press.com/pressrelease/76807> [retrieved on 20150303] * |
"Gachinko Heroes Software Manual", 13 April 2011 (2011-04-13), pages 12 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101831295B1 (en) * | 2016-07-21 | 2018-02-22 | 주식회사 네시삼십삼분 | Method and apparatus for recognizing touch signal of mobile device |
CN110382064A (en) * | 2016-10-17 | 2019-10-25 | 阿奎默有限公司 | The method and system of game is controlled for using the sensor of control device |
CN110520833A (en) * | 2017-05-09 | 2019-11-29 | 华为技术有限公司 | A kind of VR drawing practice, equipment and system |
CN110520833B (en) * | 2017-05-09 | 2020-12-08 | 华为技术有限公司 | VR (virtual reality) drawing method, equipment and system |
WO2019130966A1 (en) * | 2017-12-28 | 2019-07-04 | 株式会社バンダイナムコエンターテインメント | Computer device and evaluation control method |
JP2019118549A (en) * | 2017-12-28 | 2019-07-22 | 株式会社バンダイナムコエンターテインメント | Program and game device |
WO2021130937A1 (en) * | 2019-12-25 | 2021-07-01 | ソニーグループ株式会社 | Information processing device, program, and method |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016079828A1 (en) | 2017-04-27 |
JP6064111B2 (en) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240058691A1 (en) | Method and system for using sensors of a control device for control of a game | |
US8686939B2 (en) | System, method, and apparatus for three-dimensional input control | |
US10357714B2 (en) | Gesture-based user interface for navigating a menu | |
US9682320B2 (en) | Inertially trackable hand-held controller | |
JP6064111B2 (en) | User interface system, operation signal analysis method and program for batting operation | |
EP2921212A1 (en) | Systems and methods for a shared haptic experience | |
US20100203969A1 (en) | Game device, game program and game object operation method | |
JP4412716B2 (en) | GAME DEVICE, PROGRAM, AND INFORMATION STORAGE MEDIUM | |
US20110172017A1 (en) | Game machine, game program, and game machine control method | |
WO2019131690A1 (en) | Game device, control method, control program, and computer-readable recording medium having control program recorded therein | |
CN107930114A (en) | Information processing method and device, storage medium, electronic equipment | |
JP6115908B2 (en) | Operation signal input unit, operation signal input method and operation signal input program for information processing terminal | |
US9126110B2 (en) | Control device, control method, and program for moving position of target in response to input operation | |
US20230191253A1 (en) | Information processing system, non-transitory computer-readable storage medium having stored therein program, information processing apparatus, and information processing method | |
JP6672401B2 (en) | Game program, method, and information processing device | |
KR20190038730A (en) | Apparatus, method and computer for controlling a virtual cricket game | |
JP2020110603A (en) | Game program, method, and information processing unit | |
JP6360872B2 (en) | GAME PROGRAM, METHOD, AND INFORMATION PROCESSING DEVICE | |
JP2020110453A (en) | Game program, method, and information processing device | |
JP7344354B2 (en) | Information processing program, information processing device, information processing method, and information processing system | |
JP2018161513A (en) | Game program, method, and information processing unit | |
JP7337732B2 (en) | program | |
JP6307651B1 (en) | GAME PROGRAM, METHOD, AND INFORMATION PROCESSING DEVICE | |
JP2024111467A (en) | Program and information processing system | |
JP2018187360A (en) | Game program, method and information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2015551885 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14906612 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14906612 Country of ref document: EP Kind code of ref document: A1 |