JP6670028B1 - Information processing system, information processing program, information processing apparatus, and information processing method - Google Patents

Information processing system, information processing program, information processing apparatus, and information processing method Download PDF

Info

Publication number
JP6670028B1
JP6670028B1 JP2019132903A JP2019132903A JP6670028B1 JP 6670028 B1 JP6670028 B1 JP 6670028B1 JP 2019132903 A JP2019132903 A JP 2019132903A JP 2019132903 A JP2019132903 A JP 2019132903A JP 6670028 B1 JP6670028 B1 JP 6670028B1
Authority
JP
Japan
Prior art keywords
sensor
output
movement
user
virtual object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019132903A
Other languages
Japanese (ja)
Other versions
JP2021018526A (en
Inventor
慎治 北原
慎治 北原
山崎 淳司
淳司 山崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2019132903A priority Critical patent/JP6670028B1/en
Priority to US16/702,177 priority patent/US10987572B2/en
Application granted granted Critical
Publication of JP6670028B1 publication Critical patent/JP6670028B1/en
Publication of JP2021018526A publication Critical patent/JP2021018526A/en
Priority to US17/210,041 priority patent/US11446564B2/en
Priority to US17/887,561 priority patent/US20220387883A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • A63F13/245Constructional details thereof, e.g. game controllers with detachable joystick handles specially adapted to a particular type of game, e.g. steering wheels
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1006Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals having additional degrees of freedom
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • A63F2300/1031Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection using a wireless connection, e.g. Bluetooth, infrared connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1043Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details

Abstract

【課題】装置を操作するユーザに全身を用いた運動を促すことを可能とする情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法を提供する。【解決手段】第1センサがユーザの下半身に装着される第1装置の動きを検知し、第2センサがユーザの上半身に装着またはユーザの手に把持される第2装置の動きを検知する。そして、受信した第1センサの出力と第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる。【選択図】図18PROBLEM TO BE SOLVED: To provide an information processing system, an information processing program, an information processing device, and an information processing method capable of urging a user who operates the device to exercise using the whole body. A first sensor detects a movement of a first device worn on the lower half of the user, and a second sensor detects a movement of a second device worn on the upper half of the user or gripped by the user's hand. Then, while the received output of the first sensor and the received output of the second sensor both satisfy the predetermined condition, the virtual object continues the first predetermined motion in the virtual space. [Selection diagram] FIG.

Description

本発明は、ユーザ操作に応じて仮想オブジェクトを動作させる処理を行う情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法に関する。   The present invention relates to an information processing system, an information processing program, an information processing apparatus, and an information processing method for performing a process of operating a virtual object in response to a user operation.

従来、ユーザに把持される装置の出力とユーザの足で踏まれる装置の出力とを用いたゲーム処理が実行可能な情報処理装置が開示されている(例えば、特許文献1参照)。   2. Description of the Related Art Conventionally, an information processing apparatus capable of executing a game process using an output of a device held by a user and an output of a device stepped on by a user's foot has been disclosed (for example, see Patent Document 1).

特開2008−49117号公報JP 2008-49117 A

しかしながら、上記特許文献1で開示された情報処理装置では、把持される装置からの出力と、足で踏まれる装置からの出力とは、それぞれ個別にゲーム制御に利用されており、当該装置を操作するユーザに全身を用いた運動を促すという点においては改良の余地がある。   However, in the information processing device disclosed in Patent Document 1, the output from the device to be gripped and the output from the device to be stepped on are individually used for game control. There is room for improvement in encouraging users to exercise with the whole body.

それ故に、本発明の目的は、装置を操作するユーザに全身を用いた運動を促すことを可能とする情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法を提供することである。   Therefore, an object of the present invention is to provide an information processing system, an information processing program, an information processing apparatus, and an information processing method that enable a user who operates the apparatus to encourage exercise using the whole body.

上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。   In order to achieve the above object, the present invention may employ, for example, the following configurations. In interpreting the description of the claims, it is understood that the scope of the claims should be interpreted only by the description of the claims, and the description of the claims and the description in this column are inconsistent. In that case, the description in the claims prevails.

本発明の情報処理システムの一構成例は、第1装置、第2装置、および情報処理装置を含む。第1装置は、第1センサおよび第1送信部を備える。第1センサは、ユーザの下半身に装着される当該第1装置の動きを検知する。第1送信部は、第1センサの出力を送信する。第2装置は、第2センサおよび第2送信部を備える。第2センサは、ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する。第2送信部は、第2センサの出力を送信する。情報処理装置は、受信部および制御部を備える。受信部は、第1センサおよび第2センサから送信される出力を受信する。制御部は、受信した第1センサの出力と第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる。   One configuration example of the information processing system of the present invention includes a first device, a second device, and an information processing device. The first device includes a first sensor and a first transmission unit. The first sensor detects a movement of the first device mounted on the lower body of the user. The first transmission unit transmits an output of the first sensor. The second device includes a second sensor and a second transmitting unit. The second sensor detects a movement of the second device which is worn on the upper body of the user or held by the user's hand. The second transmission unit transmits an output of the second sensor. The information processing device includes a receiving unit and a control unit. The receiving unit receives outputs transmitted from the first sensor and the second sensor. The control unit causes the virtual object to continue the first predetermined operation in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy the predetermined condition.

上記によれば、ユーザの全身を使った操作を促進することができる。また、第1装置および第2装置の出力の両方の組み合わせを用いて、仮想オブジェクトの動作制御ができるため、仮想オブジェクトが実現可能な動作の種類を増加させることができる。   According to the above, the operation using the whole body of the user can be promoted. In addition, since the operation of the virtual object can be controlled using a combination of both the outputs of the first device and the second device, the types of operations that can be realized by the virtual object can be increased.

また、上記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動でもよい。   Further, the first predetermined operation of the virtual object may be movement of the virtual object in a virtual space.

上記によれば、仮想オブジェクトを移動させる際にユーザの下半身だけでなく上半身の動きも必要とすることで、ユーザの全身の動きによる操作を促進することができ、現実に歩くときに上半身も動く状態に近づけることができる。   According to the above, when the virtual object is moved, not only the movement of the user's lower body but also the movement of the upper body is required, so that the operation by the movement of the whole body of the user can be promoted, and the upper body also moves when walking in reality It can approach the state.

また、上記制御部は、第1装置が動いていることを第1センサから送信される出力が示し、かつ、第2装置が動いていることを第2センサから送信される出力が示している間、仮想オブジェクトの移動を継続させてもよい。   In the control unit, the output transmitted from the first sensor indicates that the first device is moving, and the output transmitted from the second sensor indicates that the second device is moving. Meanwhile, the movement of the virtual object may be continued.

上記によれば、仮想オブジェクトの移動を継続させるために、ユーザの全身の動きを継続させることを促すことができる。   According to the above, in order to continue the movement of the virtual object, it is possible to encourage the user to continue the whole body movement.

また、上記制御部は、第1センサの出力と第2センサの出力とが何れも所定条件を満たして仮想オブジェクトの移動が継続している状態において、さらに当該第2センサの出力に基づいて、当該仮想オブジェクトに当該移動を継続させながら第2の所定動作をさせてもよい。   Further, in a state in which the output of the first sensor and the output of the second sensor both satisfy the predetermined condition and the movement of the virtual object is continued, the control unit further includes, based on the output of the second sensor, The second predetermined operation may be performed while continuing the movement of the virtual object.

上記によれば、第1および第2センサ出力に基づいて仮想オブジェクトを移動させつつ、第2センサのみに基づく異なる仮想オブジェクトの動作も可能とすることで、仮想オブジェクトの動作の幅を広げてゲーム性を高めることができる。また、仮想オブジェクトの移動とは異なる動作を要する操作を必要とすることによって、ユーザの全身を用いた操作をさせつつさらに別の操作を促すことができる。   According to the above, while moving the virtual object based on the first and second sensor outputs, it is also possible to operate a different virtual object based only on the second sensor, thereby expanding the range of operation of the virtual object. Can be enhanced. Further, since an operation requiring an operation different from the movement of the virtual object is required, it is possible to prompt the user to perform another operation while performing an operation using the whole body of the user.

また、上記制御部は、第1センサの出力と第2センサの出力とのうち、第2センサの出力のみに基づいて、仮想オブジェクトに第2の所定動作をさせてもよい。   In addition, the control unit may cause the virtual object to perform the second predetermined operation based on only the output of the second sensor among the outputs of the first sensor and the output of the second sensor.

上記によれば、仮想オブジェクトの移動とは異なる動作を要する操作による制御を単純にすることができ、当該操作の難易度も抑えることができる。   According to the above, control by an operation requiring an operation different from the movement of the virtual object can be simplified, and the difficulty of the operation can be suppressed.

また、上記制御部は、第1センサの出力と第2センサの出力とが何れも所定条件を満たして仮想オブジェクトの移動が継続している状態において、第1センサの出力と第2センサの出力とのうち、さらに当該第1センサの出力のみに基づいて、当該仮想オブジェクトの移動速度を変化させてもよい。   Further, the control unit is configured to control the output of the first sensor and the output of the second sensor in a state where the output of the first sensor and the output of the second sensor both satisfy a predetermined condition and the movement of the virtual object is continued. The moving speed of the virtual object may be changed based only on the output of the first sensor.

上記によれば、下半身を用いた操作に合わせて仮想オブジェクトの移動速度が変化するためにユーザの操作感覚における違和感を低減することができる。また、第2センサは、ユーザの下半身を用いた操作とは異なる操作に応じた出力を行うために当該異なる操作によって動かされる可能性があるところ、移動速度の制御が当該出力に基づかないため、ユーザが意図せず移動速度が変化することを抑制することができる。   According to the above, since the moving speed of the virtual object changes in accordance with the operation using the lower body, it is possible to reduce discomfort in the user's operational feeling. Further, the second sensor may be moved by the different operation to perform an output corresponding to an operation different from the operation using the lower body of the user, but since the control of the moving speed is not based on the output, It is possible to prevent the movement speed from being changed unintentionally by the user.

また、上記制御部は、仮想空間内で仮想オブジェクトが移動を停止している状態において、所定条件とは異なる動き出し条件を受信した第1センサの出力と第2センサの出力とが何れも満たす場合、仮想空間内における当該仮想オブジェクトの移動を開始させてもよい。   Further, the control unit may be configured such that, in a state where the virtual object has stopped moving in the virtual space, both the output of the first sensor and the output of the second sensor that have received a movement start condition different from the predetermined condition are satisfied. Alternatively, the movement of the virtual object in the virtual space may be started.

上記によれば、ユーザが既に動いて仮想オブジェクトが既に移動を開始している状況において、ユーザおよび仮想オブジェクトが停止している状態から移動を開始するときのセンサ出力の判定条件とは異なる条件を設定することによって、それぞれの状況に応じた適切な動作判定が可能となる。   According to the above, in a situation where the user has already moved and the virtual object has already started moving, a condition different from the sensor output determination condition when the user and the virtual object start moving from a stopped state is set. By making the setting, it is possible to make an appropriate operation determination according to each situation.

また、上記仮想空間内における仮想オブジェクトの移動動作には、相対的に移動速度が遅い歩き動作と相対的に移動速度が速いジョギング動作とが少なくとも含まれてもよい。この場合、上記制御部は、仮想空間内で仮想オブジェクトが移動を停止している状態において、第1期間分の第1センサの出力および第2センサの出力を用いて、仮想空間内における当該仮想オブジェクトの移動を開始させる際の動作を歩き動作とするかジョギング動作とするかを判別し、仮想空間内で仮想オブジェクトが移動を継続している状態において、第1期間よりも長い第2期間分の第1センサの出力および第2センサの出力を用いて、仮想空間内における当該仮想オブジェクトの移動動作を歩き動作とするかジョギング動作とするかを判別してもよい。   The moving operation of the virtual object in the virtual space may include at least a walking operation having a relatively low moving speed and a jogging operation having a relatively high moving speed. In this case, in a state where the virtual object has stopped moving in the virtual space, the control unit uses the output of the first sensor and the output of the second sensor for the first period to generate the virtual object in the virtual space. It is determined whether the movement at the time of starting the movement of the object is a walking movement or a jogging movement. In a state in which the virtual object continues to move in the virtual space, the movement is performed for a second period longer than the first period. The output of the first sensor and the output of the second sensor may be used to determine whether the movement operation of the virtual object in the virtual space is a walking operation or a jogging operation.

上記によれば、ユーザおよび仮想オブジェクトが停止している状態から移動を開始するときのセンサ出力の判定を相対的に早期に行うことが可能となり、当該状況におけるユーザの違和感を低減することができる。   According to the above, it is possible to relatively early determine the sensor output when the user and the virtual object start moving from a stopped state, and it is possible to reduce a user's discomfort in the situation. .

また、上記第1センサは、第1装置に作用する角速度を少なくとも検知可能でもよい。上記制御部は、受信した第1センサが検知した角速度を少なくとも用いて、仮想空間内で仮想オブジェクトが移動を停止している状態において、仮想空間内における当該仮想オブジェクトの移動開始に関する判定を行ってもよい。   Further, the first sensor may be capable of detecting at least an angular velocity acting on the first device. The control unit uses at least the received angular velocity detected by the first sensor to determine a start of movement of the virtual object in the virtual space in a state where the virtual object stops moving in the virtual space. Is also good.

上記によれば、加速度だけでは判定が難しい状況においても正確な判定を行うことができる。   According to the above, accurate determination can be performed even in a situation where determination is difficult only with acceleration.

また、上記仮想空間内における仮想オブジェクトの移動動作には、相対的に移動速度が遅い歩き動作と相対的に移動速度が速いジョギング動作とが少なくとも含まれてもよい。上記第1センサは、第1装置に作用する角速度および加速度を少なくとも検知可能でもよい。この場合、上記制御部は、受信した第1センサが検知した加速度を用いて、ジョギング動作中の仮想オブジェクトの移動速度を制御し、受信した第1センサが検知した角速度を用いて、仮想オブジェクトの歩き操動作とジョギング動作とを切り替えてもよい。   The moving operation of the virtual object in the virtual space may include at least a walking operation having a relatively low moving speed and a jogging operation having a relatively high moving speed. The first sensor may be capable of detecting at least an angular velocity and an acceleration acting on the first device. In this case, the control unit controls the movement speed of the virtual object during the jogging operation using the received acceleration detected by the first sensor, and uses the received angular speed of the virtual object to detect the movement of the virtual object. You may switch between a walking operation and a jogging operation.

上記によれば、移動動作の種類の切り替えと移動速度の調整とにおいて異なる制御を採用することによって、それぞれの特性に応じたきめ細かい制御が可能となる。   According to the above, fine control can be performed in accordance with each characteristic by adopting different controls for switching the type of the moving operation and adjusting the moving speed.

また、上記第1センサは、第1装置に作用する角速度および加速度を少なくとも検知可能でもよい。上記制御部は、モード切替部を含んでもよい。モード切替部は、第1装置に作用する加速度が変化することを用いて仮想オブジェクトの移動制御を行う第1モードと第1装置に作用する加速度以外のパラメータが変化することを用いて仮想オブジェクトの移動制御を行う第2モードとを切り替える。上記制御部は、第1モードにおいて第1センサが検知した加速度の変化量に応じて仮想オブジェクトの移動速度を変化させ、第2モードにおいて第1センサが検知した角速度の変化量に応じて仮想オブジェクトの移動速度を変化させてもよい。   The first sensor may be capable of detecting at least an angular velocity and an acceleration acting on the first device. The control unit may include a mode switching unit. The mode switching unit is configured to control the movement of the virtual object by using a change in the acceleration acting on the first device, and to change the parameter of the virtual object by using a parameter other than the acceleration acting on the first device. The mode is switched to the second mode for performing the movement control. The control unit changes the moving speed of the virtual object according to the change in acceleration detected by the first sensor in the first mode, and changes the virtual object in accordance with the change in angular velocity detected by the first sensor in the second mode. May be changed.

上記によれば、ユーザの運動量を適切に反映することが可能となり、例えば操作音の低減を目的としたユーザの運動態様であっても、運動の強弱を適切に判別することができる。   According to the above, it is possible to appropriately reflect the amount of exercise of the user, and for example, even in the exercise mode of the user for the purpose of reducing the operation sound, it is possible to appropriately determine the intensity of the exercise.

また、上記仮想空間内における仮想オブジェクトの移動動作には、相対的に移動速度が遅い低速移動動作と相対的に移動速度が速い高速移動動作とが少なくとも含まれてもよい。上記制御部は、閾値設定部を含んでもよい。閾値設定部は、仮想オブジェクトに低速移動動作および高速移動動作をそれぞれさせるための操作を第1装置および第2装置を用いるユーザに促し、それぞれ行われた当該操作による当該第1装置の第1センサおよび当該第2装置の第2センサの出力に基づいて、低速移動動作をさせるための操作と高速移動動作をさせるための操作とを区別するための閾値を設定する。上記制御部は、仮想空間内で仮想オブジェクトが移動を継続している状態において、受信した第1センサの出力および第2センサの出力と閾値とを用いて、仮想空間内における当該仮想オブジェクトの移動動作が低速移動動作か高速移動動作かを判別してもよい。   In addition, the movement operation of the virtual object in the virtual space may include at least a low-speed movement operation having a relatively low movement speed and a high-speed movement operation having a relatively high movement speed. The control unit may include a threshold setting unit. The threshold setting unit urges the user using the first device and the second device to perform an operation for causing the virtual object to perform the low-speed movement operation and the high-speed movement operation, respectively, and the first sensor of the first device according to the operation performed. And setting a threshold for distinguishing an operation for performing a low-speed movement operation from an operation for performing a high-speed movement operation based on an output of the second sensor of the second device. The control unit moves the virtual object in the virtual space using the received output of the first sensor and the output of the second sensor and the threshold value in a state where the virtual object continues to move in the virtual space. It may be determined whether the operation is a low-speed movement operation or a high-speed movement operation.

上記によれば、ユーザの運動能力に合わせた制御が可能となる。   According to the above, control according to the exercise ability of the user can be performed.

また、上記仮想オブジェクトは、足または手の動きによって仮想空間内における移動が実現するように表現されてもよい。上記制御部は、タイミング決定手段を含んでもよい。タイミング決定手段は、仮想空間内で仮想オブジェクトが移動を継続している状態において、第1センサの出力および/または第2センサの出力を用いて当該仮想オブジェクトの足または手の動作タイミングを決定する。   Further, the virtual object may be expressed such that movement in a virtual space is realized by movement of a foot or a hand. The control unit may include timing determination means. The timing determining means determines the motion timing of the foot or hand of the virtual object using the output of the first sensor and / or the output of the second sensor while the virtual object continues to move in the virtual space. .

上記によれば、ユーザの動きと仮想オブジェクトの動きとを同期させることが可能となり、仮想オブジェクトの移動そのものの判定と、仮想オブジェクトをどのように描写するかという判定とを別にすることによって、移動そのものと移動態様とを実際のユーザの動きに合わせたものとして描写されていることを両立することができる。   According to the above, the movement of the user and the movement of the virtual object can be synchronized, and the movement of the virtual object can be determined separately from the determination of the movement of the virtual object and the determination of how to draw the virtual object. It is possible to achieve both the image itself and the movement mode as being drawn in accordance with the actual movement of the user.

また、上記タイミング決定手段は、第1センサの出力を用いて当該仮想オブジェクトの足の動作タイミングを決定し、第2センサの出力を用いて当該仮想オブジェクトの手の動作タイミングを決定してもよい。   Further, the timing determination means may determine the motion timing of the foot of the virtual object using the output of the first sensor, and may determine the motion timing of the hand of the virtual object using the output of the second sensor. .

上記によれば、仮想オブジェクトの足の動作の判定と手の動作の判定とを異なるセンサ出力を用いて行い、それらの判定に基づいて仮想オブジェクトの描写をそれぞれ行うことによって、ユーザの上半身および下半身の動きとそれぞれ同期させて仮想オブジェクトを描写することができる。   According to the above, the determination of the motion of the foot of the virtual object and the determination of the motion of the hand are performed using different sensor outputs, and the rendering of the virtual object is performed based on those determinations. Virtual objects can be described in synchronization with the movements of the virtual objects.

また、上記第1装置は、ユーザの股に装着されてもよい。上記タイミング決定手段は、第1センサの出力が示す第1装置の傾き変化を用いて当該仮想オブジェクトの足の動作タイミングを決定してもよい。   Further, the first device may be worn on a user's crotch. The timing determination means may determine the motion timing of the foot of the virtual object using a change in the inclination of the first device indicated by the output of the first sensor.

上記によれば、第1装置の第1センサによって、ユーザの股の上げ下げを容易に監視することができ、当該股の動きと相関のよい仮想オブジェクトの描写が可能となる。   According to the above, the first sensor of the first device makes it possible to easily monitor the raising and lowering of the user's crotch, and to render a virtual object having a good correlation with the movement of the crotch.

また、上記第2の所定動作は、仮想空間内での移動を継続している状態において、仮想オブジェクトの少なくとも上半身の向きを変化させる動作でもよい。上記第2センサは、第2装置に作用する角速度および加速度を少なくとも検知可能でもよい。上記制御部は、受信した第2センサが検知した角速度および加速度の両方を示す出力を用いて、第2の所定動作を制御してもよい。   Further, the second predetermined operation may be an operation of changing the direction of at least the upper body of the virtual object in a state where the movement in the virtual space is continued. The second sensor may be capable of detecting at least an angular velocity and an acceleration acting on the second device. The control unit may control the second predetermined operation using the received output indicating both the angular velocity and the acceleration detected by the second sensor.

上記によれば、ユーザの上半身の動きに応じて生じる角速度および加速度の両方を用いて、仮想オブジェクトの向きが変化するため、正確に仮想オブジェクトの向きを制御することができる。   According to the above, since the direction of the virtual object changes using both the angular velocity and the acceleration generated according to the movement of the upper body of the user, the direction of the virtual object can be accurately controlled.

また、本発明は、情報処理プログラム、情報処理装置、および情報処理方法の形態で実施されてもよい。   Further, the present invention may be embodied in the form of an information processing program, an information processing device, and an information processing method.

本発明によれば、ユーザの全身を使った操作を促進することができる。また、第1装置および第2装置の出力の両方の組み合わせを用いて、仮想オブジェクトの動作制御ができるため、仮想オブジェクトが実現可能な動作の種類を増加させることができる。   According to the present invention, an operation using the whole body of the user can be promoted. In addition, since the operation of the virtual object can be controlled using a combination of both the outputs of the first device and the second device, the types of operations that can be realized by the virtual object can be increased.

ゲームシステム1に含まれる各装置の一例を示す図The figure which shows an example of each apparatus contained in the game system 1. 本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図FIG. 3 is a diagram illustrating an example of a state in which a left controller 3 and a right controller 4 are mounted on the main device 2. 本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図FIG. 3 is a diagram illustrating an example of a state in which a left controller 3 and a right controller 4 are removed from the main device 2. 本体装置2の一例を示す六面図Six views showing an example of main device 2 左コントローラ3の一例を示す六面図Six views showing an example of the left controller 3 右コントローラ4の一例を示す六面図Six views showing an example of the right controller 4 本体装置2の内部構成の一例を示すブロック図FIG. 2 is a block diagram showing an example of an internal configuration of the main device 2. 本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図FIG. 2 is a block diagram illustrating an example of an internal configuration of the main body device 2 and the left controller 3 and the right controller 4. リング型拡張装置の一例を示す図Diagram showing an example of a ring type expansion device リング型拡張装置5が備える構成要素の電気的な接続関係を示すブロック図FIG. 2 is a block diagram showing an electrical connection relationship of components included in the ring type expansion device 5. ベルト型拡張装置の一例を示す図Diagram showing an example of a belt-type extension device リング型拡張装置5およびベルト型拡張装置6をユーザが使用する様子の一例を示す図FIG. 4 is a diagram illustrating an example of a state in which a user uses a ring-type expansion device 5 and a belt-type expansion device 6. ユーザの足踏み操作に応じて据置型モニタ9に表示されるゲーム画像の一例を示す図The figure which shows an example of the game image displayed on the stationary monitor 9 according to the stepping operation of the user. ユーザの足踏み操作に応じた左コントローラ3本体および右コントローラ4本体の動作の一例を示す図The figure which shows an example of operation | movement of the left controller 3 main body and the right controller 4 main body according to a user's step operation. ユーザがリング型拡張装置5の向き(リング方向)による操作を行う一例を示す図The figure which shows an example in which a user performs operation by the direction (ring direction) of the ring type expansion device 5. リング型拡張装置5の向きによる操作が行われる際のリング型拡張装置5の動きの一例を示す図The figure which shows an example of the movement of the ring type expansion device 5 when the operation by the direction of the ring type expansion device 5 is performed. 本体装置2のDRAM85に設定されるデータ領域の一例を示す図FIG. 4 is a diagram showing an example of a data area set in a DRAM 85 of the main device 2. ゲームシステム1で実行される情報処理の一例を示すフローチャートFlowchart showing an example of information processing executed in the game system 1 図18におけるステップS105において行われる動き出し時処理の詳細な一例を示すサブルーチンSubroutine showing a detailed example of the process at the time of starting performed in step S105 in FIG. 図18におけるステップS107において行われるユーザ動作判定処理の詳細な一例を示すサブルーチンSubroutine showing a detailed example of the user operation determination process performed in step S107 in FIG. 図18におけるステップS108において行われる移動時判定処理の詳細な一例を示すサブルーチンSubroutine showing a detailed example of the movement determination processing performed in step S108 in FIG. 図21におけるステップS107において行われるオブジェクト変形処理の詳細な一例を示すサブルーチンSubroutine showing a detailed example of the object deformation processing performed in step S107 in FIG. 図18におけるステップS111において行われる停止判定処理の詳細な一例を示すサブルーチンSubroutine showing a detailed example of the stop determination processing performed in step S111 in FIG. 図18におけるステップS112において行われるリング方向判定処理の詳細な一例を示すサブルーチンSubroutine showing a detailed example of the ring direction determination process performed in step S112 in FIG.

以下、本実施形態の一例に係る情報処理システムについて説明する。本実施形態における情報処理システムは、一例としてゲームシステム1を用いている。図1は、ゲームシステム1に含まれる各装置の一例を示す図である。図1に示すように、ゲームシステム1は、本体装置2と、左コントローラ3および右コントローラ4と、リング型拡張装置5と、ベルト型拡張装置6とを含む。   Hereinafter, an information processing system according to an example of the present embodiment will be described. The information processing system according to the present embodiment uses the game system 1 as an example. FIG. 1 is a diagram illustrating an example of each device included in the game system 1. As shown in FIG. 1, the game system 1 includes a main device 2, a left controller 3 and a right controller 4, a ring-type extension device 5, and a belt-type extension device 6.

本体装置2は、情報処理装置の一例であり、本実施形態ではゲーム機本体として機能する。本体装置2には、左コントローラ3および右コントローラ4がそれぞれ着脱可能である(図1および図3参照)。つまり、ユーザは、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として使用することができる(図2参照)。また、ユーザは、本体装置2と左コントローラ3および右コントローラ4とを別体として使用することもできる(図3参照)。なお、以下においては、本体装置2と各コントローラ3および4とをまとめて、「ゲーム装置」と呼ぶことがある。   The main device 2 is an example of an information processing device, and functions as a game device main body in the present embodiment. A left controller 3 and a right controller 4 are detachably attached to the main body device 2 (see FIGS. 1 and 3). That is, the user can attach the left controller 3 and the right controller 4 to the main device 2 and use them as integrated devices (see FIG. 2). Further, the user can use the main device 2 and the left controller 3 and the right controller 4 separately (see FIG. 3). In the following, the main device 2 and the controllers 3 and 4 may be collectively referred to as a “game device”.

リング型拡張装置5は、右コントローラ4に用いられる拡張装置の一例である。リング型拡張装置5は、右コントローラ4をリング型拡張装置5に装着した状態で使用される。また、ベルト型拡張装置6は、左コントローラ3に用いられる拡張装置の一例である。ベルト型拡張装置6は、左コントローラ3をベルト型拡張装置6に装着した状態で使用される。このように、本実施形態においては、ユーザは、各コントローラ3および4を各拡張装置に装着した状態で使用することもできる(図12参照)。なお、リング型拡張装置5は、右コントローラ4に限らず、左コントローラ3を自身に装着することが可能であってもよい。ベルト型拡張装置6は、左コントローラ3に限らず、右コントローラ4を自身に装着することが可能であってもよい。なお、後述するように、リング型拡張装置5およびベルト型拡張装置6は、右コントローラ4および左コントローラ3それぞれの機能や使用態様を拡張または変更することが可能となる拡張装置として機能するが、それぞれ単に周辺機器として呼称してもかまわない。   The ring type expansion device 5 is an example of an expansion device used for the right controller 4. The ring-type expansion device 5 is used in a state where the right controller 4 is mounted on the ring-type expansion device 5. The belt-type extension device 6 is an example of an extension device used for the left controller 3. The belt-type extension device 6 is used in a state where the left controller 3 is attached to the belt-type extension device 6. As described above, in the present embodiment, the user can use the controllers 3 and 4 in a state where the controllers 3 and 4 are mounted on the respective expansion devices (see FIG. 12). Note that the ring-type expansion device 5 is not limited to the right controller 4 and may be capable of mounting the left controller 3 on itself. The belt-type expansion device 6 may be capable of attaching the right controller 4 to itself without being limited to the left controller 3. As described later, the ring-type expansion device 5 and the belt-type expansion device 6 function as expansion devices that can expand or change the functions and usage modes of the right controller 4 and the left controller 3, respectively. Each of them may be simply referred to as a peripheral device.

図2は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図2に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。   FIG. 2 is a diagram illustrating an example of a state in which the left controller 3 and the right controller 4 are mounted on the main device 2. As shown in FIG. 2, the left controller 3 and the right controller 4 are mounted on the main unit 2 and integrated. The main device 2 is a device that executes various processes (for example, game processes) in the game system 1. The main device 2 includes a display 12. The left controller 3 and the right controller 4 are devices including an operation unit for a user to perform an input.

図3は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図2および図3に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。   FIG. 3 is a diagram illustrating an example of a state in which the left controller 3 and the right controller 4 are removed from the main device 2. As shown in FIGS. 2 and 3, the left controller 3 and the right controller 4 are detachable from the main device 2. In the following, the left controller 3 and the right controller 4 may be collectively referred to as “controller”.

図4は、本体装置2の一例を示す六面図である。図4に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。   FIG. 4 is a six-view drawing showing an example of the main device 2. As shown in FIG. 4, the main body device 2 includes a substantially plate-shaped housing 11. In the present embodiment, the main surface of the housing 11 (in other words, the front surface, that is, the surface on which the display 12 is provided) has a substantially rectangular shape.

また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。   The main device 2 also includes a left terminal 17 that is a terminal for the main device 2 to perform wired communication with the left controller 3 and a right terminal 21 for the main device 2 to perform wired communication with the right controller 4.

図5は、左コントローラ3の一例を示す六面図である。図5に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図2および図5に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。   FIG. 5 is a six-view drawing showing an example of the left controller 3. As shown in FIG. 5, the left controller 3 includes a housing 31. In the present embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the up-down direction (ie, the y-axis direction shown in FIGS. 2 and 5). The left controller 3 can also be gripped in a vertically long orientation when detached from the main device 2. The housing 31 has a shape and a size that can be gripped with one hand, particularly the left hand, when gripped in a vertically elongated direction. Further, the left controller 3 can be held in a horizontally long direction. When the left controller 3 is gripped in a horizontally long direction, the left controller 3 may be gripped with both hands.

左コントローラ3は、アナログスティック32を備える。図5に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。   The left controller 3 includes an analog stick 32. As shown in FIG. 5, the analog stick 32 is provided on the main surface of the housing 31. The analog stick 32 can be used as a direction input unit that can input a direction. By tilting the analog stick 32, the user can input a direction corresponding to the tilt direction (and input a size corresponding to the tilt angle). Note that the left controller 3 may include, as the direction input unit, a cross key or a slide stick capable of performing a slide input, instead of the analog stick. In the present embodiment, an input for pressing the analog stick 32 is possible.

左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33〜36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および−(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。   The left controller 3 has various operation buttons. The left controller 3 includes four operation buttons 33 to 36 (specifically, a right button 33, a down button 34, an up button 35, and a left button 36) on the main surface of the housing 31. Further, the left controller 3 includes a recording button 37 and a-(minus) button 47. The left controller 3 includes a first L button 38 and a ZL button 39 on the upper left side of the housing 31. Further, the left controller 3 includes a second L button 43 and a second R button 44 on a side surface of the housing 31 on a side to be mounted when mounted on the main device 2. These operation buttons are used for giving an instruction according to various programs (for example, an OS program or an application program) executed on the main device 2.

また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。   Further, the left controller 3 includes a terminal 42 through which the left controller 3 performs wired communication with the main device 2.

図6は、右コントローラ4の一例を示す六面図である。図6に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。   FIG. 6 is a six-view drawing showing an example of the right controller 4. As shown in FIG. 6, the right controller 4 includes a housing 51. In the present embodiment, the housing 51 is vertically long, that is, vertically long. The right controller 4 can also be gripped in a vertically long orientation when detached from the main device 2. The housing 51 has a shape and a size that can be gripped with one hand, particularly the right hand, when gripped in a vertically elongated direction. Further, the right controller 4 can be held in a horizontally long direction. When the right controller 4 is held in a horizontally long direction, the right controller 4 may be held with both hands.

右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53〜56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。   Like the left controller 3, the right controller 4 includes an analog stick 52 as a direction input unit. In the present embodiment, the analog stick 52 has the same configuration as the analog stick 32 of the left controller 3. Further, the right controller 4 may include a cross key or a slide stick capable of sliding input, instead of the analog stick. Similarly to the left controller 3, the right controller 4 has four operation buttons 53 to 56 (specifically, an A button 53, a B button 54, an X button 55, and a Y button 56) on the main surface of the housing 51. Is provided. Further, the right controller 4 includes a + (plus) button 57 and a home button 58. Further, the right controller 4 includes a first R button 60 and a ZR button 61 on the upper right side of the side surface of the housing 51. Further, the right controller 4 includes a second L button 65 and a second R button 66, similarly to the left controller 3.

また、ハウジング51の下側面には、窓部68が設けられる。詳細は後述するが、右コントローラ4は、ハウジング51の内部に配置される赤外撮像部123および赤外発光部124を備えている。赤外撮像部123は、右コントローラ4の下方向(図6に示すy軸負方向)を撮像方向として、窓部68を介して右コントローラ4の周囲を撮像する。赤外発光部124は、右コントローラ4の下方向(図6に示すy軸負方向)を中心とする所定範囲を照射範囲として、赤外撮像部123が撮像する撮像対象に窓部68を介して赤外光を照射する。窓部68は、赤外撮像部123のカメラのレンズや赤外発光部124の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質(例えば、透明な材質)で構成される。なお、窓部68は、ハウジング51に形成された孔であってもよい。なお、本実施形態においては、カメラが検知する光(本実施形態においては、赤外光)以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部123自身が有する。ただし、他の実施形態においては、窓部68がフィルタの機能を有していてもよい。   A window 68 is provided on the lower surface of the housing 51. Although details will be described later, the right controller 4 includes an infrared imaging unit 123 and an infrared light emitting unit 124 arranged inside the housing 51. The infrared imaging unit 123 takes an image of the periphery of the right controller 4 via the window 68 with the downward direction of the right controller 4 (the y-axis negative direction shown in FIG. 6) as the imaging direction. The infrared light emitting unit 124 sets a predetermined range centered on a downward direction of the right controller 4 (negative y-axis direction shown in FIG. 6) as an irradiation range, through the window 68 to an imaging target to be imaged by the infrared imaging unit 123. To irradiate infrared light. The window section 68 is for protecting the camera lens of the infrared imaging section 123, the illuminant of the infrared light emitting section 124, and the like, and emits light of a wavelength detected by the camera and light emitted by the illuminant. It is made of a transparent material (for example, a transparent material). The window 68 may be a hole formed in the housing 51. In the present embodiment, the infrared imaging unit 123 itself has a filter member that suppresses transmission of light having a wavelength other than light detected by the camera (in the present embodiment, infrared light). However, in other embodiments, the window 68 may have a function of a filter.

また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。   The right controller 4 includes a terminal 64 for the right controller 4 to perform wired communication with the main device 2.

図7は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図4に示す構成の他、図7に示す各構成要素81〜91、97、および98を備える。これらの構成要素81〜91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。   FIG. 7 is a block diagram illustrating an example of the internal configuration of the main device 2. The main device 2 includes the components 81 to 91, 97, and 98 shown in FIG. 7 in addition to the configuration shown in FIG. Some of these components 81 to 91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in the housing 11.

本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System−on−a−chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。   The main device 2 includes a processor 81. The processor 81 is an information processing unit that executes various types of information processing executed in the main body device 2. For example, the processor 81 may include only a CPU (Central Processing Unit), a CPU function, and a GPU (Graphics Processing Unit). ) It may be constituted by a SoC (System-on-a-chip) including a plurality of functions such as functions. The processor 81 executes an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as the flash memory 84 or an external storage medium mounted in the slot 23). Thereby, various types of information processing are executed.

本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。   The main device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as an example of an internal storage medium built therein. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is a memory mainly used for storing various data (which may be programs) stored in the main device 2. The DRAM 85 is a memory used to temporarily store various data used in information processing.

プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。   The processor 81 executes the above-described information processing by appropriately reading and writing data between the flash memory 84 and the DRAM 85 and each of the storage media.

本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi−Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。   The main device 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 performs communication (specifically, wireless communication) with an external device via a network. In the present embodiment, the network communication unit 82 communicates with an external device by connecting to a wireless LAN by a method based on the Wi-Fi standard as a first communication mode. In addition, the network communication unit 82 performs wireless communication with another main unit 2 of the same type using a predetermined communication method (for example, communication using a unique protocol or infrared communication) as a second communication mode. In the wireless communication according to the second communication mode, wireless communication is possible with another main device 2 disposed in a closed local network area, and direct communication between a plurality of main devices 2 is performed. This realizes a function that enables so-called “local communication” in which data is transmitted and received.

本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。なお、コントローラ通信部83が、受信部の一例に相当する。   The main device 2 includes a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main device 2 and the left controller 3 and the right controller 4 is arbitrary, but in the present embodiment, the controller communication unit 83 communicates between the left controller 3 and the right controller 4 via Bluetooth (Bluetooth). (Registered trademark). Note that the controller communication unit 83 corresponds to an example of a receiving unit.

図8は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図7で示しているため図8では省略している。   FIG. 8 is a block diagram illustrating an example of an internal configuration of the main device 2 and the left controller 3 and the right controller 4. Note that the details of the internal configuration of the main device 2 are shown in FIG. 7 and are not shown in FIG.

左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。図8に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。   The left controller 3 includes a communication control unit 101 that performs communication with the main device 2. As shown in FIG. 8, the communication control unit 101 is connected to each component including the terminal 42. In the present embodiment, the communication control unit 101 can communicate with the main device 2 by both wired communication via the terminal 42 and wireless communication via the terminal 42. The communication control unit 101 controls a communication method performed by the left controller 3 with respect to the main device 2. That is, when the left controller 3 is attached to the main device 2, the communication control unit 101 communicates with the main device 2 via the terminal 42. When the left controller 3 is detached from the main device 2, the communication control unit 101 performs wireless communication with the main device 2 (specifically, the controller communication unit 83). Wireless communication between the controller communication unit 83 and the communication control unit 101 is performed according to, for example, the Bluetooth (registered trademark) standard.

また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。   The left controller 3 includes a memory 102 such as a flash memory. The communication control unit 101 includes, for example, a microcomputer (also referred to as a microprocessor), and executes various processes by executing firmware stored in the memory 102.

左コントローラ3は、各ボタン103(具体的には、ボタン33〜39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図8では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。   The left controller 3 includes the buttons 103 (specifically, the buttons 33 to 39, 43, 44, and 47). Further, the left controller 3 includes an analog stick (described as “stick” in FIG. 8) 32. Each of the buttons 103 and the analog stick 32 repeatedly outputs information on an operation performed on itself to the communication control unit 101 at an appropriate timing.

左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104を備える。また、左コントローラ3は、角速度センサ105を備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、図5に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ105は、所定の3軸(例えば、図5に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。   The left controller 3 includes an inertial sensor. Specifically, the left controller 3 includes an acceleration sensor 104. Further, the left controller 3 includes an angular velocity sensor 105. In the present embodiment, the acceleration sensor 104 detects the magnitude of acceleration along three predetermined axes (for example, xyz axes shown in FIG. 5). Note that the acceleration sensor 104 may detect acceleration in a uniaxial direction or a biaxial direction. In the present embodiment, the angular velocity sensor 105 detects angular velocities around three predetermined axes (for example, xyz axes shown in FIG. 5). Note that the angular velocity sensor 105 may detect an angular velocity around one axis or two axes. The acceleration sensor 104 and the angular velocity sensor 105 are connected to the communication control unit 101, respectively. The detection results of the acceleration sensor 104 and the angular velocity sensor 105 are repeatedly output to the communication control unit 101 at appropriate timing.

通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。   The communication control unit 101 receives input-related information (specifically, operation-related information or a detection result by a sensor) from each input unit (specifically, each button 103, the analog stick 32, and each of the sensors 104 and 105). To get. The communication control unit 101 transmits operation data including the acquired information (or information obtained by subjecting the acquired information to predetermined processing) to the main device 2. The operation data is repeatedly transmitted once a predetermined time. Note that the interval at which the information regarding the input is transmitted to the main device 2 may or may not be the same for each input unit.

上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。   By transmitting the operation data to the main device 2, the main device 2 can obtain an input made to the left controller 3. That is, the main device 2 can determine the operation on each button 103 and the analog stick 32 based on the operation data. The main device 2 can calculate information on the movement and / or posture of the left controller 3 based on the operation data (specifically, the detection results of the acceleration sensor 104 and the angular velocity sensor 105).

左コントローラ3は、振動によってユーザに通知を行うための振動子107を備える。本実施形態においては、振動子107は、本体装置2からの指令によって制御される。   The left controller 3 includes a vibrator 107 for notifying a user by vibration. In the present embodiment, the vibrator 107 is controlled by a command from the main device 2.

左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。   The left controller 3 includes a power supply unit 108. In the present embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and to each unit of the left controller 3 (specifically, each unit that receives power supply from the battery).

図8に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。なお、通信制御部111が、第2送信部の一例に相当する。   As shown in FIG. 8, the right controller 4 includes a communication control unit 111 that communicates with the main device 2. The right controller 4 includes a memory 112 connected to the communication control unit 111. The communication control unit 111 is connected to each component including the terminal 64. The communication control unit 111 and the memory 112 have the same functions as the communication control unit 101 and the memory 102 of the left controller 3. Therefore, the communication control unit 111 communicates with the main device 2 both in the wired communication via the terminal 64 and in the wireless communication without the terminal 64 (specifically, communication conforming to the Bluetooth (registered trademark) standard). Communication can be performed, and the right controller 4 controls a communication method performed with respect to the main device 2. Note that the communication control unit 111 corresponds to an example of a second transmission unit.

右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52、慣性センサ(加速度センサ114および角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。   The right controller 4 includes input units similar to the input units of the left controller 3. Specifically, it includes each button 113, analog stick 52, and inertial sensors (acceleration sensor 114 and angular velocity sensor 115). These input units have functions similar to those of the input units of the left controller 3 and operate similarly.

また、右コントローラ4は、左コントローラ3と同様、振動子117を備える。   Further, the right controller 4 includes a vibrator 117 as in the left controller 3.

また、右コントローラ4は、赤外撮像部123を備える。赤外撮像部123は、右コントローラ4の周囲を撮像する赤外線カメラを有する。一例として、本体装置2および/または右コントローラ4は、撮像された情報(例えば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等)を算出し、当該情報に基づいて、右コントローラ4の周囲変化を判別する。また、赤外撮像部123は、環境光によって撮像を行ってもよいが、本実施形態においては、赤外線を照射する赤外発光部124を有する。赤外発光部124は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部124によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部123は、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部123と赤外発光部124とは、それぞれ別のデバイスとして右コントローラ4内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ4内に設けられてもよい。また、本実施形態においては、赤外線カメラを有する赤外撮像部123が用いられるが、他の実施形態においては、撮像手段として、赤外線カメラに代えて可視光カメラ(可視光イメージセンサを用いたカメラ)が用いられてもよい。   The right controller 4 includes an infrared imaging unit 123. The infrared imaging unit 123 includes an infrared camera that captures an image around the right controller 4. As an example, the main device 2 and / or the right controller 4 calculates the captured information (for example, information related to the brightness of a plurality of blocks obtained by dividing at least a part of the entire region in the captured image). Then, a change in the surroundings of the right controller 4 is determined based on the information. In addition, the infrared imaging unit 123 may perform imaging using ambient light. However, in the present embodiment, the infrared imaging unit 123 includes an infrared light emitting unit 124 that emits infrared light. The infrared light emitting unit 124 emits infrared light, for example, in synchronization with the timing at which an infrared camera captures an image. Then, the infrared light emitted by the infrared light emitting unit 124 is reflected by the imaging target, and the reflected infrared light is received by the infrared camera, whereby an infrared image is obtained. Thereby, the infrared imaging unit 123 can obtain a clearer infrared image. The infrared imaging unit 123 and the infrared light emitting unit 124 may be provided in the right controller 4 as separate devices, or may be provided in the right controller 4 as a single device provided in the same package. It may be provided. In the present embodiment, an infrared imaging unit 123 having an infrared camera is used. However, in other embodiments, a visible light camera (a camera using a visible light image sensor instead of an infrared camera) is used as an imaging unit. ) May be used.

右コントローラ4は、処理部121を備える。処理部121は、通信制御部111に接続される。また、処理部121は、赤外撮像部123、および赤外発光部124に接続される。   The right controller 4 includes a processing unit 121. The processing unit 121 is connected to the communication control unit 111. Further, the processing section 121 is connected to the infrared imaging section 123 and the infrared light emitting section 124.

また、処理部121は、CPUやメモリ等を含み、右コントローラ4に備えられた図示しない記憶装置(例えば、不揮発性メモリ等)に記憶された所定のプログラム(例えば、画像処理や各種演算を行うためのアプリケーションプログラム)に基づいて、本体装置2からの指令に応じて赤外撮像部123に対する管理処理を実行する。例えば、処理部121は、赤外撮像部123に撮像動作を行わせたり、撮像結果に基づく情報(撮像画像の情報、あるいは、当該情報から算出される情報等)を取得および/または算出して通信制御部111を介して本体装置2へ送信したりする。また、処理部121は、本体装置2からの指令に応じて赤外発光部124に対する管理処理を実行する。例えば、処理部121は、本体装置2からの指令に応じて赤外発光部124の発光を制御する。なお、処理部121が処理を行う際に用いるメモリは、処理部121内に設けられてもいいし、メモリ112であってもよい。   Further, the processing unit 121 includes a CPU, a memory, and the like, and performs a predetermined program (for example, image processing and various calculations) stored in a storage device (for example, a nonvolatile memory or the like) provided in the right controller 4 (not shown). The management process is performed on the infrared imaging unit 123 in response to a command from the main device 2 based on an application program for the infrared imaging unit 123. For example, the processing unit 121 causes the infrared imaging unit 123 to perform an imaging operation, and obtains and / or calculates information based on an imaging result (information of a captured image or information calculated from the information). The data is transmitted to the main device 2 via the communication control unit 111. In addition, the processing unit 121 performs a management process on the infrared light emitting unit 124 according to a command from the main device 2. For example, the processing unit 121 controls light emission of the infrared light emitting unit 124 according to a command from the main device 2. The memory used when the processing unit 121 performs the processing may be provided in the processing unit 121 or may be the memory 112.

右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。   The right controller 4 includes a power supply unit 118. The power supply unit 118 has the same function as the power supply unit 108 of the left controller 3 and operates similarly.

図9は、リング型拡張装置の一例を示す図である。なお、図9は、右コントローラ4が装着された状態のリング型拡張装置5を示している。本実施形態においては、リング型拡張装置5は、右コントローラ4を装着可能な拡張装置である。詳細は後述するが、本実施形態においては、ユーザは、リング型拡張装置5に力を加えて変形させるという新規な操作を行う。ユーザは、例えばエクササイズを行う感覚でリング型拡張装置5を用いたフィットネス動作を行うことによって、リング型拡張装置5に対する操作を行うことができる。また、ユーザは、例えばリング型拡張装置5を両手で把持した状態で足踏みしたり屈伸したりする動作を行うことによって、リング型拡張装置5に対する操作を行うことができる。さらに、ユーザは、例えばリング型拡張装置5を両手で把持した状態で所望の方向にリング型拡張装置5を向ける動作を行うことによって、リング型拡張装置5に対する操作を行うことができる。なお、ユーザによって把持されるリング型拡張装置5が、第2装置の一例に相当する。また、右コントローラ4に設けられている加速度センサ114および/または角速度センサ115が、第2センサの一例に相当する。   FIG. 9 is a diagram illustrating an example of the ring-type expansion device. FIG. 9 shows the ring-type expansion device 5 with the right controller 4 mounted. In the present embodiment, the ring type expansion device 5 is an expansion device to which the right controller 4 can be attached. Although details will be described later, in the present embodiment, the user performs a new operation of applying a force to the ring-type expansion device 5 to deform it. For example, the user can perform an operation on the ring-type expansion device 5 by performing a fitness operation using the ring-type expansion device 5 as if performing an exercise. In addition, the user can perform an operation on the ring-type expansion device 5 by, for example, performing an operation of stepping or bending and stretching while holding the ring-type expansion device 5 with both hands. Further, the user can operate the ring-type expansion device 5 by, for example, performing an operation of pointing the ring-type expansion device 5 in a desired direction while holding the ring-type expansion device 5 with both hands. The ring-type expansion device 5 held by the user corresponds to an example of the second device. Further, the acceleration sensor 114 and / or the angular velocity sensor 115 provided in the right controller 4 correspond to an example of the second sensor.

図9に示すように、リング型拡張装置5は、環状部201と本体部202とを備える。環状部201は、環状の形状を有する。なお、本実施形態においては、環状部201は、後述する弾性部材および台座部によって環状に形成される。本実施形態においては、環状部201は、円環状である。なお、他の実施形態においては、環状部201の形状は、任意であり、例えば楕円環状であってもよい。   As shown in FIG. 9, the ring-type expansion device 5 includes an annular portion 201 and a main body 202. The annular portion 201 has an annular shape. In the present embodiment, the annular portion 201 is formed in an annular shape by an elastic member and a pedestal portion described later. In the present embodiment, the annular portion 201 is annular. In other embodiments, the shape of the annular portion 201 is arbitrary, and may be, for example, an elliptical annular shape.

本体部202は、環状部201に設けられる。本体部202は、図示しないレール部を有する。レール部は、右コントローラ4を装着可能な装着部の一例である。本実施形態においては、レール部は、右コントローラ4のスライダ62(図6参照)に対してスライド可能に係合する。スライダ62がレール部材に対して所定の直線方向(すなわち、スライド方向)に挿入されることで、レール部材に対してスライダ62が当該直線方向にスライド移動が可能な状態でレール部材がスライダ62と係合する。なお、レール部は、コントローラのスライダに対してスライド可能に係合することが可能である点で、本体装置2が有するレール部と同様である。そのため、レール部は、本体装置2が有するレール部と同様の構成であってもよい。   The main body 202 is provided on the annular part 201. The main body 202 has a rail (not shown). The rail section is an example of a mounting section to which the right controller 4 can be mounted. In the present embodiment, the rail portion is slidably engaged with the slider 62 (see FIG. 6) of the right controller 4. When the slider 62 is inserted into the rail member in a predetermined linear direction (that is, the sliding direction), the slider 62 can slide with respect to the rail member in the linear direction. Engage. The rail portion is similar to the rail portion of the main body device 2 in that the rail portion can slidably engage with the slider of the controller. Therefore, the rail section may have the same configuration as the rail section of the main body device 2.

本実施形態においては、右コントローラ4は、係止部63を有する(図6参照)。係止部63は、スライダ62から側方(すなわち、図6に示すz軸正方向)に突出して設けられる。係止部63は、スライダ62の内部の方向へ移動可能であるとともに、上記側方へ突出した状態となる向きに(例えばバネによって)付勢されている。また、レール部には、切欠きが設けられる。スライダ62がレール部の奥まで挿入された状態において、係止部63は、切欠きに係止する。レール部にスライダ62が係合した状態で係止部63が切欠きに係止することによって、本体部202に右コントローラ4が装着される。   In the present embodiment, the right controller 4 has a locking portion 63 (see FIG. 6). The locking portion 63 is provided so as to protrude laterally from the slider 62 (that is, in the positive z-axis direction shown in FIG. 6). The locking portion 63 is movable in the direction of the inside of the slider 62 and is urged (for example, by a spring) in a direction in which the locking portion 63 protrudes to the side. A notch is provided in the rail portion. When the slider 62 is inserted to the depth of the rail, the locking portion 63 is locked in the notch. The right controller 4 is mounted on the main body 202 by locking the locking portion 63 into the notch while the slider 62 is engaged with the rail portion.

なお、右コントローラ4は、押下可能な解除ボタン69を備える(図6参照)。上記係止部63は、解除ボタン69が押下されることに応じて、スライダ62の内部の方向へ移動し、スライダ62に対して突出しない(あるいは、ほとんど突出しない)状態となる。したがって、リング型拡張装置5の本体部202に右コントローラ4が装着された状態において、解除ボタン69が押下されると、係止部63は切欠きに係止しなくなる(あるいは、ほとんど係止しなくなる)。以上より、リング型拡張装置5の本体部202に右コントローラ4が装着される状態において、ユーザは、解除ボタン69を押下することによって右コントローラ4をリング型拡張装置5から容易に取り外すことができる。   The right controller 4 has a release button 69 that can be pressed (see FIG. 6). The locking portion 63 moves toward the inside of the slider 62 in response to the pressing of the release button 69, and does not protrude (or hardly protrudes) from the slider 62. Therefore, when the release button 69 is pressed while the right controller 4 is mounted on the main body 202 of the ring type expansion device 5, the locking portion 63 does not lock in the notch (or almost locks). Disappears). As described above, the user can easily remove the right controller 4 from the ring-type expansion device 5 by pressing the release button 69 in a state where the right controller 4 is attached to the main body 202 of the ring-type expansion device 5. .

図9に示すように、リング型拡張装置5は、グリップカバー203および204を有する。グリップカバー203および204は、ユーザが把持するための部品である。本実施形態においては、グリップカバー203および204は、環状部201に対して取り外し可能である。本実施形態においては、環状部201の左端付近の左把持部分に左グリップカバー203が設けられ、環状部201の右端付近の右把持部分に右グリップカバー204が設けられる。なお、把持部分の数は任意であり、想定される操作方法に応じて、3箇所以上に把持部分が設けられてもよいし、1箇所のみに把持部分が設けられてもよい。また、ゲームの内容(あるいは、ゲームにおいてユーザが行うフィットネス動作の内容)によっては、複数の把持部のうちの特定の把持部のみが片手または両手で把持されることがあってもよい。   As shown in FIG. 9, the ring-type expansion device 5 has grip covers 203 and 204. The grip covers 203 and 204 are parts for the user to hold. In the present embodiment, the grip covers 203 and 204 are detachable from the annular portion 201. In the present embodiment, a left grip cover 203 is provided at a left grip portion near the left end of the annular portion 201, and a right grip cover 204 is provided at a right grip portion near the right end of the annular portion 201. The number of gripping portions is arbitrary, and the gripping portions may be provided at three or more locations, or the gripping portions may be provided only at one location, depending on an assumed operation method. Further, depending on the content of the game (or the content of the fitness operation performed by the user in the game), only a specific gripping portion of the plurality of gripping portions may be gripped with one hand or both hands.

図10は、リング型拡張装置5が備える構成要素の電気的な接続関係を示すブロック図である。図10に示すように、リング型拡張装置5は、歪み検出部211を備える。歪み検出部211は、環状部201が変形したことを検出する検出部の一例である。本実施形態においては、歪み検出部211は、歪みゲージを含む。歪み検出部211は、後述する弾性部材の変形に応じた台座部の歪みを示す信号(換言すれば、弾性部材の変形の大きさおよび変形の向きを示す信号)を出力する。   FIG. 10 is a block diagram illustrating an electrical connection relationship of components included in the ring-type expansion device 5. As shown in FIG. 10, the ring-type expansion device 5 includes a distortion detection unit 211. The distortion detection unit 211 is an example of a detection unit that detects that the annular unit 201 has been deformed. In the present embodiment, the strain detection unit 211 includes a strain gauge. The distortion detection unit 211 outputs a signal indicating the distortion of the pedestal portion according to the deformation of the elastic member described later (in other words, a signal indicating the magnitude and direction of the deformation of the elastic member).

ここで、本実施形態においては、環状部201は、弾性変形可能な弾性部と台座部とを有する。台座部は、当該台座部と弾性部材とによって環が形成されるように当該弾性部材の両端部を保持する。なお、台座部は、本体部202の内部に設けられるので、図9において図示されていない。台座部は、弾性部材よりも剛性が高い材質で構成される。例えば、弾性部材は、樹脂(具体的には、FRP(Fiber Reinforced Plastics))で構成され、台座部は、金属で構成される。上記歪みゲージは、台座部に設けられ、当該台座部の歪みを検出する。環状部201が定常状態から変形した場合、変形によって台座部に歪みが生じるので、歪みゲージによって台座部の歪みが検出される。検出された歪みに基づいて、環状部201が変形する向き(すなわち、2つのグリップカバー203および204が近づく向き、または、離れる向き)と、変形量とを算出することができる。   Here, in the present embodiment, the annular portion 201 has an elastic portion that can be elastically deformed and a pedestal portion. The pedestal holds both ends of the elastic member such that a ring is formed by the pedestal and the elastic member. Note that the pedestal is not shown in FIG. 9 because it is provided inside the main body 202. The pedestal portion is made of a material having higher rigidity than the elastic member. For example, the elastic member is made of resin (specifically, FRP (Fiber Reinforced Plastics)), and the pedestal part is made of metal. The strain gauge is provided on a pedestal and detects distortion of the pedestal. When the annular portion 201 is deformed from the steady state, the deformation causes distortion in the pedestal portion, and thus the distortion of the pedestal portion is detected by the strain gauge. Based on the detected distortion, the direction in which the annular portion 201 deforms (that is, the direction in which the two grip covers 203 and 204 approach or separate) and the amount of deformation can be calculated.

なお、他の実施例においては、歪み検出部211は、歪みゲージに代えて、環状部201が定常状態から変形したことを検出可能な任意のセンサを含んでもよい。例えば、歪み検出部211は、環状部201が変形した場合に加わる圧力を検出する感圧センサを含んでもよいし、環状部201が曲げられた量を検出する曲げセンサを含んでもよい。   In another embodiment, instead of the strain gauge, the strain detection unit 211 may include an arbitrary sensor capable of detecting that the annular portion 201 has deformed from the steady state. For example, the distortion detecting unit 211 may include a pressure-sensitive sensor that detects a pressure applied when the annular portion 201 is deformed, or may include a bending sensor that detects an amount of bending of the annular portion 201.

リング型拡張装置5は、信号変換部212を備える。本実施形態においては、信号変換部212は、アンプとADコンバータとを含む。信号変換部212は、歪み検出部211に電気的に接続され、歪み検出部211の出力信号をアンプによって増幅し、ADコンバータによってAD変換を行う。信号変換部212は、上記歪み値を示すデジタル信号を出力する。なお、他の実施形態においては、信号変換部212は、ADコンバータを含まず、後述する処理部213がADコンバータを含んでいてもよい。   The ring-type expansion device 5 includes a signal conversion unit 212. In the present embodiment, the signal conversion unit 212 includes an amplifier and an AD converter. The signal conversion unit 212 is electrically connected to the distortion detection unit 211, amplifies the output signal of the distortion detection unit 211 by an amplifier, and performs AD conversion by an AD converter. The signal converter 212 outputs a digital signal indicating the distortion value. Note that, in another embodiment, the signal conversion unit 212 may not include an AD converter, and the processing unit 213 described later may include an AD converter.

リング型拡張装置5は、処理部213を備える。処理部213は、プロセッサとメモリとを備える処理回路であり、例えばMCU(Micro Controller Unit)である。処理部213は、信号変換部212に電気的に接続され、信号変換部212の出力信号が処理部213に入力される。また、リング型拡張装置5は、端子214を備える。端子214は、処理部213に電気的に接続される。リング型拡張装置5に右コントローラ4が装着されている場合、処理部213は、信号変換部212の出力信号が示す歪み値を示す情報(換言すれば、後述するリング操作データ)を、端子214を介して右コントローラ4へ送信する。   The ring-type expansion device 5 includes a processing unit 213. The processing unit 213 is a processing circuit including a processor and a memory, and is, for example, an MCU (Micro Controller Unit). The processing unit 213 is electrically connected to the signal conversion unit 212, and an output signal of the signal conversion unit 212 is input to the processing unit 213. In addition, the ring type expansion device 5 includes a terminal 214. The terminal 214 is electrically connected to the processing unit 213. When the right controller 4 is attached to the ring-type expansion device 5, the processing unit 213 sends information indicating the distortion value indicated by the output signal of the signal conversion unit 212 (in other words, ring operation data to be described later) to the terminal 214. To the right controller 4 via.

リング型拡張装置5は、電力変換部215を備える。電力変換部215は、上記各部211〜214に電気的に接続される。電力変換部215は、端子214を介して外部(すなわち、右コントローラ4)から供給される電力を、上記各部211〜214に供給する。電力変換部215は、供給される電力について電圧等の調整を行って上記各部211〜214に供給してもよい。   The ring-type expansion device 5 includes a power conversion unit 215. The power conversion unit 215 is electrically connected to each of the units 211 to 214. The power converter 215 supplies power supplied from the outside (that is, the right controller 4) via the terminal 214 to each of the units 211 to 214. The power conversion unit 215 may adjust the supplied power such as a voltage and supply the power to the units 211 to 214.

なお、リング型拡張装置5が他の装置へ送信する「歪み検出部の検出結果に関するデータ」は、当該検出結果(本実施例においては、台座部の歪みを示す、歪み検出部211の出力信号)そのものを示すデータであってもよいし、当該検出結果に対して何らかの処理(例えば、データ形式の変換、および/または、歪み値に対する計算処理等)が行われることによって得られるデータであってもよい。例えば、処理部213は、上記検出結果である歪み値に基づいて弾性部材の変形量を算出する処理を行ってもよく、このとき、「歪み検出部の検出結果に関するデータ」は、当該変形量を示すデータであってもよい。   The “data relating to the detection result of the distortion detection unit” transmitted by the ring type expansion device 5 to another device is the detection result (in this embodiment, the output signal of the distortion detection unit 211 indicating the distortion of the pedestal unit). ) Itself, or data obtained by performing some processing (for example, data format conversion and / or calculation processing on a distortion value) on the detection result. Is also good. For example, the processing unit 213 may perform a process of calculating the deformation amount of the elastic member based on the distortion value that is the detection result. At this time, the “data regarding the detection result of the distortion detection unit” includes the deformation amount. May be data indicating the following.

なお、他の実施例においては、リング型拡張装置5は、電池を備え、当該電池の電力によって動作してもよい。また、リング型拡張装置5が備える電池は、右コントローラ4から供給される電力によって充電可能な充電池であってもよい。   In another embodiment, the ring-type expansion device 5 may include a battery and operate using the power of the battery. Further, the battery included in the ring-type expansion device 5 may be a rechargeable battery that can be charged by the power supplied from the right controller 4.

図11は、ベルト型拡張装置の一例を示す図である。ベルト型拡張装置6は、自身に左コントローラ3が装着された状態で、ユーザの足に締着して使用する(図12参照)。図11に示すように、ベルト型拡張装置6は、収容部301とベルト部302とを備える。収容部301は、平面状の形状であり、左コントローラ3を収容可能である。具体的には、収容部301は、ポケット部303を有する。ポケット部303は、左コントローラ3を収容可能な大きさの袋状に形成される。本実施形態においては、収容部301が左コントローラを収容することで、左コントローラ3がベルト型拡張装置6に装着される。なお、他の実施形態においては、ベルト型拡張装置6に左コントローラ3を装着させるための構成は任意である。   FIG. 11 is a diagram illustrating an example of the belt-type expanding device. The belt-type expanding device 6 is used by being fastened to a user's foot while the left controller 3 is mounted on the belt-type expanding device 6 (see FIG. 12). As shown in FIG. 11, the belt-type expanding device 6 includes a housing portion 301 and a belt portion 302. The accommodation section 301 has a planar shape and can accommodate the left controller 3. Specifically, the housing section 301 has a pocket section 303. The pocket portion 303 is formed in a bag shape large enough to accommodate the left controller 3. In the present embodiment, the left controller 3 is mounted on the belt-type expansion device 6 by the housing unit 301 housing the left controller. In other embodiments, the configuration for attaching the left controller 3 to the belt-type expanding device 6 is arbitrary.

収容部301には、ポケット部303の側方に通し孔304が設けられる。ベルト部302は、収容部301のうち、ポケット部303の側方であって、ポケット部303を基準に通し孔304の反対側に設けられる。ベルト部302は、帯状の形状であり、その一端が収容部301に固定される。本実施形態においては、ベルト部302は、伸縮性を有する材質(例えば、織ゴム)で構成される。   The accommodation portion 301 is provided with a through hole 304 on the side of the pocket portion 303. The belt portion 302 is provided on the side of the pocket portion 303 in the housing portion 301 and on the opposite side of the through hole 304 with respect to the pocket portion 303. The belt portion 302 has a belt-like shape, and one end thereof is fixed to the housing portion 301. In the present embodiment, the belt portion 302 is made of an elastic material (for example, woven rubber).

ベルト部302のうち、収容部301においてポケット部303が設けられる側の面と同じ側の面には、第1面ファスナー305および第2面ファスナー306が設けられる。第1面ファスナー305は、収容部301に固定される側と反対側の端部付近に設けられる。また、第2面ファスナー306は、第1面ファスナー305と同じ面において、第1面ファスナー305と比べて収容部301に近い側に設けられる。第1面ファスナー305と第2面ファスナー306とは、互いに着脱可能である。例えば、第1面ファスナー305は、フック面の面ファスナーであり、第2面ファスナー306は、ループ面の面ファスナーである。   A first surface fastener 305 and a second surface fastener 306 are provided on the same surface of the belt portion 302 as the surface on which the pocket portion 303 is provided in the housing portion 301. The first surface fastener 305 is provided near the end opposite to the side fixed to the housing portion 301. The second surface fastener 306 is provided on the same surface as the first surface fastener 305 on the side closer to the housing portion 301 than the first surface fastener 305. The first surface fastener 305 and the second surface fastener 306 are detachable from each other. For example, the first surface fastener 305 is a hook surface fastener, and the second surface fastener 306 is a loop surface fastener.

ベルト型拡張装置6を締着する際、ユーザは、ベルト部302を足(例えば、左股)に一周させた状態でベルト部302を通し孔304に通して、第1面ファスナー305と第2面ファスナー306とを接着させる。これによって、ユーザは、左コントローラ3が装着されたベルト型拡張装置6を足(左股)に締着することができる(図12参照)。なお、ユーザの足に締着されるベルト型拡張装置6が、第1装置の一例に相当する。また、左コントローラ3に設けられている加速度センサ104および/または角速度センサ105が、第1センサの一例に相当する。なお、ベルト型拡張装置6に装着されることなく左コントローラ3そのものをユーザの下半身に取り付けて使用する(例えば、ユーザの下半身に着ける衣服のポケット等に収容して使用する、ユーザのベルトに挟んで使用する等)場合、左コントローラ3そのものが、第1装置の一例に相当する。   When tightening the belt-type expanding device 6, the user passes the belt portion 302 through the through hole 304 with the belt portion 302 circling the foot (for example, the left crotch), and the first surface fastener 305 and the second surface fastener 305. The surface fastener 306 is bonded. This allows the user to fasten the belt-type expansion device 6 to which the left controller 3 is attached to the foot (left crotch) (see FIG. 12). The belt-type expanding device 6 fastened to the user's foot corresponds to an example of the first device. Further, the acceleration sensor 104 and / or the angular velocity sensor 105 provided in the left controller 3 correspond to an example of the first sensor. It should be noted that the left controller 3 itself is attached to the lower body of the user without being attached to the belt-type expanding device 6 (for example, the left controller 3 is used by being housed in a pocket of clothes worn on the lower half of the user and sandwiched between user belts). In this case, the left controller 3 itself corresponds to an example of a first device.

図12は、リング型拡張装置5およびベルト型拡張装置6をユーザが使用する様子の一例を示す図である。図12に示すように、ユーザは、ゲーム装置(すなわち、本体装置2ならびに各コントローラ3および4)に加えて、2つの拡張装置5および6を用いてゲームを行うことができる。例えば、ユーザは、リング型拡張装置5とベルト型拡張装置6とをセットで使用することができる。   FIG. 12 is a diagram illustrating an example of how the ring-type expansion device 5 and the belt-type expansion device 6 are used by a user. As shown in FIG. 12, the user can play a game using two extended devices 5 and 6 in addition to the game device (that is, the main device 2 and the controllers 3 and 4). For example, the user can use the ring-type expansion device 5 and the belt-type expansion device 6 as a set.

例えば、図12に示すように、ユーザは、右コントローラ4が装着されたリング型拡張装置5を両手で把持し、左コントローラ3が装着されたベルト型拡張装置6を足(例えば、左股)に締着する。このとき、ユーザは、リング型拡張装置5に対する操作(例えば、リング型拡張装置5を変形させる操作、および、リング型拡張装置5を動かす操作)と、ベルト型拡張装置6を締着した足を動かす操作とによって、ゲームを行うことができる。   For example, as shown in FIG. 12, the user holds the ring-type extension device 5 equipped with the right controller 4 with both hands, and holds the belt-type extension device 6 attached with the left controller 3 on the foot (for example, the left crotch). Fasten to. At this time, the user operates the ring-type expansion device 5 (for example, the operation of deforming the ring-type expansion device 5 and the operation of moving the ring-type expansion device 5) and the foot to which the belt-type expansion device 6 is fastened. The game can be played by the moving operation.

なお、図12においては、ユーザがグリップカバー203および204を把持してリング型拡張装置5を変形させる動作を行う様子を例示している。この動作によって、ユーザは、両腕を鍛えるフィットネス動作をゲーム操作として行うことができる。リング型拡張装置5を変形させる動作の一例として、ユーザは、グリップカバー203および204が互いに離れる方向(図示A方向)にリング型拡張装置5を変形させる操作(引張操作)を行うことができる。リング型拡張装置5を変形させる動作の他の例として、ユーザは、グリップカバー203および204が互いに引き寄せる方向(図示B方向)にリング型拡張装置5を変形させる操作(押す操作)を行うことができる。なお、ユーザはリング型拡張装置5に対する種々の動作でゲーム操作を行うことができる。例えば、ユーザは、一方のグリップカバーを両手で把持し、他方のグリップカバーを腹部に当てた状態で、リング型拡張装置5を変形させる動作を行うこともできる。この動作によって、ユーザは、腕と腹筋を鍛えるフィットネス動作をゲーム操作として行うことができる。また、ユーザは、両足の内股にグリップカバー203および204を当ててリング型拡張装置5を足で挟んだ状態で、リング型拡張装置5を変形させる動作を行うこともできる。この動作によって、ユーザは、足の筋肉を鍛えるフィットネス動作をゲーム操作として行うことができる。   Note that FIG. 12 illustrates an example in which the user performs an operation of deforming the ring-type expansion device 5 by gripping the grip covers 203 and 204. With this operation, the user can perform a fitness operation for training both arms as a game operation. As an example of the operation of deforming the ring-type expansion device 5, the user can perform an operation (pulling operation) of deforming the ring-type expansion device 5 in a direction in which the grip covers 203 and 204 are separated from each other (direction A in the drawing). As another example of the operation of deforming the ring-shaped expansion device 5, the user may perform an operation (push operation) of deforming the ring-shaped expansion device 5 in a direction (direction B in the drawing) in which the grip covers 203 and 204 are drawn toward each other. it can. The user can perform a game operation by various operations on the ring-type expansion device 5. For example, the user can perform an operation of deforming the ring-type expansion device 5 while holding one grip cover with both hands and holding the other grip cover on the abdomen. With this operation, the user can perform a fitness operation for training the arms and abs as a game operation. In addition, the user can perform an operation of deforming the ring-type expansion device 5 in a state where the grip-type covers 203 and 204 are applied to the inner thighs of both feet and the ring-type expansion device 5 is sandwiched between the feet. With this operation, the user can perform a fitness operation for training the leg muscles as a game operation.

なお、図12においては、ユーザがグリップカバー203および204を両手で把持し、ベルト型拡張装置6を左股に装着した状態で足踏みしたり屈伸したりする動作による操作を例示している。この動作によって、ユーザは、歩いたり走ったりする動作をゲーム操作として行うことができる。この動作によって、ユーザは、足の筋肉を鍛えるフィットネス動作をゲーム操作として行うことができる。また、ユーザが歩いたり走ったりしながら両手で把持しているリング型拡張装置5の方向を上下左右に向けて動かす動作をゲーム操作として行うことができる。なお、ユーザは、リング型拡張装置5に対する種々の動作でゲーム操作を行うことができる。例えば、ユーザは、両手で把持したリング型拡張装置5を変形させる動作を行うこともできる。この動作によって、ユーザは、腕を鍛えるフィットネス動作をゲーム操作として行うことができる。   Note that FIG. 12 illustrates an example of an operation by a user gripping the grip covers 203 and 204 with both hands and stepping on or bending over with the belt-type expansion device 6 attached to the left crotch. With this operation, the user can perform a walking or running operation as a game operation. With this operation, the user can perform a fitness operation for training the leg muscles as a game operation. In addition, an operation of moving the direction of the ring-type expansion device 5 held by both hands while walking or running by the user in up, down, left, and right directions can be performed as a game operation. In addition, the user can perform a game operation by various operations on the ring-type expansion device 5. For example, the user can perform an operation of deforming the ring-type expansion device 5 held by both hands. With this operation, the user can perform a fitness operation for training the arm as a game operation.

本体装置2においてゲーム処理が実行される場合、右コントローラ4は、リング型拡張装置5からリング操作データを受信する。リング操作データは、上記歪み値を示す情報を含む。具体的には、リング型拡張装置5の処理部213は、端子214を介してリング操作データを右コントローラ4へ送信する。例えば、処理部213は、所定時間に1回の割合でリング操作データを繰り返し送信する。   When a game process is executed in the main device 2, the right controller 4 receives ring operation data from the ring-type extension device 5. The ring operation data includes information indicating the distortion value. Specifically, the processing unit 213 of the ring type expansion device 5 transmits the ring operation data to the right controller 4 via the terminal 214. For example, the processing unit 213 repeatedly transmits the ring operation data once every predetermined time.

上記の場合、右コントローラ4の通信制御部111は、リング型拡張装置5から端子64を介して受信したリング操作データを本体装置2へ送信する。また、通信制御部111は、右コントローラ4に含まれる各入力部(具体的には、各ボタン113、アナログスティック52、各センサ114および115)から取得された情報を含む右コントローラ操作データを本体装置2へ送信する。なお、右コントローラ4がリング型拡張装置5に装着される状態では、右コントローラ4から本体装置2への通信は、無線通信によって行われる。通信制御部111は、右コントローラ操作データとリング操作データとをまとめて本体装置2へ送信してもよいし、別個に本体装置2へ送信してもよい。また、通信制御部111は、受信したリング操作データをそのまま本体装置2へ送信してもよいし、受信したリング操作データに何らかの加工(例えば、データ形式の変換、および/または、歪み値に対する計算処理等)を行って本体装置2へ送信してもよい。   In the above case, the communication control unit 111 of the right controller 4 transmits the ring operation data received from the ring type expansion device 5 via the terminal 64 to the main device 2. The communication control unit 111 transmits the right controller operation data including information obtained from each input unit (specifically, each button 113, the analog stick 52, and each of the sensors 114 and 115) included in the right controller 4 to the main body. Transmit to device 2. When the right controller 4 is mounted on the ring-type expansion device 5, communication from the right controller 4 to the main device 2 is performed by wireless communication. The communication control unit 111 may transmit the right controller operation data and the ring operation data to the main device 2 collectively, or may transmit the right controller operation data and the ring operation data to the main device 2 separately. In addition, the communication control unit 111 may transmit the received ring operation data to the main device 2 as it is, or may perform some processing (for example, conversion of a data format and / or calculation of a distortion value) on the received ring operation data. Process, etc.) and transmit the result to the main device 2.

一方、本体装置2においてゲーム処理が実行される場合、左コントローラ3の通信制御部101は、左コントローラ3に含まれる各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から取得された情報を含む左コントローラ操作データを本体装置2へ送信する。左コントローラ3がベルト型拡張装置6に装着される状態では、左コントローラ3から本体装置2への通信は、無線通信によって行われる。なお、通信制御部101が、第1送信部の一例に相当する。   On the other hand, when the game processing is executed in the main device 2, the communication control unit 101 of the left controller 3 controls each input unit (specifically, each button 103, analog stick 32, each sensor 104) included in the left controller 3. And the left controller operation data including the information acquired from 105) is transmitted to the main unit 2. When the left controller 3 is mounted on the belt-type extension device 6, communication from the left controller 3 to the main device 2 is performed by wireless communication. Note that the communication control unit 101 corresponds to an example of a first transmission unit.

次に、本体装置2が行う具体的な処理を説明する前に、図13〜図16を用いて、本体装置2で行うゲームの概要について説明する。なお、図13は、ユーザの足踏み操作に応じて据置型モニタ9に表示されるゲーム画像の一例を示す図である。図14は、ユーザの足踏み操作に応じた左コントローラ3本体および右コントローラ4本体の動作の一例を示す図である。図15は、ユーザがリング型拡張装置5の向き(リング方向)による操作を行う一例を示す図である。図16は、リング型拡張装置5の向きによる操作が行われる際のリング型拡張装置5の動きの一例を示す図である。   Next, before describing specific processing performed by the main device 2, an outline of a game performed by the main device 2 will be described with reference to FIGS. FIG. 13 is a diagram illustrating an example of a game image displayed on the stationary monitor 9 in response to a user's stepping operation. FIG. 14 is a diagram illustrating an example of an operation of the left controller 3 main body and the right controller 4 main body in accordance with the stepping operation of the user. FIG. 15 is a diagram illustrating an example in which the user performs an operation based on the direction (ring direction) of the ring-type expansion device 5. FIG. 16 is a diagram illustrating an example of the movement of the ring-type expansion device 5 when an operation based on the direction of the ring-type expansion device 5 is performed.

以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、図13に示すように、クレードル8に本体装置2単体を装着することによって据置型モニタ9に画像(および音声)を出力可能である。以下、左コントローラ3および右コントローラ4を本体装置2から取り外した状態で、クレードル8に本体装置2単体を装着して、クレードル8に接続された据置型モニタ9から画像(および音声)を出力する利用態様におけるゲームシステムを用いて説明する。そして、ユーザは、リング型拡張装置5に装着された右コントローラ4とベルト型拡張装置6に装着された左コントローラ3との両方を用いて、ゲーム操作を行う例を用いる。また、ゲーム処理の一例として、据置型モニタ9に表示される仮想オブジェクトPOがユーザの足踏み操作に応じて、仮想ゲーム空間内を移動する処理を用いる。   As described above, in the game system 1 of the present embodiment, the left controller 3 and the right controller 4 are detachable from the main device 2. Further, as shown in FIG. 13, an image (and a sound) can be output to the stationary monitor 9 by attaching the main body device 2 alone to the cradle 8. Hereinafter, with the left controller 3 and the right controller 4 detached from the main device 2, the main device 2 alone is mounted on the cradle 8, and images (and audio) are output from the stationary monitor 9 connected to the cradle 8. A description will be given using a game system in a use mode. Then, an example in which the user performs a game operation using both the right controller 4 attached to the ring-type extension device 5 and the left controller 3 attached to the belt-type extension device 6 will be used. Further, as an example of the game process, a process of moving the virtual object PO displayed on the stationary monitor 9 in the virtual game space in accordance with the stepping operation of the user is used.

例えば、図13においては、仮想ゲーム空間内において、停止したり、歩く(ウォーキング)、ジョギング、または走る(ランニング)ことによって仮想ゲーム空間内を移動したり、所定の目標物に向かって攻撃したりする仮想オブジェクトPOが表示されている。そして、ユーザは、左コントローラ3が装着されたベルト型拡張装置6を締着するとともに、右コントローラ4が装着されたリング型拡張装置5を把持して、ウォーキング、ジョギング、またはランニングするように足踏みする。この場合、ユーザの足踏み動作に応じた動作および速度で、仮想オブジェクトPOが仮想ゲーム空間内を移動する。また、仮想オブジェクトPOは、両手で1つのリングオブジェクトRを把持しており、実空間においてリング型拡張装置5の方向(リング方向)が変化することに応じて、仮想ゲーム空間におけるリングオブジェクトRの方向が変化する。   For example, in FIG. 13, in the virtual game space, the user moves in the virtual game space by stopping, walking (walking), jogging, or running (running) or attacks a predetermined target. The virtual object PO to be displayed is displayed. Then, the user tightens the belt-type expansion device 6 on which the left controller 3 is mounted, and grasps the ring-type expansion device 5 on which the right controller 4 is mounted, and steps on walking, jogging, or running. I do. In this case, the virtual object PO moves in the virtual game space at an action and a speed corresponding to the stepping action of the user. In addition, the virtual object PO holds one ring object R with both hands, and changes the direction of the ring object R in the virtual game space in accordance with a change in the direction (ring direction) of the ring-type expansion device 5 in the real space. The direction changes.

具体的には、図14に示すように、ユーザがベルト型拡張装置6を左股に締着した状態で、リング型拡張装置5を両手で把持しながら足踏みするユーザ操作が行われる。そして、ユーザがウォーキング、ジョギング、およびランニング等を模した足踏みをしたり、足踏み状態を停止させたりすることによって、その足踏み操作に応じた操作入力が本体装置2に与えられる。   Specifically, as shown in FIG. 14, in a state where the user fastens the belt type expansion device 6 to the left crotch, a user operation of stepping on while holding the ring type expansion device 5 with both hands is performed. When the user steps or imitates walking, jogging, running, or the like, or stops the stepping state, an operation input corresponding to the stepping operation is given to the main body device 2.

例えば、ユーザの左股の前部に締着されたベルト型拡張装置6に装着される左コントローラ3は、ユーザの足踏み操作に応じて、実空間における重力方向(鉛直方向)に垂直なユーザの左右水平方向を軸として起立状態(左コントローラ3の長軸方向が鉛直方向に向いた状態)と仰角状態(左コントローラ3の当該長軸方向が当該起立状態からユーザの前後水平方向へ近づいた状態)との間を揺動(図示M1方向の揺れであり、前後揺れと記載することがある)するように動かされる。一例として、ユーザが左足を床面につけて静止して立っている状態において左コントローラ3のy軸負方向が実空間の鉛直方向となるように(すなわち、左コントローラ3のy軸正方向が実空間の直上方向となるように)、ベルト型拡張装置6に左コントローラ3が装着される場合、ユーザの足踏み操作に応じて、左コントローラ3のy軸負方向が鉛直方向に向いた起立状態と左コントローラ3のy軸負方向が当該起立状態から水平方向へ近づいた仰角状態との間を、ユーザの左右水平方向(左コントローラ3のx軸方向)を軸として前後揺れするように左コントローラ3本体が動かされる。   For example, the left controller 3 attached to the belt-type expansion device 6 fastened to the front of the user's left crotch, according to the stepping operation of the user, sets the user's vertical direction in the gravity direction (vertical direction) in the real space. A standing state with the left-right horizontal direction as an axis (a state in which the long axis direction of the left controller 3 is oriented vertically) and an elevation state (a state in which the long axis direction of the left controller 3 approaches the user's front-rear horizontal direction from the standing state) ) (A swing in the direction of M1 in the figure, and may be described as a forward and backward swing). As an example, when the user stands still with the left foot on the floor, the negative y-axis direction of the left controller 3 is set to be the vertical direction of the real space (that is, the positive y-axis direction of the left controller 3 is When the left controller 3 is attached to the belt-type expansion device 6 so that the left controller 3 is attached to the belt-type expanding device 6, the left controller 3 has a standing state in which the negative y-axis direction of the left controller 3 is oriented in the vertical direction in accordance with the stepping operation of the user. The left controller 3 swings back and forth around the user's left-right horizontal direction (x-axis direction of the left controller 3) between the upright state in which the y-axis negative direction of the left controller 3 approaches the horizontal direction from the standing state. The body is moved.

また、例えば、ユーザが両手で把持するリング型拡張装置5に装着される右コントローラ4には、ユーザの足踏み操作に応じて、実空間における重力方向の揺れ(図示M2方向の揺れであり、縦揺れと記載することがある)が主に生じる。一例として、右コントローラ4のx軸負方向が実空間の鉛直方向となるように(すなわち、右コントローラ4のx軸正方向が実空間の直上方向となるように)ユーザがリング型拡張装置5を把持して足踏み操作する場合、ユーザの足踏み操作に応じて、右コントローラ4のx軸正方向とx軸負方向とを往復するように右コントローラ4本体が縦揺れする。   Also, for example, the right controller 4 attached to the ring-type expansion device 5 held by the user with both hands is provided with a swing in the direction of gravity in the real space (a swing in the M2 direction in the drawing, Mainly occurs). As an example, the user sets the ring-type expansion device 5 such that the negative x-axis direction of the right controller 4 is the vertical direction of the real space (that is, the positive x-axis direction of the right controller 4 is the direction directly above the real space). When the user performs a stepping operation while grasping, the right controller 4 main body swings vertically so as to reciprocate in the positive x-axis direction and the negative x-axis direction of the right controller 4 according to the stepping operation of the user.

このようなベルト型拡張装置6に装着された左コントローラ3およびリング型拡張装置5に装着された右コントローラ4を用いて、ユーザが停止状態から動き出した(すなわち、足踏み操作を開始した)状態を検出する方法(動き出し検出処理)について説明する。一例として、後述する第1動き出し条件および第2動き出し条件を何れも満たす場合、または後述する第1動き出し条件および第3動き出し条件を何れも満たす場合、ユーザが「歩き」または「ジョギング」で動き出したと判定する。当該例の場合、第1動き出し条件および第2動き出し条件の組と第1動き出し条件および第3動き出し条件の組との一方の組を満たさない場合であっても、他方の組を満たすことによってユーザが停止状態から動き出したことを判定できるため、ユーザの意図に沿った判定が可能となる。なお、後述される「フレーム」は、ゲームシステム1で実行される処理の周期であり、例えば、1フレーム=1/60秒である。
(第1動き出し条件)右コントローラ4において生じる加速度の変化量の所定期間(例えば、5フレーム)分の合算値が第1閾値(例えば、1.5G)を越えている
(第2動き出し条件)左コントローラ3および右コントローラ4においてそれぞれ生じる重力加速度を省いた実空間の直上方向の加速度の値が何れも第2閾値(例えば、0.2G)以上、すなわち実空間の直上方向へ加速している
(第3動き出し条件)左コントローラ3において生じる重力加速度を省いた実空間の直上方向の加速度の値が第3閾値(第3閾値<第2閾値であり、例えば、0.1G)以上、かつ、左コントローラ3が前後揺れする一定期間中の角度変化が第4閾値(例えば、15°)以上
このように、上記動き出し判定によれば、ユーザが静止状態から動き出したことを素早く検出することが可能となる。なお、静止状態において生じる値に近い閾値を設定するともに判定に要する期間を相対的に短く設定することによって、より素早く検出可能となる。なお、実空間における直上方向(鉛直方向)については、左コントローラ3および右コントローラ4が静止状態においては左コントローラ3および右コントローラ4にそれぞれ作用する重力加速度の方向に基づいて算出することが可能である。また、ユーザが動き出しを開始した状態では、左コントローラ3および右コントローラ4の姿勢の変化や移動が生じている場合であっても、左コントローラ3および右コントローラ4にそれぞれ生じる角速度に基づいて、左コントローラ3および右コントローラ4の姿勢変化を算出することが可能である。したがって、ユーザが動き出しを開始した状態では、上記角速度を用いた当該姿勢変化に基づいて算出された左コントローラ3および右コントローラ4それぞれの重力加速度の方向を用いて、実空間における直上方向(鉛直方向)を算出してもかまわない。なお、ユーザが停止状態から動き出したことを判定として、第1動き出し条件および第2動き出し条件の組だけで判定してもよいし、第1動き出し条件および第3動き出し条件の組だけで判定してもよい。
Using the left controller 3 attached to such a belt-type extension device 6 and the right controller 4 attached to the ring-type extension device 5, a state in which the user starts moving from a stopped state (that is, a stepping operation is started) is performed. A detection method (movement start detection processing) will be described. As an example, when both the first movement start condition and the second movement start condition described later are satisfied, or when both the first movement start condition and the third movement start condition described later are satisfied, it is assumed that the user has started moving by “walking” or “jogging”. judge. In the case of this example, even if one of the set of the first start condition and the second start condition and the set of the first start condition and the third start condition is not satisfied, the user is satisfied by satisfying the other set. Can be determined to have started moving from the stopped state, so that determination according to the user's intention can be performed. Note that a “frame” described later is a cycle of a process executed in the game system 1 and, for example, 1 frame = 1/60 second.
(First movement start condition) The sum of the amount of change in acceleration generated in the right controller 4 for a predetermined period (for example, 5 frames) exceeds a first threshold value (for example, 1.5 G) (second movement start condition). Each of the acceleration values in the direction directly above the real space excluding the gravitational acceleration generated in the controller 3 and the right controller 4 is equal to or more than the second threshold (for example, 0.2 G), that is, the acceleration is performed in the direction directly above the real space ( Third movement start condition) The value of the acceleration in the direction immediately above the real space excluding the gravitational acceleration generated in the left controller 3 is equal to or more than a third threshold (third threshold <second threshold, for example, 0.1 G) and the left The angle change during the fixed period in which the controller 3 swings back and forth is equal to or greater than the fourth threshold value (for example, 15 °). That it is possible to quickly detect. In addition, by setting a threshold value close to a value generated in the stationary state and setting a relatively short period required for determination, detection can be performed more quickly. It should be noted that the upright direction (vertical direction) in the real space can be calculated based on the direction of the gravitational acceleration acting on the left controller 3 and the right controller 4 when the left controller 3 and the right controller 4 are at rest. is there. In addition, in the state where the user has started to move, even if the postures and movements of the left controller 3 and the right controller 4 have been changed, the left controller 3 and the right controller 4 have the left and right controllers based on the angular velocities generated respectively. It is possible to calculate the posture change of the controller 3 and the right controller 4. Therefore, in the state where the user has started to move, the direction of the gravitational acceleration of each of the left controller 3 and the right controller 4 calculated based on the posture change using the above-mentioned angular velocity is used to set the vertical direction (vertical direction) in the real space. ) May be calculated. In addition, as the determination that the user has started moving from the stop state, the determination may be made only with the combination of the first movement start condition and the second movement start condition, or with only the combination of the first movement start condition and the third movement start condition. Is also good.

次に、上述した動き出し検出処理において、ユーザが動き出したことが判定された際に、ユーザが「歩き」で動き出したのか、または「ジョギング」で動き出したのかを判別する方法について説明する。一例として、後述する動き出し時動作判別条件を満たす場合、ユーザが「歩き」で動き出したと判別する。
(動き出し時動作判別条件)上記動き出しが判定された時点の直前の期間となる所定期間(上記第1動き出し条件の判定で用いられる所定期間より長い期間であり例えば、15フレーム、すなわち当該所定期間の開始時点から例えば10フレーム遡った時点から上記動き出しが判定された時点までの期間)において、右コントローラ4において生じる直上方向の加速度の変化量が第5閾値(例えば、1.2G)以下
Next, a description will be given of a method of determining whether the user has started moving by “walking” or “jogging” when it is determined that the user has started moving in the above-described motion start detection processing. As an example, when a motion start operation determination condition described later is satisfied, it is determined that the user has started moving by “walking”.
(Motion start operation determination condition) A predetermined period (a period longer than the predetermined period used in the determination of the first start condition, for example, 15 frames, ie, the predetermined period of time) For example, during a period from the start time, for example, 10 frames forward to the time when the above movement is determined, the change amount of the acceleration in the right upward direction generated in the right controller 4 is equal to or less than a fifth threshold value (for example, 1.2 G).

このように、上記動き出し判定によれば、「歩き判定」や「ジョギング判定」のみで、歩きやジョギングで動き出すのではなく、動作の種別とは別に「動き出し」のみを判定する処理が別途に設けられている。これによって、動き出しをより正確に判定することが可能になるとともに、動き出しを素早く判定することが可能となる。例えば、動き出し判定を別に設けることなく、俊敏な動きに基づいてジョギング判定、緩慢な動きに基づいて歩き判定をした場合、ユーザは静止しているつもりであっても緩慢な動作に対応する出力があると、誤って「歩き」で動き出したと判定してしまう恐れがある。この点、まずユーザの動き出しを判定したうえで、その動きの種別を判別することによって、ユーザの意図に反して動き出したと判定してしまうことを抑制できる。さらに、動きの種別の判定に用いるデータを、動き出しが判定された後ではなく動き出しが判定される前の期間から抽出することで、素早く動きの種別判定を行うことができる。また、後述により明らかとなるが、「動き出し」後の動作種別の判定については、相対的に長いデータ取得期間を用いた別の判別方法を「動き出し後の動作判定」として別途設けることによって、さらに一連の動作判定を正確にすることができる。   As described above, according to the above-described movement start determination, a process for determining only “movement start” separately from the type of motion is provided separately from the “walking determination” and the “jogging determination”, instead of the walking or jogging. Have been. This makes it possible to more accurately determine the start of movement and to quickly determine the start of movement. For example, when a jogging judgment is performed based on agile movement and a walking judgment is performed based on a slow movement without separately providing a movement start determination, an output corresponding to a slow movement is performed even if the user intends to stand still. If so, there is a risk that it is determined that the user has begun to move by "walking". In this regard, by first determining the user's movement and then determining the type of the movement, it is possible to suppress the determination that the user has started moving against the user's intention. Further, by extracting the data used for determining the type of motion from the period before the start of motion is determined, not after the start of motion is determined, the type of motion can be quickly determined. In addition, as will become clear from the description below, regarding the determination of the operation type after “start of movement”, another determination method using a relatively long data acquisition period is separately provided as “operation determination after start of movement”. A series of motion determinations can be made accurate.

次に、ユーザが「歩き」または「ジョギング」によって動き出したと判定された後において、移動が継続しているときに、ユーザが「歩き」で動いているのか、または「ジョギング」で動いているのかを判別する方法について説明する。一例として、後述する第1動き出し後動作判別条件、第2動き出し後動作判別条件、および第3動き出し後動作判別条件の全てを満たす場合、ユーザが「歩き」で動作していると判別する。また、後述する第1動き出し後動作判別条件、第2動き出し後動作判別条件、および第3動き出し後動作判別条件の少なくとも1つを満たさない場合、ユーザが「ジョギング」で動作していると判別する。
(第1動き出し後動作判別条件)ユーザの足踏み周期(具体的には、ベルト型拡張装置6が締着されたユーザの左股を上げ下げする周期)が第8閾値(例えば、60フレーム)以上
(第2動き出し後動作判別条件)ユーザの片足の股(具体的には、ベルト型拡張装置6が締着されたユーザの左股)が最上位置まで上がってから最下位置まで下がるまでの時間が第9閾値(例えば、20フレーム)以上
(第3動き出し後動作判別条件)上記動き出しが判定された時点の直前の期間となる所定期間(上記第1動き出し条件の判定で用いられる所定期間より長い期間であり、例えば、15フレーム、すなわち当該所定期間の開始時点から例えば10フレーム遡った時点から上記動き出しが判定された時点までの期間)において、右コントローラ4において生じる直上方向の加速度の変化量が第5閾値(例えば、1.2G)以下
このように、ユーザが動き出したと判定された後において、ユーザの動作種別(例えば、「歩き」、「ジョギング」)を判定する方法は、ユーザが停止状態から動き出した際に動作種別を判定する方法とは異なる。具体的には、ユーザが動き出したと判定された後において、ユーザの動作種別を判定するためのデータを取得する期間(第8閾値および第9閾値)は、ユーザが停止状態から動き出した際に動作種別を判定するためのデータを取得する期間よりも長い。
Next, after it is determined that the user has started moving by “walking” or “jogging”, whether the user is moving by “walking” or “jogging” when the movement is continuing The method for determining the value will be described. As an example, when all of a first post-startup motion determination condition, a second post-startup motion determination condition, and a third post-startup motion determination condition described below are satisfied, it is determined that the user is operating as “walking”. If at least one of a first post-startup motion determination condition, a second post-startup motion determination condition, and a third post-startup motion determination condition described below is not satisfied, it is determined that the user is operating by “jogging”. .
(Operation determination condition after first movement) The stepping cycle of the user (specifically, the cycle of raising and lowering the left crotch of the user to which the belt-type expansion device 6 is fastened) is equal to or greater than an eighth threshold value (for example, 60 frames). Condition for determining motion after second movement) The time from when the crotch of one leg of the user (specifically, the left crotch of the user to which the belt-type expansion device 6 is fastened) rises to the uppermost position and falls to the lowermost position. A ninth threshold value (for example, 20 frames) or more (third post-movement operation determination condition) A predetermined period (a period longer than the predetermined period used in the determination of the first movement start condition) which is a period immediately before the time when the above-mentioned movement is determined. For example, for 15 frames, that is, a period from the start point of the predetermined period, for example, 10 frames back to the time point at which the movement is determined to start, the right controller 4 Is less than or equal to a fifth threshold (for example, 1.2 G), and thus, after it is determined that the user has started to move, the user's action type (for example, “walking”, “jogging”) Is different from the method of determining the action type when the user starts moving from the stop state. Specifically, after it is determined that the user has started moving, the period for obtaining data for determining the type of operation of the user (eighth threshold value and ninth threshold value) is determined when the user starts moving from the stop state. It is longer than the period for acquiring data for determining the type.

なお、上述した実施例では、第1動き出し後動作判別条件、第2動き出し後動作判別条件、および第3動き出し後動作判別条件の全てを満たす場合、ユーザが「歩き」で動作していると判別する例を用いたが、他の条件によってユーザが「歩き」で動作していると判別してもかまわない。例えば、第1動き出し後動作判別条件および第2動き出し後動作判別条件の少なくとも1つを満たす場合、ユーザが「歩き」で動作していると判別し、第1動き出し後動作判別条件および第2動き出し後動作判別条件の何れも満たさない場合、ユーザが「ジョギング」で動作していると判別してもよい。   In the above-described embodiment, when all of the first post-startup motion determination condition, the second post-startup motion determination condition, and the third post-startup motion determination condition are satisfied, it is determined that the user is operating as “walking”. Although the example described above is used, it may be determined that the user is operating “walking” based on other conditions. For example, when at least one of the first post-startup motion determination condition and the second post-startup motion determination condition is satisfied, it is determined that the user is performing “walking”, and the first post-startup motion determination condition and the second start-up motion are determined. If none of the post-operation determination conditions is satisfied, it may be determined that the user is operating by “jogging”.

また、上述したように、表示画面(例えば、据置型モニタ9)には、ユーザの足踏み動作に応じた動作および速度で仮想ゲーム空間内を移動する仮想オブジェクトPOが表示される。例えば、ユーザが実空間において「静止している」と判定されたことに応じて仮想ゲーム空間内において「停止」した状態で仮想オブジェクトPOが表示され、ユーザが実空間において「歩き」で足踏みしていると判定されたことに応じて仮想ゲーム空間内において歩いて移動するように仮想オブジェクトPOが表示され、ユーザが実空間において「ジョギング」で足踏みしていると判定されたことに応じて仮想ゲーム空間内においてジョギングで移動するように仮想オブジェクトPOが表示される。しかしながら、ユーザの足踏み動作が変化することに応じて仮想オブジェクトPOが異なる動作に移行する場合、予め定められた動作を経て次の動作に移行してもかまわない。一例として、ユーザの足踏み動作が「ジョギング」から「歩き」に変化した場合、仮想オブジェクトPOの動作が「ジョギング」による移動から一旦「停止」する動作を挟んで、「歩き」による移動に移行してもよい。例えば、仮想オブジェクトPOが登場するゲームにおいて、仮想ゲーム空間内において停止する動作が重要な要素となっている場合、ユーザが「ジョギング」する足踏み動作から足踏み動作を停止して静止したにも拘わらず、短時間の間、仮想オブジェクトPOが「停止」せずに「歩き」で動作してしまうようなことを防止することができ、仮想オブジェクトPOを停止させる操作の応答性を向上させることができる。   In addition, as described above, the virtual object PO that moves in the virtual game space at an operation and a speed corresponding to the stepping operation of the user is displayed on the display screen (for example, the stationary monitor 9). For example, in response to the determination that the user is “still” in the real space, the virtual object PO is displayed in a state of “stop” in the virtual game space, and the user steps on the “walk” in the real space. The virtual object PO is displayed so as to walk and move in the virtual game space in accordance with the determination that the user is in the virtual game space, and the virtual object PO is determined in accordance with the determination that the user is stepping on the “jogging” in the real space. The virtual object PO is displayed so as to move by jogging in the game space. However, when the virtual object PO shifts to a different action in response to a change in the stepping action of the user, the action may shift to the next action via a predetermined action. As an example, when the stepping motion of the user changes from “jogging” to “walking”, the motion of the virtual object PO shifts from “moving by“ jogging ”to“ moving ”by“ walking ”with the motion of temporarily stopping. You may. For example, in the game in which the virtual object PO appears, when the operation of stopping in the virtual game space is an important element, the user stops the stepping operation from the stepping operation of “jogging” and stops, In addition, it is possible to prevent the virtual object PO from operating “walking” without “stopping” for a short time, and to improve the responsiveness of the operation of stopping the virtual object PO. .

また、上記ユーザの足踏み周期(例えば、ベルト型拡張装置6が締着されたユーザの左股を上げ下げする周期)を算出するためには、当該ユーザが股(例えば左股)を上げ下げする動作を検出することが必要となる。ユーザが股を上げ下げする動作を検出するための股の上げ下げ判定については、左コントローラ3に生じる角速度および加速度の少なくとも一方を用いて任意の方法を用いればよいが、一例として、左コントローラ3に生じる角速度および加速度の両方を用いて判定してもよい。具体的には、後述する第1股上げ判定条件および第2股上げ判定条件を何れも満たす場合に股上げ状態であると判定してもよい。
(第1股上げ判定条件)直近の所定期間(例えば、15フレーム)における左コントローラ3のx軸方向周りの角度(膝曲げ角度が大きくなるほど当該角度が大きくなる)の最大値および最小値を取得し、当該最小値が得られた時点より当該最大値が得られた時点が直近である
(第2股上げ判定条件)直近の所定期間(例えば、15フレーム)における左コントローラ3の鉛直方向の加速度が第6閾値(例えば、0.8G)以下、すなわち実空間の直上方向に加速している
また、後述する第1股下げ判定条件および第2股下げ判定条件を何れも満たす場合に股下げ状態であると判定してもよい。
(第1股下げ判定条件)直近の所定期間(例えば、15フレーム)における左コントローラ3のx軸方向周りの角度の最大値および最小値を取得し、当該最大値が得られた時点より当該最小値が得られた時点が直近である
(第2股下げ判定条件)直近の所定期間(例えば、15フレーム)における左コントローラ3の鉛直方向の加速度が第7閾値(例えば、1.2G)以上、すなわち実空間の鉛直方向に加速している
Further, in order to calculate the stepping cycle of the user (for example, a cycle of raising and lowering the left crotch of the user to which the belt-type expansion device 6 is fastened), the user needs to raise and lower the crotch (for example, the left crotch). It needs to be detected. Regarding the determination of raising and lowering the crotch for detecting the operation of raising and lowering the crotch by the user, any method may be used using at least one of the angular velocity and the acceleration generated in the left controller 3. The determination may be made using both the angular velocity and the acceleration. Specifically, when both the first crotch determination condition and the second crotch determination condition described later are satisfied, it may be determined that the crotch is in the crotch state.
(1st crotch determination condition) Obtains the maximum value and the minimum value of the angle around the x-axis direction of the left controller 3 (the angle increases as the knee bending angle increases) in the latest predetermined period (for example, 15 frames). Then, the vertical acceleration of the left controller 3 in the latest predetermined period (for example, 15 frames) in which the time point at which the maximum value is obtained is more recent than the time point at which the minimum value is obtained (the second crotch-up determination condition) Is less than or equal to a sixth threshold value (for example, 0.8 G), that is, the vehicle is accelerating in a direction directly above the real space. Also, when both the first crotch determination condition and the second crotch determination condition described later are satisfied, the crotch state May be determined.
(First crotch determination condition) The maximum value and the minimum value of the angle of the left controller 3 around the x-axis direction in the latest predetermined period (for example, 15 frames) are obtained, and the minimum value is obtained from the time when the maximum value is obtained. The time at which the value was obtained is the latest (second crotch determination condition). The vertical acceleration of the left controller 3 in the latest predetermined period (for example, 15 frames) is equal to or greater than a seventh threshold (for example, 1.2 G). That is, it is accelerating in the vertical direction of the real space

また、ユーザの足踏み動作の種別として、「歩き」および「ジョギング」に加えて、「ジョギング」より足踏み周期が短い「走り」による足踏み動作を区別してもかまわない。一例として、左コントローラ3において生じた加速度変化量を直前の所定時間分(例えば、60フレーム分)合算し、当該合算値が算出された所定処理回数分(例えば、30フレーム分)の平均値とユーザ毎に設定された閾値(ユーザ閾値)との比較によって、「ジョギング」による足踏み動作と「走り」による足踏み動作とを判別してもよい。具体的には、上記平均値が上記ユーザ閾値以上である場合にユーザが「走り」によって足踏み動作していると判定し、上記平均値が上記ユーザ閾値未満である場合(ただし、「ジョギング」の判定条件を満たすとき)にユーザが「ジョギング」によって足踏み動作していると判定する。ここで、上記ユーザ閾値は、ゲーム開始前に予めユーザに「ジョギング」の足踏み動作と「走り」の足踏み動作とを行うように促し、当該足踏み動作から得られる加速度変化量の上記平均値に基づいて、当該ゲーム開始前にユーザ毎に設定される。   Further, as the type of the stepping motion of the user, in addition to “walking” and “jogging”, a stepping motion due to “running” having a shorter stepping cycle than “jogging” may be distinguished. As an example, the acceleration change amount generated in the left controller 3 is added up for the immediately preceding predetermined time (for example, for 60 frames), and the total value is calculated with the average value of the calculated predetermined number of processing times (for example, for 30 frames). By comparing with a threshold value (user threshold value) set for each user, a stepping action due to “jogging” and a stepping action due to “running” may be determined. Specifically, when the average value is equal to or larger than the user threshold value, it is determined that the user is performing a stepping action by “running”, and when the average value is smaller than the user threshold value (however, “jogging” When the determination condition is satisfied), it is determined that the user is performing a stepping action by “jogging”. Here, the user threshold is based on the average value of the amount of change in acceleration obtained from the stepping action of urging the user to perform the stepping action of “jogging” and the stepping action of “running” before starting the game. Before the game starts, the setting is made for each user.

なお、ユーザ毎に設定される上記ユーザ閾値は、当該ユーザ閾値が用いられる場面前であれば、どのようなタイミングで設定されてもよいし、様々な演出に応じて設定されてもよい。第1の例として、上記ユーザ閾値が用いられるゲームが開始される前に、「ジョギング」の足踏み動作と「走り」の足踏み動作とを行うようにそれぞれ明確にユーザに指示し、当該指示に応じて行われた足踏み動作の結果に基づいて当該ユーザのユーザ閾値が設定されてもよい。第2の例として、上記ユーザ閾値が用いられるゲーム中(好ましくは、ゲームの序盤)において、「ジョギング」の足踏み動作を行うユーザ操作が求められる場面と「走り」の足踏み動作を行うユーザ操作が求められる場面とを用意し、当該場面における足踏み動作の結果に基づいて当該ユーザ操作を行ったユーザのユーザ閾値が設定されてもよい。   Note that the user threshold set for each user may be set at any timing as long as it is before a scene where the user threshold is used, or may be set according to various effects. As a first example, before the game in which the user threshold is used is started, the user is clearly instructed to perform a “jogging” stepping operation and a “running” stepping operation, respectively. The user threshold of the user may be set based on the result of the stepping action performed. As a second example, during a game in which the above-described user threshold is used (preferably, at the beginning of the game), a scene where a user operation for performing a “jogging” stepping operation is required and a user operation for performing a “running” stepping operation are described. A scene to be obtained may be prepared, and a user threshold of the user who has performed the user operation may be set based on the result of the stepping action in the scene.

また、ユーザ毎に設定される上記ユーザ閾値が「ジョギング」による足踏み動作と「走り」による足踏み動作とを判別するために用いられる例を用いたが、ユーザ閾値が他の判別に用いられてもよい。一例として、ユーザ毎に設定される上記ユーザ閾値は、同様に足踏み速度に応じて区別される「歩き」と「ジョギング」との区別に用いることができることは明らかであり、ゲーム開始前に予めユーザに「歩き」の足踏み動作と「ジョギング」の足踏み動作とを行うように促すことによって、異なる状況下におけるユーザ閾値として設定可能となる。この場合、上記ユーザ閾値は、「歩き」による足踏み動作と「ジョギング」による足踏み動作とを判別するために用いることができる。   In addition, although the example in which the user threshold set for each user is used to determine the stepping action due to “jogging” and the stepping action due to “running” is used, the user threshold may be used for another determination. Good. As an example, it is clear that the user threshold value set for each user can be used for distinguishing between “walking” and “jogging”, which are also distinguished according to the stepping speed. By prompting the user to perform a “walking” stepping action and a “jogging” stepping action, it is possible to set a user threshold value in different situations. In this case, the user threshold value can be used for discriminating a stepping action due to “walking” and a stepping action due to “jogging”.

なお、「ジョギング」による足踏み動作と「走り」による足踏み動作とを判別するためのユーザ閾値と、「歩き」による足踏み動作と「ジョギング」による足踏み動作とを判別するためのユーザ閾値との2つのユーザ閾値が設定される場合、当該2つのユーザ閾値は、当該2つのユーザ閾値間の足踏み動作に対する仮想オブジェクトPOの移動速度の評価に用いられてもよい。例えば、ユーザが「ジョギング」による足踏み動作を行っていると判定されている状態においては、「ジョギング」による足踏み動作と「走り」による足踏み動作とを判別するためのユーザ閾値に近い速度(周期)で足踏み動作が行われるほど、「走り」による足踏み動作による仮想オブジェクトPOの移動速度に近い移動速度となるように線形補間されて、仮想オブジェクトPOの移動速度が設定されてもよい。つまり、上記2つのユーザ閾値のうち、「ジョギング」による足踏み動作と「走り」による足踏み動作とを判別するためのユーザ閾値が足踏み動作の判別に用いられ、上記2つのユーザ閾値間の関係が当該閾値間の移動速度の線形補間に用いられてもよい。   Note that there are two user thresholds, a user threshold for discriminating a stepping action due to “jogging” and a stepping action due to “running”, and a user threshold for discriminating a stepping action due to “walking” and a stepping action due to “jogging”. When the user threshold is set, the two user thresholds may be used for evaluating the moving speed of the virtual object PO with respect to the stepping motion between the two user thresholds. For example, in a state where it is determined that the user is performing a stepping action due to “jogging”, a speed (cycle) close to a user threshold value for discriminating the stepping action due to “jogging” and the stepping action due to “running”. The more the stepping motion is performed, the more linearly interpolating the moving speed of the virtual object PO to the moving speed of the virtual object PO by the stepping motion by “running”, and the moving speed of the virtual object PO may be set. That is, of the two user thresholds, the user threshold for determining the stepping action due to “jogging” and the stepping action due to “running” is used for determining the stepping action, and the relationship between the two user thresholds is determined. It may be used for linear interpolation of the moving speed between the threshold values.

また、上記ユーザ閾値は、ゲームの進行に応じて変化してもかまわない。一例として、上記ユーザ閾値は、ゲームの進行状況(例えば、仮想ゲーム空間における移動距離やクリアしたゲームステージ数や内容)に応じて、段階的に変化してもよい。   Further, the user threshold may be changed according to the progress of the game. As an example, the user threshold may change stepwise according to the progress of the game (for example, the moving distance in the virtual game space, the number of cleared game stages, and the content).

また、上述した実施例では、ユーザの足踏み動作の種別として、「歩き」および「ジョギング」に加えて、「走り」による足踏み動作を区別しているが、「走り」による足踏み動作の区別がなくてもよい。この場合、「ジョギング」による足踏み動作において、ユーザの動作速度(例えば、足踏み周期や足踏み速度)が速くなることに応じて、「ジョギング」する速度(具体的には、ユーザの足踏み動作に応じた動作および速度で仮想ゲーム空間内を移動する仮想オブジェクトPOが「ジョギング」で移動する速度)が速くなるように制御してもよい。   In addition, in the above-described embodiment, in addition to “walking” and “jogging”, the stepping motion due to “running” is distinguished as the type of the stepping motion of the user, but there is no distinction between the stepping motion due to “running”. Is also good. In this case, in the stepping motion by “jogging”, the speed of “jogging” (specifically, according to the stepping motion of the user) increases as the operation speed (for example, the stepping cycle or the stepping speed) of the user increases. Control may be performed such that the virtual object PO that moves in the virtual game space at the action and speed (the speed at which the virtual object PO moves by “jogging”) is increased.

このように、ユーザが「歩き」で足踏み動作しているか「ジョギング」で足踏み動作しているかの判別については、第1動き出し後動作判別条件および第2動き出し後動作判別条件を用いた判別、すなわちジャイロセンサによって検出される角速度に基づいて行われる。これに対して、ユーザが「ジョギング」で足踏み動作している状態において、「ジョギング」よりも足踏み周期が短い「走り」で足踏み動作している状態に変化したことを判定する際には、加速度センサによって検出された加速度が用いられる。したがって、「歩き」による足踏み動作と「ジョギング」による足踏み動作との判別が角速度によって行われ、「ジョギング」による足踏み動作中に加速度が大きい場合に当該足踏み周期が短くなったと判定されることになる。これは、ユーザの足踏み動作の周期に応じて、適切なパラメータを選択しているためであり、「歩き」による足踏み動作と「ジョギング」による足踏み動作との判別が加速度では見分けにくい場合等に有効な方法となる。   As described above, whether the user is stepping on “walking” or stepping on “jogging” is determined using the first motion determination condition after the movement and the second motion determination condition after the movement, that is, This is performed based on the angular velocity detected by the gyro sensor. On the other hand, when it is determined that the user is stepping in “running” in which the stepping cycle is shorter than that in “jogging” while the user is stepping in “jogging”, acceleration is determined. The acceleration detected by the sensor is used. Therefore, the discrimination between the stepping action by “walking” and the stepping action by “jogging” is performed based on the angular velocity, and when the acceleration is large during the stepping action by “jogging”, it is determined that the stepping cycle is shortened. . This is because an appropriate parameter is selected according to the cycle of the user's stepping motion, which is effective when it is difficult to distinguish between the stepping motion due to “walking” and the stepping motion due to “jogging” by acceleration. Method.

また、ユーザが「歩き」または「ジョギング」によって動き出したと判定された後において、ユーザが「歩き」、「ジョギング」、または「走り」で動いているのかの判別は、ベルト型拡張装置6に装着された左コントローラ3の動きセンサ(例えば、加速度センサや角速度センサ)からの出力のみを用いて行われている。ここで、本実施例においては、ユーザが「歩き」、「ジョギング」、および「走り」の何れの状態で動いているかによって、仮想ゲーム空間内を移動する仮想オブジェクトPOの移動速度も変化するため、仮想オブジェクトPOの移動中においては左コントローラ3の動きセンサの出力のみに基づいて、仮想オブジェクトPOの移動速度を制御していることになる。なお、他の実施例においては、左コントローラ3の動きセンサの出力だけでなく、リング型拡張装置5に装着された右コントローラ4の動きセンサ(例えば、加速度センサや角速度センサ)からの出力も用いて、仮想オブジェクトPOの移動中における移動速度を制御してもかまわない。一例として、仮想ゲーム空間において仮想オブジェクトPOの向きを変更できないような場面では、リング型拡張装置5に装着された右コントローラ4の動きセンサの出力を用いて、仮想オブジェクトPOの移動中における移動速度を制御することが考えられる。   Further, after it is determined that the user has started moving by “walking” or “jogging”, it is determined whether the user is moving by “walking”, “jogging”, or “running” by attaching to the belt-type extension device 6. This is performed using only the output from the motion sensor (for example, an acceleration sensor or an angular velocity sensor) of the left controller 3. Here, in the present embodiment, the moving speed of the virtual object PO moving in the virtual game space also changes depending on whether the user is moving in “walking”, “jogging”, or “running”. During the movement of the virtual object PO, the movement speed of the virtual object PO is controlled based only on the output of the motion sensor of the left controller 3. In another embodiment, not only the output of the motion sensor of the left controller 3 but also the output of a motion sensor (for example, an acceleration sensor or an angular velocity sensor) of the right controller 4 attached to the ring type expansion device 5 is used. Thus, the moving speed during the movement of the virtual object PO may be controlled. As an example, in a scene where the direction of the virtual object PO cannot be changed in the virtual game space, the moving speed of the virtual object PO during the movement is determined using the output of the motion sensor of the right controller 4 mounted on the ring-type expansion device 5. Can be controlled.

次に、ユーザが「歩き」による足踏み動作から停止して静止したことを判定する方法について説明する。一例として、後述する第1停止動作判定条件および第2停止動作判定条件の少なくとも1つを満たす場合、ユーザが「歩き」による足踏み動作から停止して静止したと判定する。
(第1停止動作判定条件)右コントローラ4に生じる角速度が0である
(第2停止動作判定条件)直近の所定期間(例えば、90フレーム)における左コントローラ3の角度変化が第10閾値(例えば、10°)以下、かつ、直近の所定期間(例えば、10フレーム)における左コントローラ3の角速度変位量が第11閾値(例えば、0.01)以下
Next, a method for determining that the user has stopped from the stepping action of “walking” and stopped has been described. As an example, when at least one of a first stop operation determination condition and a second stop operation determination condition described later is satisfied, it is determined that the user has stopped from the stepping operation by “walking” and has stopped.
(First stop operation determination condition) The angular change of the left controller 3 in the latest predetermined period (for example, 90 frames) when the angular velocity generated in the right controller 4 is 0 (second stop operation determination condition) is a tenth threshold (for example, 10 °) or less, and the angular velocity displacement of the left controller 3 in the latest predetermined period (eg, 10 frames) is equal to or less than the eleventh threshold (eg, 0.01).

ここで、ユーザが足踏み動作を「停止」したと判定されることなく「歩き」による足踏み動作が行われていると判定される状態を継続するためには、上記第1停止動作判定条件および第2停止動作判定条件が何れも成立しないように、右コントローラ4において角速度を継続して生じさせるとともに、所定時間において第10閾値より大きい左コントローラ3の角度変化を生じさせるまたは第11閾値以上の左コントローラ3の角速度変化を生じさせることが必要となる。したがって、ユーザが足踏み動作を「停止」したと判定されることなく「歩き」による足踏み動作が行われていると判定される状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方を継続して動かすことが必要となり、ユーザの下半身の動きだけでなくユーザの上半身の動きも必要となるため、ユーザの全身を使った操作を促進することができる。また、上記第1停止動作判定条件および上記第2停止動作判定条件は、ユーザの「歩き」継続判定条件、すなわちユーザの動作継続判定条件としても機能していることになる。   Here, in order to continue the state in which it is determined that the stepping operation by “walking” is being performed without determining that the user has stopped the stepping operation, the first stop operation determination condition and the second (2) The right controller 4 continuously generates an angular velocity and causes a change in the angle of the left controller 3 greater than the tenth threshold value in a predetermined time, or causes the left controller to generate a left angle greater than or equal to the eleventh threshold value so that none of the stop operation determination conditions is satisfied. It is necessary to cause the angular velocity of the controller 3 to change. Therefore, in order to continue the state where it is determined that the stepping action by “walking” is being performed without determining that the user has stopped the stepping action, the left controller 3 (the belt-type expanding device 6) And the right controller 4 (ring-type expansion device 5) must be continuously moved, and not only the movement of the user's lower body but also the movement of the user's upper body is required. Can be promoted. Further, the first stop operation determination condition and the second stop operation determination condition also function as a user's “walking” continuation determination condition, that is, a user's operation continuation determination condition.

また、上述したように、ユーザが足踏み動作を「停止」したと判定されることなく「歩き」による足踏み動作が行われていると判定される状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方が継続して動いていることが必要となるが、これは所定期間においてそれぞれの動きセンサ(例えば、角速度センサ)の出力変化量が所定量であることが必要となる。これは、左コントローラ3および右コントローラ4それぞれの動きセンサの出力が、少なくとも一方のコントローラの動きの停止を示す場合には、ユーザが足踏み動作を「停止」したと判定されることになる。   Further, as described above, in order to continue the state in which it is determined that the stepping action by “walking” is being performed without determining that the user has stopped the stepping action, the left controller 3 (belt It is necessary that both the mold extender 6) and the right controller 4 (the ring extender 5) move continuously, which is caused by a change in the output of the respective motion sensor (eg, angular velocity sensor) during a predetermined period. It is necessary that the amount is a predetermined amount. If the outputs of the motion sensors of the left controller 3 and the right controller 4 indicate that at least one of the controllers has stopped moving, it is determined that the user has stopped the stepping action.

次に、ユーザが「ジョギング」または「走り」による足踏み動作から停止して静止したことを判定する方法について説明する。一例として、後述する第3停止動作判定条件〜第5停止動作判定条件の少なくとも1つを満たす場合、ユーザが「ジョギング」または「走り」による足踏み動作から停止して静止したと判定する。
(第3停止動作判定条件)右コントローラ4に生じる角速度が0である
(第4停止動作判定条件)直近の所定期間(例えば、10フレーム)における左コントローラ3または右コントローラ4の加速度変化が第12閾値以下
(第5停止動作判定条件)直近の所定期間(例えば、10フレーム)における左コントローラ3の角速度の平均値が第13閾値以下
Next, a description will be given of a method of determining that the user has stopped and stopped from the stepping action of “jogging” or “running”. As an example, when at least one of a third stop operation determination condition to a fifth stop operation determination condition described later is satisfied, it is determined that the user has stopped from the stepping operation due to “jogging” or “running” and has stopped.
(Third stop operation determination condition) The angular velocity generated in the right controller 4 is 0 (fourth stop operation determination condition). The acceleration change of the left controller 3 or the right controller 4 in the latest predetermined period (for example, 10 frames) is twelfth. The average value of the angular velocities of the left controller 3 in the latest predetermined period (for example, 10 frames) is equal to or less than the thirteenth threshold (the fifth stop operation determination condition).

ここで、ユーザが足踏み動作を「停止」したと判定されることなく「ジョギング」または「走り」による足踏み動作が行われていると判定される状態を継続するためには、上記第3停止動作判定条件〜上記第5停止動作判定条件が何れも成立しないように、右コントローラ4において角速度を継続して生じさせ、所定時間において第12閾値より大きい加速度を左コントローラ3および右コントローラ4の両方に生じさせ、所定時間において第13閾値より大きい角速度平均値となるように左コントローラ3を動かすことが必要となる。したがって、ユーザが足踏み動作を「停止」したと判定されることなく「ジョギング」または「走り」による足踏み動作が行われていると判定される状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方を継続して動かすことが必要となり、ユーザの下半身の動きだけでなくユーザの上半身の動きも必要となるため、ユーザの全身を使った操作を促進することができる。また、上記第3停止動作判定条件〜上記第5停止動作判定条件は、ユーザの「ジョギング」または「走り」継続判定条件、すなわちユーザの動作継続判定条件としても機能していることになる。   Here, in order to continue the state in which it is determined that the stepping operation by “jogging” or “running” is being performed without determining that the user has stopped the stepping operation, the third stopping operation is performed. The right controller 4 continuously generates an angular velocity so that none of the determination condition to the fifth stop operation determination condition is satisfied, and an acceleration greater than a twelfth threshold is given to both the left controller 3 and the right controller 4 in a predetermined time. It is necessary to move the left controller 3 so that the angular velocity becomes larger than the thirteenth threshold value in a predetermined time. Therefore, in order to continue the state in which it is determined that the stepping operation by “jogging” or “running” is being performed without determining that the user has stopped the stepping operation, the left controller 3 (belt type) It is necessary to continuously move both the expansion device 6) and the right controller 4 (ring-type expansion device 5), and not only the movement of the user's lower body but also the movement of the user's upper body is required. The operation used can be promoted. Further, the third stop operation determination condition to the fifth stop operation determination condition also function as the user's “jogging” or “running” continuation determination condition, that is, the user's operation continuation determination condition.

また、上述したように、ユーザが足踏み動作を「停止」したと判定されることなく「ジョギング」または「走り」による足踏み動作が行われていると判定される状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方が継続して動いていることが必要となるが、これは所定期間においてそれぞれの動きセンサ(例えば、加速度センサや角速度センサ)の出力変化量が所定量であることが必要となる。これは、左コントローラ3および右コントローラ4それぞれの動きセンサの出力が、少なくとも一方のコントローラの動きの停止を示す場合には、ユーザが足踏み動作を「停止」したと判定されることになる。   Further, as described above, in order to continue the state in which it is determined that the stepping operation by “jogging” or “running” is performed without determining that the user has stopped the stepping operation, It is necessary that both the controller 3 (the belt-type expansion device 6) and the right controller 4 (the ring-type expansion device 5) move continuously. And the output change amount of the angular velocity sensor) need to be a predetermined amount. If the outputs of the motion sensors of the left controller 3 and the right controller 4 indicate that at least one of the controllers has stopped moving, it is determined that the user has stopped the stepping action.

また、ユーザが停止状態から足踏み動作を開始して「動き出し」を判定された後に、「停止」したと判定されることなく「歩き」、「ジョギング」、または「走り」による足踏み動作が行われていると判定されるユーザの動作継続判定条件は、上述したユーザが停止状態から動き出した(すなわち、足踏み動作を開始した)と判定される動き出し条件とは異なっており、ユーザの足踏み状態に適した判定条件がそれぞれ設定されている。例えば、ユーザが停止状態から動き出したと判定される動き出し条件は、ユーザが動き出しを開始した状態では検出される左コントローラ3の角速度の信頼性が相対的に高いことから、左コントローラ3に生じる角速度を用いて算出される左コントローラ3の姿勢変化が用いられている。これに対して、ユーザが停止状態から足踏み動作を開始した後に「停止」したと判定されることなく「歩き」、「ジョギング」、または「走り」による足踏み動作が行われていると判定されるユーザの動作継続判定条件は、左コントローラ3に生じる角速度そのものが判定に用いられることはなく、当該角速度を用いずに判定される、または当該角速度の差分を用いた判定が行われている。なお、ユーザが停止状態から足踏み動作を開始した後に「停止」したと判定されることなく「歩き」、「ジョギング」、または「走り」による足踏み動作が行われていると判定されるユーザの動作継続判定条件を満たしている場合、当該判定に対応して仮想ゲーム空間内における仮想オブジェクトPOもユーザの足踏み動作に応じて移動を継続し、当該動作継続判定条件を満たしている間において仮想オブジェクトPOの移動を継続する動作が、第1の所定動作の一例に相当する。   Further, after the user starts the stepping action from the stopped state and determines “starting”, the stepping action by “walking”, “jogging” or “running” is performed without determining that the user has stopped. The operation continuation determination condition of the user that is determined to be different from the movement start condition that is determined to be that the user has started moving from the stop state (that is, started the stepping operation) is suitable for the user's stepping state. Judgment conditions are set. For example, the start condition for determining that the user has started moving from the stop state is that the angular velocity generated in the left controller 3 is relatively high because the reliability of the angular speed of the left controller 3 detected when the user has started moving is relatively high. The posture change of the left controller 3 calculated using the change is used. On the other hand, it is determined that the stepping operation by “walking”, “jogging”, or “running” is performed without determining that the user has stopped after starting the stepping operation from the stopped state. As the user's operation continuation determination condition, the angular velocity generated in the left controller 3 is not used for the determination, and the determination is made without using the angular velocity, or the determination using the difference of the angular velocity is performed. In addition, the user's operation in which it is determined that the stepping operation by “walking”, “jogging”, or “running” is performed without determining that the user has stopped after starting the stepping operation from the stopped state. If the continuation determination condition is satisfied, the virtual object PO in the virtual game space also continues to move in accordance with the stepping motion of the user in response to the determination, and while the motion continuation determination condition is satisfied, the virtual object PO The operation of continuing the movement of is equivalent to an example of a first predetermined operation.

なお、上述したように、表示画面(例えば、据置型モニタ9)には、ユーザの足踏み動作に応じた動作および速度で仮想ゲーム空間内を移動する仮想オブジェクトPOが表示される。例えば、上述したユーザの足踏み動作の判定や股の上げ下げ判定の結果に基づいて、ユーザの動きと仮想オブジェクトPOの動きとを一致させるように仮想オブジェクトPOの動作を制御して移動速度を変化させてもよい。具体的には、上記股の上げ下げ判定の結果に応じて、ユーザが左足を上げているタイミングと同期させて仮想オブジェクトPOの左足を上げ、ユーザが右足を上げているタイミングと同期させて仮想オブジェクトPOの右足を上げるように、仮想オブジェクトPOの歩行または走行動作を制御することによって、ユーザ操作に対する違和感(ズレ)を軽減することができる。   As described above, the display screen (for example, the stationary monitor 9) displays the virtual object PO that moves in the virtual game space at an operation and a speed corresponding to the stepping operation of the user. For example, based on the results of the above-described determination of the stepping motion of the user and the determination of raising / lowering the crotch, the motion of the virtual object PO is controlled so as to match the motion of the user with the motion of the virtual object PO, and the moving speed is changed. You may. Specifically, in response to the result of the crotch raising / lowering determination, the user raises the left foot of the virtual object PO in synchronization with the timing of raising the left foot, and synchronizes the virtual object PO with the timing of raising the right foot of the virtual object PO. By controlling the walking or running operation of the virtual object PO so as to raise the right foot of the PO, it is possible to reduce a sense of incongruity (deviation) to the user operation.

また、上述した例では、ユーザが左足/右足を上げているタイミングと同期させて仮想オブジェクトPOの左足/右足を上げるように、仮想オブジェクトPOの歩行または走行動作を制御する例を用いたが、ユーザの足踏み動作と他の仮想オブジェクトPOの動作を同期させてもかまわない。一例として、ユーザが左足/右足を上げているタイミングと同期させて仮想オブジェクトPOの右手/左手が動くように、仮想オブジェクトPOの動作(例えば、泳ぐ動作や両手で回転物を回転させる動作)を制御してもよい。   Further, in the above-described example, the example in which the walking or running operation of the virtual object PO is controlled so as to raise the left / right foot of the virtual object PO in synchronization with the timing at which the user raises the left / right foot, The stepping motion of the user and the motion of another virtual object PO may be synchronized. As an example, the operation of the virtual object PO (for example, a swimming operation or an operation of rotating a rotating object with both hands) so that the right hand / left hand of the virtual object PO moves in synchronization with the timing at which the user raises the left foot / right foot. It may be controlled.

このように、ユーザが動き出したと判定された後における仮想オブジェクトPOが仮想ゲーム空間内を移動する移動速度は、ベルト型拡張装置6に装着された左コントローラ3の動きセンサ(例えば、加速度センサや角速度センサ)からの出力のみを用いて行われている。なお、他の実施例においては、左コントローラ3の動きセンサの出力だけでなく、リング型拡張装置5に装着された右コントローラ4の動きセンサ(例えば、加速度センサや角速度センサ)からの出力も用いて、仮想オブジェクトPOの移動中における移動速度を制御してもかまわない。   As described above, the moving speed at which the virtual object PO moves in the virtual game space after it is determined that the user has started to move is determined by the motion sensor (for example, acceleration sensor or angular speed) of the left controller 3 attached to the belt-type extending device 6. Sensor). In another embodiment, not only the output of the motion sensor of the left controller 3 but also the output of a motion sensor (for example, an acceleration sensor or an angular velocity sensor) of the right controller 4 attached to the ring type expansion device 5 is used. Thus, the moving speed during the movement of the virtual object PO may be controlled.

また、本実施例においては、図15に示すように、ユーザがベルト型拡張装置6を左股に締着した状態で、リング型拡張装置5を両手で把持しながらリング型拡張装置5の方向を実空間における上下左右に変化させるユーザ操作が行われる。そして、ユーザが実空間において停止して静止した状態または足踏みしている状態でリング型拡張装置5の方向を変化させることによって、その方向に応じた操作入力が本体装置2に与えられる。   Further, in the present embodiment, as shown in FIG. 15, in a state where the user fastens the belt-type expansion device 6 to the left crotch, while holding the ring-type expansion device 5 with both hands, the direction of the ring-type expansion device 5 is changed. Is changed vertically and horizontally in the real space. Then, by changing the direction of the ring-shaped expansion device 5 while the user is stopped in a real space and is standing still or stepping on the foot, an operation input corresponding to the direction is given to the main device 2.

例えば、図15に示すように、本実施例においては、リング型拡張装置5における環状部201の円環軸に沿って、当該リング型拡張装置5を両手で把持するユーザから離れる方向がリング型拡張装置5のリング方向として定義される。そして、ユーザが実空間において停止して静止した状態または足踏みしている状態において、両手で把持しているリング型拡張装置5のリング方向を変化させることによって、仮想ゲーム空間内における仮想オブジェクトPOが把持しているリングオブジェクトRの方向も変化する。そして、ユーザがリング型拡張装置5を用いて所定の操作(例えば、リング型拡張装置5におけるグリップカバー203および204が互いに近づくように環状部201を定常状態から変形させる操作)を行うことによって、例えば仮想オブジェクトPOが把持しているリングオブジェクトRのリング方向(リングオブジェクトRの円輪軸に沿った仮想オブジェクトPOから離れる方向)に配置されているオブジェクトT(図13参照)を攻撃する(例えば、破壊する)ことができる。   For example, as shown in FIG. 15, in the present embodiment, the direction away from the user holding the ring-type expansion device 5 with both hands along the annular axis of the annular portion 201 in the ring-type expansion device 5 is a ring-type expansion device. It is defined as the ring direction of the expansion device 5. Then, when the user stops in the real space and stands still or steps on the foot, by changing the ring direction of the ring-type expansion device 5 held by both hands, the virtual object PO in the virtual game space is changed. The direction of the held ring object R also changes. The user performs a predetermined operation using the ring-type expansion device 5 (for example, an operation of deforming the annular portion 201 from the steady state so that the grip covers 203 and 204 of the ring-type expansion device 5 approach each other). For example, the virtual object PO attacks the object T (see FIG. 13) arranged in the ring direction of the ring object R being held (in the direction away from the virtual object PO along the ring axis of the ring object R) (see, for example, FIG. 13). Destroyed).

図16に示すように、リング型拡張装置5の姿勢(向き)による操作としては、グリップカバー203および204を両手で把持するリング型拡張装置5の環状部201を当該環状部201の円環軸を中心に回転させる操作(図示M3方向に回転させるロール操作)、リング型拡張装置5のリング方向を仰角(上方向)または俯角(下方向)に変化させる操作(図示M4方向のピッチ操作)、リング型拡張装置5のリング方向を左右に変化させる操作(図示M5方向のヨー操作)が考えられる。ここで、ロール操作およびピッチ操作においては、リング型拡張装置5に作用する重力加速度の方向が変化するため、リング型拡張装置5に装着された右コントローラ4に作用する加速度および/または角速度を用いて、右コントローラ4に作用する重力加速度の方向を算出することによって検出することができる。また、ヨー操作においては、リング型拡張装置5に作用する重力加速度の方向が変化しないため、リング型拡張装置5に装着された右コントローラ4に作用する角速度を用いて、初期状態からの右コントローラ4の姿勢変化を算出することによって検出することができる。なお、現実には、ロール操作、ピッチ操作、およびヨー操作が混ざった操作が行われることが一般的であるため、ロール操作、ピッチ操作、およびヨー操作によってそれぞれ変化するリング方向を合成することによって、最終的なリング方向がユーザ操作として算出される。   As shown in FIG. 16, the operation based on the posture (orientation) of the ring-type expansion device 5 is such that the annular portion 201 of the ring-type expansion device 5 that grips the grip covers 203 and 204 with both hands is connected to the annular axis of the annular portion 201. (A roll operation to rotate in the direction of M3 in the figure), an operation to change the ring direction of the ring-type expanding device 5 to an elevation angle (upward) or a depression angle (downward) (pitch operation in the M4 direction in the illustration), An operation of changing the ring direction of the ring-type expansion device 5 to the left or right (a yaw operation in the M5 direction in the drawing) is considered. Here, in the roll operation and the pitch operation, since the direction of the gravitational acceleration acting on the ring-type expansion device 5 changes, the acceleration and / or the angular velocity acting on the right controller 4 mounted on the ring-type expansion device 5 are used. Thus, it can be detected by calculating the direction of the gravitational acceleration acting on the right controller 4. In the yaw operation, since the direction of the gravitational acceleration acting on the ring-type expansion device 5 does not change, the right controller from the initial state is used by using the angular velocity acting on the right controller 4 attached to the ring-type expansion device 5. 4 can be detected by calculating the posture change. Note that, in reality, an operation in which a roll operation, a pitch operation, and a yaw operation are mixed is generally performed. Therefore, by synthesizing ring directions that are changed by the roll operation, the pitch operation, and the yaw operation, respectively. , The final ring direction is calculated as a user operation.

例えば、図16に示すように、リング型拡張装置5に装着された右コントローラ4のy軸方向が実空間における水平方向(図示X軸方向)となり、x軸正方向が実空間における直上方向(図示Y軸正方向)となるようにユーザがリング型拡張装置5を把持している初期状態から、リング型拡張装置5のリング方向を変化させる操作を行う場合を考える。上記初期状態においては、リング型拡張装置5に装着された右コントローラ4の鉛直方向に重力加速度が作用するため、右コントローラ4のx軸負方向の加速度1Gとなり、y軸(左右方向)およびz軸方向(前後方向)の加速度が0となる。この初期状態から、リング型拡張装置5がピッチ操作された場合、当該ピッチ操作された角度は、z軸方向に作用する加速度によって算出することができる。また、この初期状態から、リング型拡張装置5がロール操作された場合、当該ロール操作された角度は、y軸方向に作用する加速度によって算出することができる。したがって、z軸方向(前後方向)およびy軸方向(左右方向)に作用する加速度を検出することによって、リング型拡張装置5がピッチ操作された角度およびロール操作された角度をそれぞれ算出することができる。   For example, as shown in FIG. 16, the y-axis direction of the right controller 4 mounted on the ring-type expansion device 5 is a horizontal direction (X-axis direction in the drawing) in the real space, and the x-axis positive direction is a direction directly above in the real space ( It is assumed that the user performs an operation of changing the ring direction of the ring-type expansion device 5 from the initial state in which the user holds the ring-type expansion device 5 so that the ring-type expansion device 5 is in the illustrated Y-axis positive direction. In the initial state, since the gravitational acceleration acts in the vertical direction of the right controller 4 mounted on the ring-type expansion device 5, the acceleration of the right controller 4 becomes 1G in the negative x-axis direction, and the y-axis (left-right direction) and z The acceleration in the axial direction (front-back direction) becomes zero. When the pitch of the ring-type expansion device 5 is operated from this initial state, the pitch-operated angle can be calculated by the acceleration acting in the z-axis direction. Further, when the roll operation is performed on the ring-type expansion device 5 from the initial state, the angle at which the roll operation is performed can be calculated from the acceleration acting in the y-axis direction. Therefore, by detecting accelerations acting in the z-axis direction (front-back direction) and the y-axis direction (left-right direction), it is possible to calculate the angle at which the ring-type expanding device 5 has been pitch-operated and the angle at which the ring-type expansion device has been rolled, respectively. it can.

ここで、リング型拡張装置5が素早く動かされる操作が行われたり、リング型拡張装置5を把持しながら足踏みする操作が行われたりする場合、当該操作による加速度が加わったり、誤差が累積することが考えられる。このような場合、加速度から算出される角度と角速度から算出される角度とを用いて、リング型拡張装置5(右コントローラ4)の姿勢を算出してもよい。一例として、第1取得時間(例えば、30フレーム)において得られた加速度の平均値に基づいて算出される角度に第2取得期間(<第1取得期間;例えば、15フレーム)において得られた角速度に基づいて算出された角度変位量を加算することによって、リング型拡張装置5(右コントローラ4)の姿勢を算出してもよい。このように、異なるパラメータを用いてリング型拡張装置5(右コントローラ4)の姿勢を算出することによって、瞬時のプレや誤差などを相殺することができるとともに、相対的に短時間の取得期間で算出される角速度を用いることによって、検出における応答性を向上させることができる。   Here, when an operation of quickly moving the ring-type expansion device 5 is performed or an operation of stepping on while holding the ring-type expansion device 5 is performed, acceleration due to the operation may be applied or errors may be accumulated. Can be considered. In such a case, the attitude of the ring-type expansion device 5 (the right controller 4) may be calculated using the angle calculated from the acceleration and the angle calculated from the angular velocity. As an example, the angular velocity obtained in the second acquisition period (<first acquisition period; for example, 15 frames) is set to an angle calculated based on the average value of the acceleration obtained in the first acquisition time (for example, 30 frames). The attitude of the ring-type expansion device 5 (right controller 4) may be calculated by adding the amount of angular displacement calculated based on. As described above, by calculating the attitude of the ring-type expansion device 5 (right controller 4) using different parameters, it is possible to cancel an instantaneous play or error, and to obtain a relatively short acquisition period. By using the calculated angular velocity, responsiveness in detection can be improved.

また、上記初期状態から、リング型拡張装置5がヨー操作された場合、リング型拡張装置5に作用する重力加速度の方向が変化しないため、当該ヨー操作された角度は、鉛直方向周りに作用する角速度、すなわち右コントローラ4のx軸方向(上下方向)周りに作用する角速度を用いて算出することができる。   Further, when the ring-type expansion device 5 is yaw-operated from the initial state, the direction of the gravitational acceleration acting on the ring-type expansion device 5 does not change, so that the yaw-operated angle acts around the vertical direction. It can be calculated using the angular velocity, that is, the angular velocity acting around the right controller 4 in the x-axis direction (vertical direction).

ユーザがリング型拡張装置5のリング方向を所望の方向に向けた後、リング型拡張装置5を用いた所定の操作を行うことによって、当該リング方向に対応する仮想ゲーム空間内に所定の変化を与えることができる。例えば、上記所定の操作は、リング型拡張装置5におけるグリップカバー203および204が互いに近づくように環状部201を定常状態から所定の状態以上まで変形させる操作であり、リング型拡張装置5に設けられた歪みゲージが検出する歪みに基づいて当該操作が検出される。一例として、リング型拡張装置5の環状部201が定常状態から変形した場合、上記歪みゲージによって台座部の歪みが検出され、検出された歪みに基づいて、環状部201が変形する向き(すなわち、2つのグリップ203および204が近づく向き、または、離れる向き)と変形量とを算出することができる。そして、環状部201が変形する向きが2つのグリップ203および204が近づく向きであり、予め設定された閾値以上の変形量である場合、上記所定の操作が行われたと判定される。   After the user orients the ring direction of the ring-type expansion device 5 in a desired direction, the user performs a predetermined operation using the ring-type expansion device 5 to cause a predetermined change in the virtual game space corresponding to the ring direction. Can be given. For example, the predetermined operation is an operation of deforming the annular portion 201 from a steady state to a predetermined state or more so that the grip covers 203 and 204 in the ring-type expansion device 5 approach each other. The operation is detected based on the strain detected by the strain gauge. As an example, when the annular portion 201 of the ring-type expansion device 5 is deformed from the steady state, the distortion of the pedestal portion is detected by the strain gauge, and the direction in which the annular portion 201 is deformed based on the detected distortion (ie, The direction in which the two grips 203 and 204 approach or separate from each other) and the amount of deformation can be calculated. If the direction in which the annular portion 201 is deformed is the direction in which the two grips 203 and 204 approach and the amount of deformation is equal to or greater than a preset threshold, it is determined that the predetermined operation has been performed.

このように、本実施例においては、足踏みする操作が行われながら把持しているリング型拡張装置5の向きを変える異なる操作が可能となる。具体的には、上述したようにユーザが足踏み動作を「停止」したと判定されることなく「歩き」、「ジョギング」、または「走り」による足踏み動作が行われていると判定される状態を継続するために、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方が継続して動いていると判定される条件が満たされつつ、当該判定とは別に右コントローラ4(リング型拡張装置5)における動きセンサ(例えば、加速度センサまたは角速度センサ)の出力を用いてリング型拡張装置5の向きを変える操作が判定されることによって、上記2つの操作を両立している。また、左コントローラ3および右コントローラ4の両方が継続して動いていると判定される条件が必要となる足踏み操作に対して、リング型拡張装置5の向きを変える操作は、右コントローラ4(リング型拡張装置5)における動きセンサのみの出力に基づいて判定されるため、足踏み操作と比較して単純な制御で実現可能となる。また、ユーザが操作するリング型拡張装置5のリング方向を検出して、当該リング方向に基づいてリングオブジェクトRの方向(すなわち、仮想オブジェクトPOの向き)を変化させる処理は、リング型拡張装置5に装着された右コントローラ4によって検出された角速度だけでなく加速度も用いられるため、ユーザの操作状態に応じた適切なパラメータを用いることができる。なお、リング型拡張装置5の向きを変える操作は、右コントローラ4(リング型拡張装置5)における動きセンサの出力に加えて、左コントローラ3の動きセンサとは別のセンサや入力装置からの出力を用いて判定されてもかまわない。   As described above, in the present embodiment, a different operation of changing the direction of the ring-type expanding device 5 that is being gripped while performing the stepping operation is possible. Specifically, as described above, the state in which it is determined that the stepping operation by “walking”, “jogging”, or “running” is being performed without determining that the user has “stopped” the stepping operation is performed. In order to continue, the condition that it is determined that both the left controller 3 (the belt-type expansion device 6) and the right controller 4 (the ring-type expansion device 5) are continuously moving is satisfied, and separately from the determination. By determining the operation of changing the direction of the ring-type expansion device 5 using the output of a motion sensor (for example, an acceleration sensor or an angular velocity sensor) in the right controller 4 (ring-type expansion device 5), the two operations are compatible. are doing. Further, in response to a stepping operation that requires a condition for determining that both the left controller 3 and the right controller 4 are continuously moving, the operation of changing the direction of the ring-type expansion device 5 is performed by the right controller 4 (the ring controller). Since the determination is made based on the output of only the motion sensor in the die expanding device 5), it can be realized by simple control as compared with the stepping operation. Further, the process of detecting the ring direction of the ring-type expansion device 5 operated by the user and changing the direction of the ring object R (that is, the direction of the virtual object PO) based on the ring direction is performed by the ring-type expansion device 5. Since not only the angular velocity detected by the right controller 4 mounted on the device but also the acceleration is used, an appropriate parameter according to the operation state of the user can be used. Note that the operation of changing the direction of the ring-type expansion device 5 includes, in addition to the output of the motion sensor in the right controller 4 (ring-type expansion device 5), the output from a sensor different from the motion sensor of the left controller 3 or the input device. The determination may be made by using.

また、上述したように、表示画面(例えば、据置型モニタ9)には、ユーザ操作に応じて仮想ゲーム空間内において動作する仮想オブジェクトPOが表示される。ここで、仮想オブジェクトPOは、リングオブジェクトRを把持しており、ユーザのベルト型拡張装置6を用いた股上げ/股下げ操作に応じた動作および速度で仮想ゲーム空間内を移動するとともに、リング型拡張装置5を用いたユーザ操作に応じて仮想ゲーム空間内におけるリングオブジェクトRのリング方向を変化させる。つまり、ユーザの下半身に締着されたベルト型拡張装置6に装着された左コントローラ3の操作データに基づいて仮想オブジェクトPOの足の動作制御が行われ、ユーザの上半身の腕で把持されたリング型拡張装置5に装着された右コントローラ4の操作データに基づいて仮想オブジェクトPOの腕の動作制御が行われることになる。   Further, as described above, the virtual object PO that operates in the virtual game space in accordance with the user operation is displayed on the display screen (for example, the stationary monitor 9). Here, the virtual object PO is holding the ring object R, moves in the virtual game space at an operation and at a speed corresponding to the user's crotch raising / lowering operation using the belt-type extending device 6, and performs ring movement. The ring direction of the ring object R in the virtual game space is changed according to a user operation using the type extension device 5. That is, the operation of the feet of the virtual object PO is controlled based on the operation data of the left controller 3 attached to the belt-type extension device 6 fastened to the lower body of the user, and the ring held by the arm of the upper body of the user The operation control of the arm of the virtual object PO is performed based on the operation data of the right controller 4 mounted on the die expanding device 5.

なお、上述した説明では、説明を具体的にするために、左コントローラ3および右コントローラ4にそれぞれ定義されているxyz軸を用いて処理をする例を用いているが、実際には、上記状態とは異なる実空間における方向にxyz軸が配置されることもあり得るし、ベルト型拡張装置6やリング型拡張装置5の姿勢が変化することに応じて、異なる方向を基準とした姿勢検出が必要となる。例えば、実際のベルト型拡張装置6やリング型拡張装置5の姿勢検出においては、実空間において互いに直交する3軸を基準として算出してもよく、実空間における左右方向(図示X軸方向)、上下方向(図示Y軸方向)、および前後方向(図示Z軸方向)を基準として算出してもよい。この場合、上述した説明のおける左コントローラ3のx軸(左右方向)を実空間における左右方向(図示X軸方向)とし、左コントローラ3のy軸(上下方向)を実空間における上下方向(図示Y軸方向)とし、左コントローラ3のz軸(前後方向)を実空間における前後方向(図示Z軸方向)としてそれぞれ置き換えることによって、同様にベルト型拡張装置6の姿勢の検出が可能となる。また、上述した説明のおける右コントローラ4のy軸(左右方向)を実空間における左右方向(図示X軸方向)とし、右コントローラ4のx軸(上下方向)を実空間における上下方向(図示Y軸方向)とし、右コントローラ4のz軸(前後方向)を実空間における前後方向(図示Z軸方向)としてそれぞれ置き換えることによって、同様にリング型拡張装置5の姿勢の検出が可能となる。   Note that, in the above description, in order to make the description concrete, an example in which processing is performed using xyz axes defined in the left controller 3 and the right controller 4, respectively, is used. The xyz axes may be arranged in a direction in a real space different from the above, and the posture detection based on different directions may be performed according to the change in the posture of the belt-type expansion device 6 or the ring-type expansion device 5. Required. For example, in the actual posture detection of the belt-type expansion device 6 or the ring-type expansion device 5, it may be calculated based on three axes orthogonal to each other in the real space. The calculation may be based on the vertical direction (Y-axis direction in the drawing) and the front-rear direction (Z-axis direction in the drawing). In this case, the x-axis (left-right direction) of the left controller 3 in the above description is the left-right direction (X-axis direction in the drawing) in the real space, and the y-axis (vertical direction) of the left controller 3 is the up-down direction (the drawing in the real space). By replacing the z-axis (front-back direction) of the left controller 3 with the front-back direction (Z-axis direction in the drawing) in the real space, the posture of the belt-type expanding device 6 can be detected in the same manner. Further, the y-axis (horizontal direction) of the right controller 4 in the above description is set to the horizontal direction (X-axis direction in the drawing) in the real space, and the x-axis (vertical direction) of the right controller 4 is set to the vertical direction (Y in the drawing) in the real space. By replacing the z-axis (front-back direction) of the right controller 4 with the front-back direction (Z-axis direction in the drawing) in the real space, the posture of the ring-type expansion device 5 can be detected in the same manner.

また、上述した説明において処理に用いているパラメータ(加速度、角速度、角度、周期、変化量、合算値、平均値、期間、閾値等)やそれらの数値は、一例に過ぎず、他のパラメータや数値であってもよい。また、ゲームを行う際に重視されるパラメータが異なるプレイモードを設定し、当該プレイモードの選択がユーザ操作に応じてゲーム開始前に行われてもよい。例えば、加速度の大きさや変化が重視されるプレイモードと、角速度の大きさや変化が重視されるプレイモードが設定されてもよい。一例として、上述した実施例における処理例が加速度の大きさや変化が重視されるプレイモードとして用いられ、当該加速度の大きさや変化が重視されるプレイモードにおいて加速度が用いられている処理の少なくとも1つを角速度または角度を用いた処理に変更する、または加速度が用いられている処理の全てを角速度または角度を用いた処理に変更することによって、角速度の大きさや変化が重視されるプレイモードが設定されてもよい。具体的には、「ジョギング」によるユーザの足踏み動作と「走り」によるユーザの足踏み動作とを判別する処理が、加速度に代えて角速度(例えば角速度の合算値における所定処理回数分の平均値)を用いて行われてもよい。この場合、上記足踏み動作の判別を行うためのユーザ閾値においても、角速度に基づいて予め設定される。したがって、加速度の大きさや変化が重視されるプレイモードは、ベルト型拡張装置6に装着された左コントローラ3に含まれている加速度センサの出力が大きい場合に小さい場合よりも仮想オブジェクトPOの移動速度が速くなるモードとして機能する。これに対して、角速度の大きさや変化が重視されるプレイモードは、ベルト型拡張装置6に装着された左コントローラ3に含まれている角速度センサの出力が大きい場合に小さい場合よりも仮想オブジェクトPOの移動速度が速くなるモードとして機能する。また、「ジョギング」によるユーザの足踏み動作と「走り」によるユーザの足踏み動作とを加速度を用いて判別するプレイモードと角速度を用いて判別するプレイモードとの切り替えが可能である場合、後者のプレイモードでは相対的に床面への衝撃が小さいユーザ動作で操作(例えば、足踏みに代えて足を屈伸する操作)することが可能となる。したがって、前者のプレイモードを通常プレイモードとして、後者のプレイモードをサイレントモードとして機能させることができる。   Further, the parameters (acceleration, angular velocity, angle, cycle, change amount, total value, average value, period, threshold value, and the like) used in the processing in the above description and their numerical values are merely examples, and other parameters and It may be a numerical value. Further, a play mode in which different parameters are emphasized when playing the game may be set, and the play mode may be selected before the game is started according to a user operation. For example, a play mode in which the magnitude or change in acceleration is important and a play mode in which the magnitude or change in angular velocity is important may be set. As an example, the processing example in the above-described embodiment is used as a play mode in which the magnitude or change in acceleration is important, and at least one of the processing in which acceleration is used in the play mode in which the magnitude or change in acceleration is important. Is changed to processing using angular velocity or angle, or by changing all processing using acceleration to processing using angular velocity or angle, a play mode in which the magnitude or change of angular velocity is emphasized is set. You may. Specifically, the process of discriminating between the user's stepping motion due to “jogging” and the user's stepping motion due to “running” uses an angular velocity (for example, an average value of a predetermined number of processing times in the sum of the angular velocities) instead of the acceleration. It may be performed using. In this case, the user threshold value for determining the stepping action is also set in advance based on the angular velocity. Therefore, in the play mode in which the magnitude or change of the acceleration is emphasized, the moving speed of the virtual object PO is smaller when the output of the acceleration sensor included in the left controller 3 attached to the belt-type extension device 6 is large than when the output is small. Functions as a faster mode. On the other hand, in the play mode in which the magnitude or change of the angular velocity is emphasized, the virtual object PO is smaller when the output of the angular velocity sensor included in the left controller 3 attached to the belt-type extension device 6 is larger than when the output is smaller. It functions as a mode in which the moving speed of the is increased. In addition, when it is possible to switch between a play mode in which the user's stepping action due to “jogging” and a user's stepping action due to “running” is determined using acceleration and a play mode in which the stepping action is determined using angular velocity, the latter play In the mode, it is possible to perform an operation (for example, an operation of bending and stretching the foot instead of stepping) by a user operation that has a relatively small impact on the floor surface. Therefore, the former play mode can function as the normal play mode, and the latter play mode can function as the silent mode.

次に、図17〜図24を参照して、本実施形態においてゲームシステム1で実行される具体的な処理の一例について説明する。図17は、本実施形態において本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、図17に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。   Next, an example of a specific process executed by the game system 1 in the present embodiment will be described with reference to FIGS. FIG. 17 is a diagram illustrating an example of a data area set in the DRAM 85 of the main device 2 in the present embodiment. Note that the DRAM 85 stores data used in other processes in addition to the data shown in FIG. 17, but a detailed description thereof will be omitted.

DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施形態においては、各種プログラムPaは、上述した左コントローラ3および右コントローラ4それぞれとの間で無線通信するための通信プログラムや、左コントローラ3および右コントローラ4それぞれから取得したデータや本体装置2の姿勢に基づいた情報処理を行うためのアプリケーションプログラム(例えば、ゲームプログラム)等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。   Various programs Pa executed by the game system 1 are stored in the program storage area of the DRAM 85. In the present embodiment, the various programs Pa include a communication program for wirelessly communicating with the left controller 3 and the right controller 4 described above, data acquired from the left controller 3 and the right controller 4, and the main unit 2. An application program (for example, a game program) for performing information processing based on the posture of the player is stored. Note that the various programs Pa may be stored in the flash memory 84 in advance, or may be obtained from a storage medium that is detachable from the game system 1 (for example, a predetermined type of storage medium mounted in the slot 23) and read from the DRAM 85 Or may be obtained from another device via a network such as the Internet and stored in the DRAM 85. The processor 81 executes various programs Pa stored in the DRAM 85.

また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、DRAM85には、操作データDa、角速度データDb、加速度データDc、姿勢データDd、重力方向データDe、股上げ時点データDf、股下げ時点データDg、足踏み周期データDh、加速度変化累積値データDi、リング方向データDj、状態データDk、仮想オブジェクトデータDm、ユーザ閾値データDn、および画像データDo等が記憶される。   In the data storage area of the DRAM 85, various data used in processing such as communication processing and information processing executed in the game system 1 are stored. In this embodiment, the operation data Da, the angular velocity data Db, the acceleration data Dc, the posture data Dd, the gravity direction data De, the rise time data Df, the crotch time data Dg, the stepping cycle data Dh, and the acceleration change are stored in the DRAM 85. Stored are accumulated value data Di, ring direction data Dj, state data Dk, virtual object data Dm, user threshold data Dn, image data Do, and the like.

操作データDaは、左コントローラ3および右コントローラ4からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および右コントローラ4からそれぞれ送信される操作データには、各入力部(具体的には、各ボタン、アナログスティック、各センサ)からの入力に関する情報(具体的には、操作に関する情報や各センサによる検出結果)やリング型拡張装置5における環状部201の変形状態を示す歪み値が含まれている。本実施形態では、無線通信によって左コントローラ3および右コントローラ4からそれぞれ所定周期で操作データが送信されており、当該受信した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、ゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。   The operation data Da is operation data appropriately acquired from the left controller 3 and the right controller 4, respectively. As described above, the operation data transmitted from each of the left controller 3 and the right controller 4 includes information (specifically, input) from each input unit (specifically, each button, analog stick, and each sensor). , Operation-related information and detection results of each sensor) and a distortion value indicating the deformed state of the annular portion 201 in the ring-type expanding device 5. In the present embodiment, the operation data is transmitted at predetermined intervals from the left controller 3 and the right controller 4 by wireless communication, and the operation data Da is appropriately updated using the received operation data. The update cycle of the operation data Da may be updated for each frame, which is a cycle of processing executed in the game system 1, or may be updated for each cycle in which the operation data is transmitted by the wireless communication. Good.

角速度データDbは、左コントローラ3および右コントローラ4からそれぞれ取得した操作データのうち、現時点から所定時間前までに取得された左コントローラ3および右コントローラ4それぞれに生じている角速度の履歴を示すデータである。例えば、角速度データDbは、左コントローラ3および右コントローラ4それぞれに生じているxyz軸周りの角速度を示すデータの履歴等を含んでいる。   The angular velocity data Db is data indicating the history of the angular velocity occurring in each of the left controller 3 and the right controller 4 acquired from the present time to a predetermined time before, of the operation data acquired from the left controller 3 and the right controller 4, respectively. is there. For example, the angular velocity data Db includes a history of data indicating the angular velocity around the xyz axis generated in each of the left controller 3 and the right controller 4.

加速度データDcは、左コントローラ3および右コントローラ4からそれぞれ取得した操作データのうち、現時点から所定時間前までに取得された左コントローラ3および右コントローラ4それぞれに生じている加速度の履歴を示すデータである。例えば、角速度データDcは、左コントローラ3および右コントローラ4それぞれに生じているxyz軸方向の加速度を示すデータの履歴等を含んでいる。   The acceleration data Dc is data indicating the history of the acceleration occurring in each of the left controller 3 and the right controller 4 obtained from the present time to a predetermined time before among the operation data obtained from the left controller 3 and the right controller 4. is there. For example, the angular velocity data Dc includes a history of data indicating acceleration in the xyz-axis direction generated in each of the left controller 3 and the right controller 4.

姿勢データDdは、実空間における左コントローラ3および右コントローラ4の姿勢とを示すデータである。一例として、姿勢データDdは、実空間における左コントローラ3および右コントローラ4のxyz軸方向(例えば、実空間におけるXYZ軸に対する角度)をそれぞれ示すデータである。   The posture data Dd is data indicating the postures of the left controller 3 and the right controller 4 in the real space. As an example, the posture data Dd is data indicating the xyz-axis directions (for example, angles with respect to the XYZ axes in the real space) of the left controller 3 and the right controller 4 in the real space.

重力方向データDeは、左コントローラ3および右コントローラ4にそれぞれ作用している重力加速度の方向を示すデータである。   The gravity direction data De is data indicating the direction of the gravitational acceleration acting on each of the left controller 3 and the right controller 4.

股上げ時点データDfは、ユーザが足踏み操作において足(股)を上げたタイミングを示すデータである。股下げ時点データDgは、ユーザが足踏み操作において足(股)を下げたタイミングを示すデータである。足踏み周期データDhは、ユーザが行っている足踏み操作の周期および股上げ時点から股下げ時点までの時間を示すデータである。   The crotch point data Df is data indicating the timing at which the user lifts his or her leg (crotch) in a stepping operation. The crotch time data Dg is data indicating the timing at which the user has lowered his / her foot (crotch) in the stepping operation. The stepping cycle data Dh is data indicating the cycle of the stepping operation performed by the user and the time from the time of the rise to the time of the crotch.

加速度変化累積値データDiは、左コントローラ3に生じている加速度の変化量をそれぞれ所定期間分累積した値を示すデータである。   The acceleration change accumulated value data Di is data indicating a value obtained by accumulating the amount of change in acceleration occurring in the left controller 3 for a predetermined period.

リング方向データDjは、実空間におけるリング型拡張装置5のリング方向を示すデータである。   The ring direction data Dj is data indicating the ring direction of the ring type expansion device 5 in the real space.

状態データDkは、ユーザの足踏み操作の状態を示すデータであり、例えば、「停止状態」、「歩き状態」、「ジョギング状態」、および「走り状態」の何れかを示すデータである。   The state data Dk is data indicating a state of a user's stepping operation, and is, for example, data indicating any of a “stop state”, a “walking state”, a “jogging state”, and a “running state”.

仮想オブジェクトデータDmは、仮想ゲーム空間に配置されている仮想オブジェクトPOの位置、状態、姿勢、動作等を示すデータや、他の仮想オブジェクトの位置、状態、姿勢、動作等を示すデータである。   The virtual object data Dm is data indicating the position, state, posture, operation, and the like of the virtual object PO arranged in the virtual game space, and data indicating the position, state, posture, operation, and the like of another virtual object.

ユーザ閾値データDnは、ユーザ毎の「ジョギング状態」と「走り状態」とをユーザ毎に判定するために、予め設定されたユーザ毎の閾値を示すデータである。   The user threshold data Dn is data indicating a preset threshold for each user in order to determine the “jogging state” and the “running state” for each user.

画像データDoは、表示画面に画像(例えば、仮想オブジェクトPOの画像、他の仮想オブジェクトの画像、フィールド画像、背景画像等)を表示するためのデータである。   The image data Do is data for displaying an image (for example, an image of the virtual object PO, an image of another virtual object, a field image, a background image, and the like) on the display screen.

次に、図18〜図24を参照して、本実施形態における情報処理の詳細な一例を説明する。図18は、ゲームシステム1で実行される情報処理の一例を示すフローチャートである。図19は、図18におけるステップS105において行われる動き出し時処理の詳細な一例を示すサブルーチンである。図20は、図18におけるステップS107において行われるユーザ動作判定処理の詳細な一例を示すサブルーチンである。図21は、図18におけるステップS108において行われる移動時判定処理の詳細な一例を示すサブルーチンである。図22は、図18におけるステップS110において行われる走り移動判定処理の詳細な一例を示すサブルーチンである。図23は、図18におけるステップS111において行われる停止判定処理の詳細な一例を示すサブルーチンである。図24は、図18におけるステップS112において行われるリング方向判定処理の詳細な一例を示すサブルーチンである。本実施形態においては、図18〜図24に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる通信プログラムや所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図18〜図24に示す情報処理が開始されるタイミングは任意である。   Next, a detailed example of the information processing according to the present embodiment will be described with reference to FIGS. FIG. 18 is a flowchart illustrating an example of information processing performed by the game system 1. FIG. 19 is a subroutine showing a detailed example of the process at the time of starting performed in step S105 in FIG. FIG. 20 is a subroutine showing a detailed example of the user operation determination process performed in step S107 in FIG. FIG. 21 is a subroutine showing a detailed example of the movement determination processing performed in step S108 in FIG. FIG. 22 is a subroutine showing a detailed example of the running movement determination process performed in step S110 in FIG. FIG. 23 is a subroutine showing a detailed example of the stop determination process performed in step S111 in FIG. FIG. 24 is a subroutine showing a detailed example of the ring direction determination process performed in step S112 in FIG. In the present embodiment, a series of processes shown in FIGS. 18 to 24 is performed by the processor 81 executing a communication program or a predetermined application program (game program) included in the various programs Pa. The timing at which the information processing shown in FIGS. 18 to 24 is started is arbitrary.

なお、図18〜図24に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち図18〜図24に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。   Note that the processing of each step in the flowcharts shown in FIGS. 18 to 24 is merely an example, and the processing order of each step may be changed if a similar result is obtained. In addition (or instead), another process may be executed. Further, in the present embodiment, the processing of each step of the above-described flowchart is described as being performed by the processor 81. You may. Further, a part of the processing executed in the main device 2 may be executed by another information processing device that can communicate with the main device 2 (for example, a server that can communicate with the main device 2 via a network). That is, each process shown in FIGS. 18 to 24 may be executed by cooperation of a plurality of information processing devices including the main device 2.

図18において、プロセッサ81は、情報処理における初期設定を行い(ステップS101)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化する。例えば、プロセッサ81は、情報処理(ゲーム処理)を行うユーザを設定するとともに、「ジョギング」による足踏み動作と「走り」による足踏み動作とを判別するために、当該ユーザがゲーム開始前に予め操作(足踏み動作)を行って設定されているユーザ閾値を用いて、ユーザ閾値データDnを初期設定する。また、プロセッサ81は、仮想ゲーム空間においてワールド座標軸を定義するとともに、仮想ゲーム空間において各オブジェクト(仮想オブジェクトPOを含む)を配置して仮想ゲーム空間の初期状態を生成して、オブジェクトそれぞれの位置、方向、および姿勢等を用いて仮想オブジェクトデータDmを更新する。また、プロセッサ81は、仮想オブジェクトPOを停止状態に初期設定し、状態データDkを更新する。なお、閾値設定部は、低速移動動作をさせるための操作と高速移動動作をさせるための操作とを区別するための閾値を設定する処理を行うものであり、一例としてユーザ閾値データDnを初期設定する処理を行うプロセッサ81に相当する。   In FIG. 18, the processor 81 performs an initial setting in the information processing (step S101), and proceeds to the next step. For example, in the initial setting, the processor 81 initializes parameters for performing a process described below. For example, the processor 81 sets a user who performs information processing (game processing) and, in order to determine a stepping action due to “jogging” and a stepping action due to “running”, the user performs an operation (in advance) before starting the game. The user threshold data Dn is initialized using the user threshold set by performing a stepping action. Further, the processor 81 defines the world coordinate axes in the virtual game space, and arranges each object (including the virtual object PO) in the virtual game space to generate an initial state of the virtual game space, and determines the position of each object, The virtual object data Dm is updated using the direction, the posture, and the like. Further, the processor 81 initializes the virtual object PO to a stopped state and updates the state data Dk. The threshold setting unit performs a process of setting a threshold for distinguishing between an operation for performing a low-speed movement operation and an operation for performing a high-speed movement operation. As an example, the user threshold data Dn is initialized. The processing corresponds to the processor 81 that performs the processing.

次に、プロセッサ81は、左コントローラ3および右コントローラ4から操作データを取得して操作データDaを更新し(ステップS102)、次のステップに処理を進める。なお、プロセッサ81は、上記ステップS102において左コントローラ3および右コントローラ4からそれぞれ取得した操作データのうち、左コントローラ3および右コントローラ4それぞれに生じている角速度を示すデータを、角速度データDbに格納する。また、プロセッサ81は、上記ステップS102において左コントローラ3および右コントローラ4からそれぞれ取得した操作データのうち、左コントローラ3および右コントローラ4それぞれに生じている加速度を示すデータを、加速度データDcに格納する。   Next, the processor 81 acquires operation data from the left controller 3 and the right controller 4, updates the operation data Da (step S102), and proceeds to the next step. Note that the processor 81 stores, in the angular velocity data Db, data indicating the angular velocity generated in each of the left controller 3 and the right controller 4 among the operation data acquired from the left controller 3 and the right controller 4 in step S102. . In addition, the processor 81 stores, in the acceleration data Dc, data indicating the acceleration occurring in each of the left controller 3 and the right controller 4 among the operation data obtained from the left controller 3 and the right controller 4 in step S102. .

次に、プロセッサ81は、左コントローラ3および右コントローラ4の姿勢を算出し(ステップS103)、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbに格納されている角速度データを用いて、左コントローラ3および右コントローラ4それぞれのxyz軸周りの角速度を取得する。そして、プロセッサ81は、姿勢データDdが示す左コントローラ3および右コントローラ4の姿勢における重力加速度方向を基準としたxyz軸を、取得された角速度に応じてそれぞれ回転させて、当該回転後の重力加速度方向を基準としたxyz軸の方向を用いて姿勢データDdにおける左コントローラ3および右コントローラ4の姿勢を示すデータを更新する。また、プロセッサ81は、加速度データDcに格納されている角速度データを用いて、左コントローラ3および右コントローラ4にそれぞれ作用している重力加速度の方向を算出して、重力方向データDeを更新する。なお、重力加速度を抽出する方法については任意の方法を用いればよく、例えば左コントローラ3および右コントローラ4にそれぞれ平均的に生じている加速度成分を算出して当該加速度成分を重力加速度として抽出してもよい。また、プロセッサ81は、重力方向データDeが示す左コントローラ3および右コントローラ4それぞれに生じている重力加速度の方向を用いて、姿勢データDdが示す左コントローラ3および右コントローラ4の姿勢を適時補正してもかまわない。   Next, the processor 81 calculates the postures of the left controller 3 and the right controller 4 (step S103), and proceeds to the next step. For example, the processor 81 acquires the angular velocities of the left controller 3 and the right controller 4 around the xyz axes using the angular velocity data stored in the angular velocity data Db. Then, the processor 81 rotates the xyz axes based on the gravitational acceleration directions in the postures of the left controller 3 and the right controller 4 indicated by the posture data Dd in accordance with the obtained angular velocities, respectively. The data indicating the attitudes of the left controller 3 and the right controller 4 in the attitude data Dd is updated using the directions of the xyz axes based on the directions. Further, the processor 81 calculates the direction of the gravitational acceleration acting on each of the left controller 3 and the right controller 4 using the angular velocity data stored in the acceleration data Dc, and updates the gravitational direction data De. An arbitrary method may be used as a method of extracting the gravitational acceleration. For example, the left controller 3 and the right controller 4 respectively calculate an averagely occurring acceleration component and extract the acceleration component as a gravitational acceleration. Is also good. Further, the processor 81 uses the directions of the gravitational accelerations generated in the left controller 3 and the right controller 4 indicated by the gravity direction data De to appropriately correct the postures of the left controller 3 and the right controller 4 indicated by the posture data Dd. It doesn't matter.

次に、プロセッサ81は、ユーザの足踏み動作が停止状態であるか否かを判定する(ステップS104)。例えば、プロセッサ81は、状態データDkが停止状態を示す場合、上記ステップS104において肯定判定する。そして、プロセッサ81は、ユーザの足踏み動作が停止状態である場合、ステップS105に処理を進める。一方、プロセッサ81は、ユーザの足踏み動作が停止状態でない場合、ステップS107に処理を進める。   Next, the processor 81 determines whether or not the stepping action of the user is in a stopped state (step S104). For example, when the state data Dk indicates a stopped state, the processor 81 makes an affirmative determination in step S104. Then, when the user's stepping action is in the stopped state, the processor 81 proceeds to step S105. On the other hand, when the stepping operation of the user is not in the stopped state, the processor 81 proceeds to the process in step S107.

ステップS105において、プロセッサ81は、動き出し時処理を行い(ステップS105)、ステップS106に処理を進める。以下、図19を参照して、上記ステップS105において行われる動き出し時処理について説明する。   In step S105, the processor 81 performs a process at the time of starting movement (step S105), and proceeds to step S106. Hereinafter, with reference to FIG. 19, the process at the time of starting to be performed in step S105 will be described.

図19において、プロセッサ81は、所定期間分の右コントローラ4において生じる加速度の変化量合算値を算出し(ステップS121)、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcを用いて、直前の所定期間(例えば、5フレーム)において、各フレーム間それぞれにおける右コントローラ4の加速度の変化量を算出し、当該変化量を全て合算することによって上記変化量合算値を算出する。   In FIG. 19, the processor 81 calculates the sum of the amount of change in acceleration generated in the right controller 4 for a predetermined period (step S121), and proceeds to the next step. For example, using the acceleration data Dc, the processor 81 calculates the amount of change in the acceleration of the right controller 4 between the respective frames in the immediately preceding predetermined period (for example, 5 frames), and sums all the amounts of change. To calculate the change amount sum.

次に、プロセッサ81は、上記ステップS121において算出された変化量合算値が第1閾値(例えば、1.5G)以上であるかを判定する(ステップS122;第1動き出し条件)。そして、プロセッサ81は、上記変化量合算値が第1閾値以上である場合、ステップS123に処理を進める。一方、プロセッサ81は、上記変化量合算値が第1閾値未満である場合、ステップS133に処理を進める。   Next, the processor 81 determines whether or not the total change amount calculated in step S121 is equal to or greater than a first threshold (for example, 1.5 G) (step S122; first start condition). If the total change amount is equal to or greater than the first threshold value, the processor 81 proceeds to step S123. On the other hand, when the sum of the amounts of change is less than the first threshold, the processor 81 proceeds to step S133.

ステップS123において、プロセッサ81は、左コントローラ3および右コントローラ4においてそれぞれ生じている重力加速度を省いた実空間の直上方向の加速度を算出し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcおよび重力方向データDeを用いて、左コントローラ3および右コントローラ4においてそれぞれ生じている実空間の直上方向の加速度(重力加速度とは反対方向の加速度)を取得し、当該直上方向の加速度からそれぞれ重力加速度を減算する。   In step S123, the processor 81 calculates the acceleration just above the real space excluding the gravitational acceleration generated in each of the left controller 3 and the right controller 4, and proceeds to the next step. For example, using the acceleration data Dc and the gravitational direction data De, the processor 81 obtains the acceleration in the direction immediately above the real space (the acceleration in the direction opposite to the gravitational acceleration) generated in the left controller 3 and the right controller 4, respectively. Then, the gravitational acceleration is subtracted from the acceleration in the upward direction.

次に、プロセッサ81は、上記ステップS123において算出された左コントローラ3および右コントローラ4それぞれの直上方向の加速度が第2閾値(例えば、0.2G)以上であるかを判定する(ステップS124;第2動き出し条件)。そして、プロセッサ81は、上記直上方向の加速度が第2閾値未満である場合、ステップS125に処理を進める。一方、プロセッサ81は、上記直上方向の加速度が第2閾値以上である場合、ステップS129に処理を進める。   Next, the processor 81 determines whether or not the acceleration in the upward direction of each of the left controller 3 and the right controller 4 calculated in step S123 is equal to or greater than a second threshold (for example, 0.2 G) (step S124; 2 movement start condition). If the acceleration in the upward direction is less than the second threshold, the processor 81 proceeds to step S125. On the other hand, when the acceleration in the upward direction is equal to or larger than the second threshold, the processor 81 proceeds to the process in step S129.

ステップS125において、プロセッサ81は、左コントローラ3において生じる重力加速度を省いた実空間の直上方向の加速度の値を算出し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcおよび重力方向データDeを用いて、左コントローラ3において生じている実空間の直上方向の加速度(重力加速度とは反対方向の加速度)を取得し、当該直上方向の加速度から重力加速度を減算する。   In step S125, the processor 81 calculates the value of the acceleration just above the real space excluding the gravitational acceleration generated in the left controller 3, and proceeds to the next step. For example, using the acceleration data Dc and the gravitational direction data De, the processor 81 obtains an acceleration in a direction immediately above the real space generated in the left controller 3 (an acceleration in a direction opposite to the gravitational acceleration), and Subtract gravitational acceleration from acceleration.

次に、プロセッサ81は、上記ステップS125において算出された左コントローラ3の直上方向の加速度が第3閾値(例えば、0.1G)以上であるかを判定する(ステップS126;第3動き出し条件)。そして、プロセッサ81は、上記直上方向の加速度が第3閾値以上である場合、ステップS127に処理を進める。一方、プロセッサ81は、上記直上方向の加速度が第3閾値未満である場合、ステップS133に処理を進める。   Next, the processor 81 determines whether or not the acceleration in the upward direction of the left controller 3 calculated in step S125 is equal to or greater than a third threshold (for example, 0.1 G) (step S126; third movement start condition). Then, when the acceleration in the upward direction is equal to or larger than the third threshold, the processor 81 proceeds to step S127. On the other hand, when the acceleration in the upward direction is smaller than the third threshold, the processor 81 proceeds to step S133.

ステップS127において、プロセッサ81は、左コントローラ3が前後揺れする一定期間中の角度変化を算出し、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、左コントローラ3において直前の一定期間内で生じているユーザの前後方向(例えば、左コントローラ3のx軸周り)の角速度を取得し、当該角速度を用いて、当該前後方向の角度変化を算出する。   In step S127, the processor 81 calculates an angle change during a certain period in which the left controller 3 swings back and forth, and proceeds to the next step. For example, using the angular velocity data Db, the processor 81 acquires the user's angular velocity in the front-rear direction (for example, around the x-axis of the left controller 3) generated in the left controller 3 within a certain period immediately before, and calculates the angular velocity. To calculate the angle change in the front-rear direction.

次に、プロセッサ81は、上記ステップS127において算出された左コントローラ3の角度変化が第4閾値(例えば、15°)以上であるかを判定する(ステップS128;第3動き出し条件)。そして、プロセッサ81は、上記角度変化が第4閾値以上である場合、ステップS129に処理を進める。一方、プロセッサ81は、上記角度変化が第4閾値未満である場合、ステップS133に処理を進める。   Next, the processor 81 determines whether or not the change in the angle of the left controller 3 calculated in step S127 is equal to or greater than a fourth threshold value (for example, 15 °) (step S128; third movement start condition). Then, when the angle change is equal to or greater than the fourth threshold, the processor 81 proceeds to step S129. On the other hand, when the angle change is less than the fourth threshold, the processor 81 proceeds to step S133.

ステップS129において、プロセッサ81は、所定期間分の右コントローラ4において生じる直上方向の加速度の変化量を算出し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcおよび重力方向データDeを用いて、直前の所定期間(例えば、15フレーム)における右コントローラ4の直上方向の加速度変化量を算出する。   In step S129, the processor 81 calculates the amount of change in the acceleration in the upward direction generated in the right controller 4 for a predetermined period, and proceeds to the next step. For example, the processor 81 uses the acceleration data Dc and the gravitational direction data De to calculate the amount of change in acceleration of the right controller 4 in the immediately upward direction during the immediately preceding predetermined period (for example, 15 frames).

次に、プロセッサ81は、上記ステップS129において算出された右コントローラ4の直上方向の加速度変化量が第5閾値(例えば、1.2G)以下であるかを判定する(ステップS130;動き出し時動作判別条件)。そして、プロセッサ81は、上記直上方向の加速度変化量が第5閾値以下である場合、ステップS131に処理を進める。一方、プロセッサ81は、上記直上方向の加速度変化量が第5閾値より大きい場合、ステップS132に処理を進める。   Next, the processor 81 determines whether or not the acceleration change amount of the right controller 4 calculated in the above step S129 in the upward direction is equal to or smaller than a fifth threshold value (for example, 1.2 G) (step S130; conditions). Then, when the amount of change in the acceleration in the upward direction is equal to or smaller than the fifth threshold, the processor 81 proceeds to step S131. On the other hand, if the amount of change in the acceleration in the upward direction is larger than the fifth threshold, the processor 81 proceeds to step S132.

ステップS131において、プロセッサ81は、ユーザの足踏み動作を歩き状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を歩き状態に設定して、状態データDkを更新する。   In step S131, the processor 81 sets the stepping action of the user to the walking state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping action of the user to the walking state and updates the state data Dk.

一方、ステップS132において、プロセッサ81は、ユーザの足踏み動作をジョギング状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作をジョギング状態に設定して、状態データDkを更新する。   On the other hand, in step S132, the processor 81 sets the stepping motion of the user to the jogging state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping motion of the user to the jogging state and updates the state data Dk.

ステップS133において、プロセッサ81は、ユーザの足踏み動作を停止状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を停止状態に設定して、状態データDkを更新する。   In step S133, the processor 81 sets the stepping operation of the user to the stop state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping operation of the user to the stop state, and updates the state data Dk.

上記ステップS121〜S128における処理から明らかなように、上記第1動き出し条件および上記第2動き出し条件を何れも満たす場合(上記ステップS122および上記ステップS124が何れも肯定判定)、または上記第1動き出し条件および第3動き出し条件を何れも満たす場合(上記ステップS122、上記ステップS126、および上記ステップS128が何れも肯定判定)、ステップS133の処理が行われずにユーザが停止状態以外の状態に変更される、すなわちユーザが停止状態から動き出したと判定されることになり、ユーザの動き出し判定を行っていることになる。また、上記ステップS129〜S132における処理は、上記ステップS121〜S133における動き出し判定処理においてユーザが停止状態から動き出したと判定された際に、どのような動作で動き出すかを判定する動き出し時動作判別条件を用いた判定を行う処理となる。   As is clear from the processing in steps S121 to S128, when both the first movement start condition and the second movement start condition are satisfied (both step S122 and step S124 are affirmatively determined), or when the first movement start condition is satisfied. And when all of the third movement start conditions are satisfied (the above-described steps S122, S126, and S128 are all affirmative), the user is changed to a state other than the stopped state without performing the processing of step S133. That is, it is determined that the user has started moving from the stop state, and thus the user has started moving. Further, the processing in steps S129 to S132 is based on a movement start operation determination condition for determining what kind of operation to start when it is determined in the movement start determination processing in steps S121 to S133 that the user has started moving from the stop state. This is the process of making the determination.

図18に戻り、上記ステップS105の動き出し時処理の後、プロセッサ81は、ユーザの足踏み動作が停止状態であるか否かを判定する(ステップS106)。例えば、プロセッサ81は、状態データDkが停止状態を示す場合、上記ステップS106において肯定判定する。そして、プロセッサ81は、ユーザの足踏み動作が停止状態でない場合、ステップS107に処理を進める。一方、プロセッサ81は、ユーザの足踏み動作が停止状態である場合、ステップS112に処理を進める。   Returning to FIG. 18, after the process at the time of starting the movement in step S <b> 105, the processor 81 determines whether or not the stepping operation of the user is in a stopped state (step S <b> 106). For example, when the state data Dk indicates a stopped state, the processor 81 makes an affirmative determination in step S106. Then, if the user's stepping action is not in the stopped state, the processor 81 proceeds to step S107. On the other hand, when the user's stepping action is in the stopped state, the processor 81 proceeds to step S112.

ステップS107において、プロセッサ81は、ユーザ動作判定処理を行い(ステップS107)、ステップS108に処理を進める。以下、図20を参照して、上記ステップS107において行われるユーザ動作判定処理について説明する。   In step S107, the processor 81 performs a user operation determination process (step S107), and proceeds to step S108. Hereinafter, the user operation determination process performed in step S107 will be described with reference to FIG.

図20において、プロセッサ81は、直近の所定期間(例えば、15フレーム)における左コントローラ3の前後方向(例えば、x軸方向周り)の角度の最大値および最小値を取得して(ステップS141)、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、左コントローラ3において直前の所定期間において生じているユーザの前後方向(例えば、左コントローラ3のx軸周り)の角速度を取得し、当該角速度から算出された当該前後方向の角度(膝曲げ角度が大きくなるほど大きくなる角度)の最大値および最小値を取得する。   In FIG. 20, the processor 81 acquires the maximum value and the minimum value of the angle of the left controller 3 in the front-rear direction (for example, around the x-axis direction) in the latest predetermined period (for example, 15 frames) (step S141). Proceed to the next step. For example, using the angular velocity data Db, the processor 81 obtains the angular velocity of the user in the front-rear direction (for example, around the x-axis of the left controller 3) generated in the left controller 3 in the immediately preceding predetermined period, and calculates the angular velocity from the angular velocity. The maximum value and the minimum value of the angle in the front-rear direction (the angle that increases as the knee bending angle increases) are acquired.

次に、プロセッサ81は、上記ステップS141において取得された最小値が得られた時点より最大値が得られた時点が直近か否かを判定する(ステップS142;第1股上げ判定条件、第1股下げ判定条件)。そして、プロセッサ81は、最大値が得られた時点が直近である場合、ステップS143に処理を進める。一方、プロセッサ81は、最小値が得られた時点が直近である場合、ステップS146に処理を進める。   Next, the processor 81 determines whether or not the time at which the maximum value is obtained is more recent than the time at which the minimum value obtained at step S141 is obtained (step S142; first rise determination condition, first Inseam determination condition). Then, when the time when the maximum value is obtained is the latest, the processor 81 proceeds to the process in step S143. On the other hand, when the time when the minimum value is obtained is the latest, the processor 81 proceeds to the process in step S146.

ステップS143において、プロセッサ81は、直近の所定期間における左コントローラ3の鉛直方向の加速度を取得し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcを用いて、直近の所定期間(例えば、15フレーム)における左コントローラ3の鉛直方向の加速度を取得する。   In step S143, the processor 81 acquires the vertical acceleration of the left controller 3 in the latest predetermined period, and proceeds to the next step. For example, the processor 81 obtains the vertical acceleration of the left controller 3 in the latest predetermined period (for example, 15 frames) using the acceleration data Dc.

次に、プロセッサ81は、上記ステップS143において取得された加速度が第6閾値(例えば、0.8G)以下であるか否かを判定する(ステップS144;第2股上げ判定条件)。そして、プロセッサ81は、上記ステップS143において取得された加速度が第6閾値以下である場合、左コントローラ3が実空間の直上方向に加速していると判定して、ステップS145に処理を進める。一方、プロセッサ81は、上記ステップS143において取得された加速度が第6閾値より大きい場合、左コントローラ3が実空間の直上方向に加速していないと判定して、そのまま当該サブルーチンによる処理を終了する。   Next, the processor 81 determines whether or not the acceleration acquired in the above step S143 is equal to or less than a sixth threshold value (for example, 0.8 G) (step S144; second rise determination condition). Then, when the acceleration acquired in step S143 is equal to or smaller than the sixth threshold, the processor 81 determines that the left controller 3 is accelerating in a direction directly above the real space, and proceeds to step S145. On the other hand, when the acceleration acquired in step S143 is larger than the sixth threshold, the processor 81 determines that the left controller 3 is not accelerating in a direction directly above the real space, and ends the processing of the subroutine as it is.

ステップS145において、プロセッサ81は、左コントローラ3の前後方向(例えば、x軸方向周り)の角度の最大値が得られた時点を股上げ時点として設定し、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、上記ステップS141において取得された最大値が得られた時点を股上げ時点として、股上げ時点データDfを更新する。   In step S145, the processor 81 sets the time point at which the maximum value of the angle in the front-rear direction (for example, around the x-axis direction) of the left controller 3 is obtained as the crotch time point, and ends the processing of the subroutine. For example, the processor 81 updates the crotch time data Df with the time at which the maximum value acquired in step S141 is obtained as the crotch time.

一方、ステップS146において、プロセッサ81は、直近の所定期間における左コントローラ3の鉛直方向の加速度を取得し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcを用いて、直近の所定期間(例えば、15フレーム)における左コントローラ3の鉛直方向の加速度を取得する。   On the other hand, in step S146, the processor 81 acquires the vertical acceleration of the left controller 3 in the latest predetermined period, and proceeds to the next step. For example, the processor 81 obtains the vertical acceleration of the left controller 3 in the latest predetermined period (for example, 15 frames) using the acceleration data Dc.

次に、プロセッサ81は、上記ステップS146において取得された加速度が第7閾値(例えば、1.2G)以上であるか否かを判定する(ステップS147;第2股下げ判定条件)。そして、プロセッサ81は、上記ステップS146において取得された加速度が第7閾値以上である場合、左コントローラ3が実空間の鉛直方向に加速していると判定して、ステップS148に処理を進める。一方、プロセッサ81は、上記ステップS146において取得された加速度が第7閾値より小さい場合、左コントローラ3が実空間の鉛直方向に加速していないと判定して、そのまま当該サブルーチンによる処理を終了する。   Next, the processor 81 determines whether or not the acceleration acquired in step S146 is equal to or greater than a seventh threshold (for example, 1.2 G) (step S147; second inseam determination condition). Then, when the acceleration acquired in step S146 is equal to or greater than the seventh threshold, the processor 81 determines that the left controller 3 is accelerating in the vertical direction of the real space, and proceeds to step S148. On the other hand, when the acceleration acquired in step S146 is smaller than the seventh threshold value, the processor 81 determines that the left controller 3 is not accelerating in the vertical direction of the real space, and ends the processing of the subroutine as it is.

ステップS148において、プロセッサ81は、左コントローラ3の前後方向(例えば、x軸方向周り)の角度の最小値が得られた時点を股下げ時点として設定し、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS141において取得された最小値が得られた時点を今回の股下げ時点として、当該股下げ時点が新たな時点である場合に当該股下げ時点を示すデータを股下げ時点データDgに追加する。   In step S148, the processor 81 sets a time point at which the minimum value of the angle of the left controller 3 in the front-rear direction (for example, around the x-axis direction) is obtained as a crotch time point, and proceeds to the next step. For example, the processor 81 sets the time point at which the minimum value acquired in step S141 is obtained as the current inseaming time point, and if the inseaming time point is a new time point, sends the data indicating the inseaming time point to the inseamless time. It is added to the time data Dg.

次に、プロセッサ81は、足踏み周期および股上げ時点から股下げ時点までの時間をそれぞれ算出して(ステップS149)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、股下げ時点データDgが示す前回の股下げ時点から今回の股下げ時点までの時間を足踏み周期として算出する。また、プロセッサ81は、股上げ時点データDfが示す股上げ時点から股下げ時点データDgが示す今回の股下げ時点までの時間を算出する。そして、プロセッサ81は、算出された足踏み周期および股上げ時点から股下げ時点までの時間を用いて、足踏み周期データDhを更新する。   Next, the processor 81 calculates the stepping period and the time from the time of the rise to the time of the crotch (step S149), and ends the processing of the subroutine. For example, the processor 81 calculates, as the stepping cycle, a time period from the previous crotch time point indicated by the crotch time point data Dg to the current crotch time point. In addition, the processor 81 calculates the time from the time of the crotch indicated by the crotch time data Df to the current time of the crotch indicated by the crotch time data Dg. Then, the processor 81 updates the stepping cycle data Dh by using the calculated stepping cycle and the time from the time of the rise to the time of the crotch.

図18に戻り、上記ステップS107のユーザ動作判定処理の後、プロセッサ81は、ユーザの足踏み動作開始後の動作判定(移動時動作判定)を行い(ステップS108)、ステップS109に処理を進める。以下、図21を参照して、上記ステップS108において行われる移動時判定処理について説明する。   Referring back to FIG. 18, after the user operation determination processing in step S107, the processor 81 performs an operation determination (movement operation determination) after the user starts the stepping operation (step S108), and proceeds to step S109. Hereinafter, with reference to FIG. 21, a description will be given of the movement-time determination process performed in step S108.

図21において、プロセッサ81は、ユーザの足踏み周期を取得し(ステップS151)、次のステップに処理を進める。例えば、プロセッサ81は、足踏み周期データDhを用いて、ユーザの足踏み操作における足踏み周期(具体的には、ベルト型拡張装置6が締着されたユーザの左股を上げ下げする周期)を取得する。   In FIG. 21, the processor 81 acquires the stepping cycle of the user (step S151), and proceeds to the next step. For example, the processor 81 acquires a stepping cycle (specifically, a cycle of raising and lowering the left crotch of the user to which the belt-type extension device 6 is fastened) in the stepping operation of the user using the stepping cycle data Dh.

次に、プロセッサ81は、上記ステップS151において取得した足踏み周期が第8閾値(例えば、60フレーム)以上であるか否かを判定する(ステップS152;第1動き出し後動作判別条件)。そして、プロセッサ81は、足踏み周期が第8閾値より短い場合、ステップS158に処理を進める。一方、プロセッサ81は、足踏み周期が第8閾値以上である場合、ステップS153に処理を進める。   Next, the processor 81 determines whether or not the stepping cycle acquired in step S151 is equal to or longer than an eighth threshold (for example, 60 frames) (step S152; first motion determination condition after starting motion). Then, when the stepping cycle is shorter than the eighth threshold, the processor 81 proceeds with the process to step S158. On the other hand, when the stepping cycle is equal to or longer than the eighth threshold, the processor 81 proceeds to the process in step S153.

ステップS153において、ユーザの股上げ時点から股下げ時点までの時間を取得し、次のステップに処理を進める。例えば、プロセッサ81は、足踏み周期データDhを用いて、ユーザの足踏み操作における股上げ時点から股下げ時点までの時間を取得する。   In step S153, the time from the user's crotch point to the crotch point is acquired, and the process proceeds to the next step. For example, the processor 81 uses the stepping cycle data Dh to acquire the time from the point at which the user steps up in the stepping operation to the point at which the user steps down.

次に、プロセッサ81は、上記ステップS153において取得した股上げ時点から股下げ時点までの時間が第9閾値(例えば、20フレーム)以上であるか否かを判定する(ステップS154;第2動き出し後動作判別条件)。そして、プロセッサ81は、股上げ時点から股下げ時点までの時間が第9閾値より短い場合、ステップS158に処理を進める。一方、プロセッサ81は、股上げ時点から股下げ時点までの時間が第9閾値以上である場合、ステップS155に処理を進める。   Next, the processor 81 determines whether or not the time from the crotch time to the crotch time acquired in step S153 is equal to or greater than a ninth threshold (for example, 20 frames) (step S154; after the second movement starts). Operation determination condition). Then, when the time from the time of raising the crotch to the time of lowering the crotch is shorter than the ninth threshold, the processor 81 proceeds to step S158. On the other hand, when the time from the time of the rise to the time of the rise is equal to or greater than the ninth threshold, the processor 81 proceeds to step S155.

ステップS156において、プロセッサ81は、所定期間分の右コントローラ4において生じる直上方向の加速度の変化量を算出し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcおよび重力方向データDeを用いて、直前の所定期間(例えば、15フレーム)における右コントローラ4の直上方向の加速度変化量を算出する。   In step S156, the processor 81 calculates the amount of change in the acceleration in the upward direction generated in the right controller 4 for a predetermined period, and proceeds to the next step. For example, the processor 81 uses the acceleration data Dc and the gravitational direction data De to calculate the amount of change in acceleration of the right controller 4 in the immediately upward direction during the immediately preceding predetermined period (for example, 15 frames).

次に、プロセッサ81は、上記ステップS156において算出された右コントローラ4の直上方向の加速度変化量が第5閾値(例えば、1.2G)以下であるかを判定する(ステップS157;第3動き出し後動作判別条件)。そして、プロセッサ81は、上記直上方向の加速度変化量が第5閾値以下である場合、ステップS157に処理を進める。一方、プロセッサ81は、上記直上方向の加速度変化量が第5閾値より大きい場合、ステップS158に処理を進める。   Next, the processor 81 determines whether or not the acceleration change amount of the right controller 4 calculated in the above step S156 in the upward direction is equal to or smaller than a fifth threshold value (for example, 1.2 G) (step S157; after the third movement is started). Operation determination condition). Then, when the amount of change in the acceleration in the upward direction is equal to or smaller than the fifth threshold value, the processor 81 proceeds to step S157. On the other hand, when the amount of change of the acceleration in the upward direction is larger than the fifth threshold value, the processor 81 proceeds to step S158.

ステップS158において、プロセッサ81は、ユーザの足踏み動作をジョギング状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作をジョギング状態に設定して、状態データDkを更新する。   In step S158, the processor 81 sets the stepping motion of the user to the jogging state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping motion of the user to the jogging state and updates the state data Dk.

一方、ステップS157において、プロセッサ81は、ユーザの足踏み動作がジョギング状態であるか否かを判定する。例えば、プロセッサ81は、状態データDkがジョギング状態を示す場合、上記ステップS157において肯定判定する。そして、プロセッサ81は、ユーザの足踏み動作がジョギング状態でない場合、ステップS159に処理を進める。一方、プロセッサ81は、ユーザの足踏み動作がジョギング状態である場合、ステップS160に処理を進める。   On the other hand, in step S157, the processor 81 determines whether or not the user's stepping action is in a jogging state. For example, when the state data Dk indicates a jogging state, the processor 81 makes an affirmative determination in step S157. Then, when the stepping motion of the user is not in the jogging state, the processor 81 proceeds to the process in step S159. On the other hand, if the stepping motion of the user is in the jogging state, the processor 81 proceeds to step S160.

ステップS159において、プロセッサ81は、ユーザの足踏み動作を歩き状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を歩き状態に設定して、状態データDkを更新する。   In step S159, the processor 81 sets the user's stepping action to the walking state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping action of the user to the walking state and updates the state data Dk.

ステップS160において、プロセッサ81は、ユーザの足踏み動作を停止状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を停止状態に設定して、状態データDkを更新する。   In step S160, the processor 81 sets the stepping operation of the user to the stop state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping operation of the user to the stop state, and updates the state data Dk.

上述したステップS108における移動時判定処理は、ユーザの足踏み動作が停止状態でない、すなわちユーザの足踏み動作が歩き状態、ジョギング状態、または走り状態において行われる処理である。ここで、上記ステップS151〜S160における処理から明らかなように、上記第1動き出し後動作判別条件、上記第2動き出し後動作判別条件、および上記第3動き出し後動作判別条件の全てを満たす場合(上記ステップS152、ステップS154、ステップS156が何れも肯定判定)、ユーザの足踏み動作が歩き状態である判定される。そして、上記ステップS151〜S156における処理によって、ユーザの足踏み動作がジョギング状態から歩き状態に変更される場合、上記ステップS157において肯定判定されることによって、一旦、停止状態に変更されることになる。なお、ステップS108における移動時判定処理は、ユーザが足踏み動作中に行われるため、上記ステップS105における動き出し時処理における動き出し判定処理と比較して、相対的に長い期間において取得された操作データが用いられるため、より正確にユーザの足踏み動作を判別することが可能となる。   The above-described moving time determination process in step S108 is a process in which the user's stepping action is not stopped, that is, the user's stepping action is performed in a walking state, a jogging state, or a running state. Here, as is clear from the processing in steps S151 to S160, a case where all of the first post-startup motion determination condition, the second post-startup motion determination condition, and the third post-startup motion determination condition are satisfied (the above-described third post-startup motion determination condition) Steps S152, S154, and S156 are all affirmative), and it is determined that the user's stepping action is in a walking state. When the stepping motion of the user is changed from the jogging state to the walking state by the processing in steps S151 to S156, an affirmative determination is made in step S157, and the state is temporarily changed to the stopped state. Since the movement determination processing in step S108 is performed during the stepping motion of the user, the operation data acquired in a relatively long period is used compared to the movement determination processing in the movement start processing in step S105. Therefore, it is possible to more accurately determine the stepping motion of the user.

図18に戻り、上記ステップS108の移動時判定処理の後、プロセッサ81は、ユーザの足踏み動作がジョギング状態または走り状態であるか否かを判定する(ステップS109)。例えば、プロセッサ81は、状態データDkがジョギング状態および走り状態の一方を示す場合、上記ステップS109において肯定判定する。そして、プロセッサ81は、ユーザの足踏み動作がジョギング状態または走り状態である場合、ステップS110に処理を進める。一方、プロセッサ81は、ユーザの足踏み動作がジョギング状態または走り状態でない場合、ステップS111に処理を進める。   Referring back to FIG. 18, after the movement determination processing in step S108, the processor 81 determines whether the stepping action of the user is in a jogging state or a running state (step S109). For example, when the state data Dk indicates one of the jogging state and the running state, the processor 81 makes an affirmative determination in step S109. Then, when the stepping action of the user is the jogging state or the running state, the processor 81 proceeds to the process in step S110. On the other hand, if the user's stepping action is not in the jogging state or the running state, the processor 81 proceeds to step S111.

ステップS110において、プロセッサ81は、ユーザがジョギング状態および走り状態の何れであるのかを判定する走り移動判定処理を行い、ステップS111に処理を進める。以下、図22を参照して、上記ステップS110において行われる走り移動判定処理について説明する。   In step S110, the processor 81 performs running movement determination processing for determining whether the user is in a jogging state or a running state, and proceeds to step S111. Hereinafter, the running movement determination processing performed in step S110 will be described with reference to FIG.

図22において、プロセッサ81は、左コントローラ3において生じた加速度変化量を直前の所定時間分(例えば、60フレーム分)合算した累積値を算出し(ステップS161)、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDbを用いて、左コントローラ3において生じているフレーム間毎の加速度変化量を所定時間分(例えば、60フレーム分)合算することによって累積値を算出し、算出された累積値を現フレームにおいて算出された累積値として加速度変化累積値データDiに追加する。   In FIG. 22, the processor 81 calculates a cumulative value obtained by adding the acceleration change amount generated in the left controller 3 for the immediately preceding predetermined time (for example, for 60 frames) (step S161), and proceeds to the next step. For example, using the acceleration data Db, the processor 81 calculates a cumulative value by adding the acceleration change amount between frames generated in the left controller 3 for a predetermined time (for example, 60 frames). The accumulated value is added to the acceleration change accumulated value data Di as the accumulated value calculated in the current frame.

次に、プロセッサ81は、過去の処理において算出されている上記累積値の所定期間分(例えば、30フレーム分)の平均値を算出し(ステップS162)、次のステップに処理を進める。例えば、プロセッサ81は、加速度変化累積値データDiに格納されている累積値から現フレームを含めて直前の所定期間分を取得し、当該累積値の平均値を算出する。   Next, the processor 81 calculates an average value of the accumulated value calculated in the past process for a predetermined period (for example, 30 frames) (step S162), and proceeds to the next step. For example, the processor 81 obtains the immediately preceding predetermined period including the current frame from the cumulative value stored in the acceleration change cumulative value data Di, and calculates the average value of the cumulative value.

次に、プロセッサ81は、ユーザ毎に「ジョギング状態」と「走り状態」とをユーザ毎に判定するために、現ユーザに対して予め設定されたユーザ閾値を取得し(ステップS163)、次のステップに処理を進める。例えば、プロセッサ81は、ユーザ閾値データDnを参照して、現ユーザに対して予め設定されているユーザ閾値を取得する。   Next, the processor 81 acquires a preset user threshold value for the current user in order to determine the “jogging state” and the “running state” for each user (step S163). Proceed to step. For example, the processor 81 refers to the user threshold data Dn and acquires a user threshold preset for the current user.

次に、プロセッサ81は、上記ステップS162において算出された平均値が上記ユーザ閾値以上であるか否かを判定する(ステップS164)。そして、プロセッサ81は、上記平均値が上記ユーザ閾値以上である場合、ステップS165に処理を進める。一方、プロセッサ81は、上記平均値が上記ユーザ閾値より小さい場合、ステップS166に処理を進める。   Next, the processor 81 determines whether or not the average value calculated in step S162 is equal to or greater than the user threshold (step S164). If the average is equal to or larger than the user threshold, the processor 81 proceeds to step S165. On the other hand, when the average value is smaller than the user threshold, the processor 81 proceeds to step S166.

ステップS165において、プロセッサ81は、ユーザの足踏み動作を走り状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を走り状態に設定して、状態データDkを更新する。   In step S165, the processor 81 sets the stepping motion of the user to the running state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping action of the user to the running state and updates the state data Dk.

一方、ステップS156において、プロセッサ81は、ユーザの足踏み動作をジョギング状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作をジョギング状態に設定して、状態データDkを更新する。   On the other hand, in step S156, the processor 81 sets the stepping motion of the user to the jogging state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping motion of the user to the jogging state and updates the state data Dk.

図18に戻り、上記ステップS110の走り移動判定処理の後、または上記ステップS109において否定判定された後、プロセッサ81は、ユーザが足踏み状態から停止状態に変化したかを判定する停止判定処理を行い(ステップS111)、ステップS112に処理を進める。以下、図23を参照して、上記ステップS111において行われる停止判定処理について説明する。   Returning to FIG. 18, after the running movement determination processing in step S110 or after a negative determination in step S109, the processor 81 performs a stop determination processing for determining whether the user has changed from a stepping state to a stopped state. (Step S111), the process proceeds to step S112. Hereinafter, the stop determination process performed in step S111 will be described with reference to FIG.

図23において、プロセッサ81は、ユーザの足踏み動作が歩き状態であるか否かを判定する(ステップS171)。例えば、プロセッサ81は、状態データDkが歩き状態を示す場合、上記ステップS171において肯定判定する。そして、プロセッサ81は、ユーザの足踏み動作が歩き状態である場合、ステップS172に処理を進める。一方、プロセッサ81は、ユーザの足踏み動作が歩き状態でない場合、ステップS181に処理を進める。   In FIG. 23, the processor 81 determines whether or not the user's stepping action is in a walking state (step S171). For example, when the state data Dk indicates the walking state, the processor 81 makes an affirmative determination in step S171. Then, when the user's stepping action is in the walking state, the processor 81 proceeds to step S172. On the other hand, when the user's stepping action is not in the walking state, the processor 81 proceeds to step S181.

ステップS172において、プロセッサ81は、右コントローラ4において生じている角速度を取得し、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、右コントローラ4のおいて生じている角速度を取得する。   In step S172, the processor 81 acquires the angular velocity generated in the right controller 4, and proceeds to the next step. For example, the processor 81 acquires the angular velocity generated in the right controller 4 using the angular velocity data Db.

次に、プロセッサ81は、上記ステップS172において取得した角速度が0であるか否かを判定する(ステップS173;第1停止動作判定条件)。そして、プロセッサ81は、上記ステップS172において取得した角速度が0でない場合、ステップS174に処理を進める。一方、プロセッサ81は、上記ステップS172において取得した角速度が0である場合、ステップS179に処理を進める。   Next, the processor 81 determines whether or not the angular velocity acquired in step S172 is 0 (step S173; first stop operation determination condition). If the angular velocity acquired in step S172 is not 0, the processor 81 proceeds to step S174. On the other hand, when the angular velocity acquired in step S172 is 0, the processor 81 proceeds to step S179.

ステップS174において、プロセッサ81は、直近の所定期間(例えば、90フレーム)における左コントローラ3の角度変化を算出し、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、左コントローラ3において直前の所定期間内で生じている角速度を取得し、当該角速度を用いて、当該所定期間における左コントローラ3の角度変化を算出する。   In step S174, the processor 81 calculates the change in the angle of the left controller 3 in the latest predetermined period (for example, 90 frames), and proceeds to the next step. For example, the processor 81 uses the angular velocity data Db to acquire an angular velocity occurring in the immediately preceding predetermined period in the left controller 3, and calculates an angle change of the left controller 3 during the predetermined period using the angular velocity. .

次に、プロセッサ81は、上記ステップS174において算出した角度変化が第10閾値(例えば、10°)以下であるか否かを判定する(ステップS175;第2停止動作判定条件)。そして、プロセッサ81は、上記ステップS174において算出した角度変化が第10閾値以下である場合、ステップS176に処理を進める。一方、プロセッサ81は、上記ステップS174において算出した角度変化が第10閾値より大きい場合、ステップS178に処理を進める。   Next, the processor 81 determines whether or not the change in the angle calculated in step S174 is equal to or smaller than a tenth threshold value (for example, 10 °) (step S175; second stop operation determination condition). If the angle change calculated in step S174 is equal to or smaller than the tenth threshold, the processor 81 proceeds to step S176. On the other hand, if the angle change calculated in step S174 is larger than the tenth threshold, the processor 81 proceeds to step S178.

ステップS176において、プロセッサ81は、直近の所定期間(例えば、10フレーム)における左コントローラ3の角速度変位量を算出し、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、左コントローラ3において直前の所定期間内で生じている角速度を取得し、当該角速度を用いて、当該所定期間における左コントローラ3の角速度変位量を算出する。   In step S176, the processor 81 calculates the amount of angular velocity displacement of the left controller 3 in the latest predetermined period (for example, 10 frames), and proceeds to the next step. For example, the processor 81 uses the angular velocity data Db to acquire the angular velocity generated in the immediately preceding predetermined period in the left controller 3, and calculates the angular velocity displacement of the left controller 3 in the predetermined period using the angular velocity. I do.

次に、プロセッサ81は、上記ステップS176において算出した角速度変位量が第11閾値(例えば、0.01)以下であるか否かを判定する(ステップS177;第2停止動作判定条件)。そして、プロセッサ81は、上記ステップS176において算出した角速度変位量が第11閾値以下である場合、ステップS179に処理を進める。一方、プロセッサ81は、上記ステップS176において算出した角速度変位量が第11閾値より大きい場合、ステップS178に処理を進める。   Next, the processor 81 determines whether or not the angular velocity displacement calculated in step S176 is equal to or smaller than an eleventh threshold (for example, 0.01) (step S177; second stop operation determination condition). If the angular velocity displacement calculated in step S176 is equal to or smaller than the eleventh threshold, the processor 81 proceeds to step S179. On the other hand, if the angular velocity displacement calculated in step S176 is larger than the eleventh threshold, the processor 81 proceeds to step S178.

ステップS178において、プロセッサ81は、ユーザの足踏み動作を歩き状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を歩き状態に設定して、状態データDkを更新する。   In step S178, the processor 81 sets the stepping motion of the user to the walking state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping action of the user to the walking state and updates the state data Dk.

ステップS179において、プロセッサ81は、ユーザの足踏み動作を停止状態に設定して、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ユーザの足踏み動作を停止状態に設定して、状態データDkを更新する。   In step S179, the processor 81 sets the stepping operation of the user to the stop state, and ends the processing of the subroutine. For example, the processor 81 sets the stepping operation of the user to the stop state, and updates the state data Dk.

上記ステップS171〜S179における処理から明らかなように、ユーザが歩き状態で足踏み動作を行っている状態で(上記ステップS171が肯定判定)、上記第1停止動作判定条件および上記第2停止動作判定条件の少なくとも1つを満たす場合(上記ステップS173が肯定判定、または上記ステップS175および上記ステップS177が何れも肯定判定)、ユーザの足踏み動作が歩き状態から停止状態に変更されることになる。ここで、ユーザが停止状態となることなく歩き状態を継続するためには、上記第1停止動作判定条件および第2停止動作判定条件が何れも成立しないように、上記ステップS173において否定判定されるために右コントローラ4において角速度を継続して生じさせるとともに、上記ステップS175および上記ステップS177の何れにおいて否定判定されるために所定時間において第10閾値より大きい左コントローラ3の角度変化を生じさせるまたは第11閾値以上の左コントローラ3の角速度変化を生じさせることが必要となる。したがって、ユーザが停止状態となることなく歩き状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方を継続して動かすことが必要となり、ユーザの全身を使った操作を促進することができる。また、上記第1停止動作判定条件および上記第2停止動作判定条件は、ユーザの動作継続判定条件としても機能していることになる。   As is clear from the processing in steps S171 to S179, in a state where the user is performing a stepping action while walking (the step S171 is affirmative), the first stop operation determination condition and the second stop operation determination condition are set. (At step S173 is affirmative, or both steps S175 and S177 are affirmative), the stepping action of the user is changed from the walking state to the stopped state. Here, in order to continue the walking state without the user being in the stop state, a negative determination is made in step S173 so that neither the first stop operation determination condition nor the second stop operation determination condition is satisfied. For this reason, the angular velocity of the left controller 3 is larger than the tenth threshold value in a predetermined time because the right controller 4 continuously generates the angular velocity and the negative determination is made in any of the step S175 and the step S177. It is necessary to cause a change in the angular velocity of the left controller 3 that is equal to or greater than 11 thresholds. Therefore, in order for the user to continue the walking state without stopping, it is necessary to continuously move both the left controller 3 (the belt-type expansion device 6) and the right controller 4 (the ring-type expansion device 5). Thus, the operation using the whole body of the user can be promoted. In addition, the first stop operation determination condition and the second stop operation determination condition also function as a user operation continuation determination condition.

一方、ステップS181において、プロセッサ81は、右コントローラ4において生じている角速度を取得し、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、右コントローラ4のおいて生じている角速度を取得する。   On the other hand, in step S181, the processor 81 acquires the angular velocity generated in the right controller 4, and proceeds to the next step. For example, the processor 81 acquires the angular velocity generated in the right controller 4 using the angular velocity data Db.

次に、プロセッサ81は、上記ステップS181において取得した角速度が0であるか否かを判定する(ステップS182;第3停止動作判定条件)。そして、プロセッサ81は、上記ステップS181において取得した角速度が0でない場合、ステップS183に処理を進める。一方、プロセッサ81は、上記ステップS181において取得した角速度が0である場合、ステップS179に処理を進める。   Next, the processor 81 determines whether or not the angular velocity acquired in step S181 is 0 (step S182; third stop operation determination condition). If the angular velocity acquired in step S181 is not 0, the processor 81 proceeds to step S183. On the other hand, when the angular velocity acquired in step S181 is 0, the processor 81 proceeds to step S179.

ステップS183において、プロセッサ81は、直近の所定期間(例えば、10フレーム)における左コントローラ3および右コントローラ4の加速度変化をそれぞれ算出し、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcを用いて、左コントローラ3および右コントローラ4において直前の所定期間内でそれぞれ生じている加速度を取得し、当該加速度を用いて、当該所定期間における左コントローラ3および右コントローラ4の加速度変化をそれぞれ算出する。   In step S183, the processor 81 calculates acceleration changes of the left controller 3 and the right controller 4 in the latest predetermined period (for example, 10 frames), and proceeds to the next step. For example, the processor 81 uses the acceleration data Dc to acquire accelerations that have occurred in the left controller 3 and the right controller 4 within the immediately preceding predetermined period, respectively, and uses the acceleration to obtain the left controller 3 and the right controller 3 during the predetermined period. The acceleration change of the right controller 4 is calculated.

次に、プロセッサ81は、上記ステップS183において算出した左コントローラ3および右コントローラ4それぞれの加速度変化における少なくとも一方が第12閾値以下であるか否かを判定する(ステップS184;第4停止動作判定条件)。そして、プロセッサ81は、上記ステップS183において算出した加速度変化の少なくとも一方が第12閾値以下である場合、ステップS179に処理を進める。一方、プロセッサ81は、上記ステップS183において算出した加速度変化の両方が何れも第12閾値より大きい場合、ステップS185に処理を進める。   Next, the processor 81 determines whether at least one of the acceleration changes of the left controller 3 and the right controller 4 calculated in step S183 is equal to or smaller than a twelfth threshold (step S184; fourth stop operation determination condition). ). Then, when at least one of the acceleration changes calculated in step S183 is equal to or smaller than the twelfth threshold, the processor 81 proceeds to step S179. On the other hand, when both the change in acceleration calculated in step S183 is larger than the twelfth threshold, the processor 81 proceeds to step S185.

ステップS185において、プロセッサ81は、直近の所定期間(例えば、10フレーム)における左コントローラ3の角速度平均値を算出し、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを用いて、左コントローラ3において直前の所定期間内で生じている角速度を取得し、当該角速度を用いて、当該所定期間における左コントローラ3の角速度平均値を算出する。   In step S185, the processor 81 calculates the average value of the angular velocity of the left controller 3 in the latest predetermined period (for example, 10 frames), and proceeds to the next step. For example, the processor 81 uses the angular velocity data Db to obtain the angular velocity generated in the immediately preceding predetermined period in the left controller 3, and calculates the average angular velocity of the left controller 3 during the predetermined period using the angular velocity. I do.

次に、プロセッサ81は、上記ステップS185において算出した角速度平均値が第13閾値以下であるか否かを判定する(ステップS186;第5停止動作判定条件)。そして、プロセッサ81は、上記ステップS185において算出した角速度平均値が第13閾値以下である場合、ステップS179に処理を進める。一方、プロセッサ81は、上記ステップS185において算出した角速度平均値が第13閾値より大きい場合、ステップS187に処理を進める。   Next, the processor 81 determines whether or not the angular velocity average value calculated in step S185 is equal to or less than a thirteenth threshold (step S186; fifth stop operation determination condition). Then, when the average angular velocity calculated in step S185 is equal to or smaller than the thirteenth threshold, the processor 81 proceeds to step S179. On the other hand, when the average angular velocity calculated in step S185 is larger than the thirteenth threshold, the processor 81 proceeds to step S187.

ステップS187において、プロセッサ81は、ユーザの足踏み動作をそのままの状態に維持して、当該サブルーチンによる処理を終了する。   In step S187, the processor 81 maintains the stepping operation of the user as it is, and ends the processing of the subroutine.

上記ステップS171、ステップS179、およびステップS181〜S187における処理から明らかなように、ユーザがジョギング状態または走り状態で足踏み動作を行っている状態で(上記ステップS171が否定判定)、上記第3停止動作判定条件〜上記第5停止動作判定条件の少なくとも1つを満たす場合(上記ステップS182が肯定判定、上記ステップS184が肯定判定、または上記ステップS186が肯定判定)、ユーザの足踏み動作がジョギング状態または走り状態から停止状態に変更されることになる。ここで、ユーザが停止状態となることなくジョギング状態または走り状態を継続するためには、上記第3停止動作判定条件〜上記第5停止動作判定条件が何れも成立しないように、上記ステップS182において否定判定されるために右コントローラ4において角速度を継続して生じさせ、上記ステップS184において否定判定されるために所定時間において第12閾値より大きい加速度を左コントローラ3および右コントローラ4の両方に生じさせ、上記ステップS186において否定判定されるために所定時間において第13閾値より大きい角速度平均値となるように左コントローラ3を動かすことが必要となる。したがって、ユーザが停止状態となることなくジョギング状態または走り状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方を継続して動かすことが必要となり、ユーザの全身を使った操作を促進することができる。また、上記第3停止動作判定条件〜上記第5停止動作判定条件は、ユーザの動作継続判定条件としても機能していることになる。   As is clear from the processing in steps S171, S179, and steps S181 to S187, in a state where the user is performing a stepping action in a jogging state or a running state (the step S171 is negative), the third stop operation is performed. If at least one of the determination condition to the fifth stop operation determination condition is satisfied (the step S182 is affirmative, the step S184 is affirmative, or the step S186 is affirmative), the stepping motion of the user is jogging or running. The state will be changed to the stopped state. Here, in order for the user to continue the jogging state or the running state without being in the stop state, in step S182, the third stop operation determination condition to the fifth stop operation determination condition are not satisfied. In order to make a negative determination, the right controller 4 continuously generates an angular velocity. In order to make a negative determination in step S184, an acceleration greater than the twelfth threshold is generated in both the left controller 3 and the right controller 4 for a predetermined time. Since the negative determination is made in step S186, it is necessary to move the left controller 3 so that the angular velocity average value becomes larger than the thirteenth threshold value in the predetermined time. Therefore, in order for the user to continue the jogging state or the running state without stopping, both the left controller 3 (belt-type expansion device 6) and the right controller 4 (ring-type expansion device 5) are continuously moved. This makes it possible to promote operation using the whole body of the user. Further, the third stop operation determination condition to the fifth stop operation determination condition also function as a user operation continuation determination condition.

図18に戻り、上記ステップS111の停止判定処理の後、または上記ステップS106において肯定判定された後、プロセッサ81は、リング方向算出処理を行い(ステップS112)、ステップS113に処理を進める。以下、図24を参照して、上記ステップS112において行われるリング方向算出処理について説明する。   Returning to FIG. 18, after the stop determination processing in step S111 or after an affirmative determination in step S106, the processor 81 performs a ring direction calculation processing (step S112), and proceeds to step S113. Hereinafter, the ring direction calculation processing performed in step S112 will be described with reference to FIG.

図24において、プロセッサ81は、右コントローラ4に作用している重力加速度の方向を取得し(ステップS191)、次のステップに処理を進める。例えば、プロセッサ81は、重力方向データDeを参照して、現時点において右コントローラ4に作用している重力加速度の方向を取得する。   In FIG. 24, the processor 81 acquires the direction of the gravitational acceleration acting on the right controller 4 (step S191), and proceeds to the next step. For example, the processor 81 acquires the direction of the gravitational acceleration acting on the right controller 4 at the present time with reference to the gravitational direction data De.

次に、プロセッサ81は、上記ステップS191において取得した重力加速度の方向を用いて、リング型拡張装置5におけるロール方向に対する姿勢を算出し(ステップS192)、次のステップに処理を進める。例えば、プロセッサ81は、リング型拡張装置5に作用している重力加速度の方向に基づいて、右コントローラ4がz軸を基準として回転している姿勢、すなわちリング型拡張装置5を環状部201の円環軸を中心に回転させるロール方向の姿勢(図16に示すM3方向に回転することによって変化する姿勢)を算出し、当該算出結果を用いて、必要に応じて右コントローラ4における姿勢データDdを更新する。   Next, the processor 81 calculates the attitude of the ring-type expansion device 5 with respect to the roll direction using the direction of the gravitational acceleration acquired in step S191 (step S192), and proceeds to the next step. For example, based on the direction of the gravitational acceleration acting on the ring-type expansion device 5, the processor 81 sets the posture in which the right controller 4 is rotating with respect to the z-axis, that is, the ring-type expansion device 5 The posture in the roll direction (the posture that is changed by rotating in the M3 direction shown in FIG. 16) to rotate around the annular axis is calculated, and the posture data Dd in the right controller 4 is used as necessary using the calculation result. To update.

次に、プロセッサ81は、右コントローラ4(リング型拡張装置5)におけるヨー方向に対する姿勢を取得し(ステップS193)、次のステップに処理を進める。例えば、プロセッサ81は、姿勢データDdを参照して、右コントローラ4(リング型拡張装置5)におけるヨー方向に対する姿勢、すなわちx軸方向周りに生じている角速度(鉛直方向周りに作用する角速度)に基づいて算出されているx軸方向周りの姿勢を取得する。   Next, the processor 81 acquires the attitude of the right controller 4 (the ring-type expansion device 5) in the yaw direction (step S193), and proceeds to the next step. For example, the processor 81 refers to the posture data Dd to calculate the posture in the yaw direction in the right controller 4 (ring-type expansion device 5), that is, the angular velocity generated around the x-axis direction (angular velocity acting around the vertical direction). The posture around the x-axis direction calculated based on the calculated position is acquired.

次に、プロセッサ81は、上記ステップS193において取得されたヨー方向の姿勢に基づいて、当該ヨー方向のリング方向の角度を算出し(ステップS194)、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS193において取得されたヨー方向の姿勢に基づいて、リング方向データDjが示すリング方向の当該ヨー方向に対する角度を算出し、当該算出されたヨー方向に対する角度に応じてリング方向データDjを更新する。   Next, the processor 81 calculates the angle of the ring direction in the yaw direction based on the attitude in the yaw direction acquired in the above step S193 (step S194), and proceeds to the next step. For example, the processor 81 calculates the angle of the ring direction indicated by the ring direction data Dj with respect to the yaw direction based on the attitude in the yaw direction acquired in step S193, and according to the calculated angle with respect to the yaw direction. Update the ring direction data Dj.

次に、プロセッサ81は、直前の第1取得時間(例えば、30フレーム)において得られた右コントローラ4の平均加速度を算出し(ステップS195)、次のステップに処理を進める。例えば、プロセッサ81は、加速度データDcを参照して、右コントローラ4において直前の第1取得時間内に生じている加速度の平均値を算出する。   Next, the processor 81 calculates the average acceleration of the right controller 4 obtained in the immediately preceding first acquisition time (for example, 30 frames) (step S195), and proceeds to the next step. For example, the processor 81 refers to the acceleration data Dc and calculates an average value of the acceleration generated in the immediately preceding first acquisition time in the right controller 4.

次に、プロセッサ81は、上記ステップS195において算出された平均加速度に基づいて、ピッチ方向のリング方向の角度を算出し(ステップS196)、次のステップに処理を進める。例えば、プロセッサ81は、上記平均加速度を重力加速度であると仮定して、当該仮定された重力加速度を基準とした、ピッチ方向のリング方向の角度を算出する。   Next, the processor 81 calculates the angle in the ring direction in the pitch direction based on the average acceleration calculated in step S195 (step S196), and proceeds to the next step. For example, the processor 81 assumes that the average acceleration is a gravitational acceleration, and calculates an angle in the ring direction in the pitch direction based on the assumed gravitational acceleration.

次に、プロセッサ81は、直前の第2取得期間(<第1取得期間;例えば、15フレーム)において得られた右コントローラ4のy軸周りの角速度(水平方向周りの角速度)に基づいて、ピッチ方向の角度変位量を算出し(ステップS197)、次のステップに処理を進める。例えば、プロセッサ81は、角速度データDbを参照して、右コントローラ4において直前の第2取得期間内に生じているy軸周りの角速度(水平方向周りの角速度)を用いて、ピッチ方向の角度変位量を算出する。   Next, the processor 81 determines the pitch based on the angular velocity around the y-axis (angular velocity around the horizontal direction) of the right controller 4 obtained in the immediately preceding second acquisition period (<first acquisition period; for example, 15 frames). The amount of angular displacement in the direction is calculated (step S197), and the process proceeds to the next step. For example, the processor 81 refers to the angular velocity data Db, and uses the angular velocity around the y-axis (angular velocity around the horizontal direction) generated in the right controller 4 during the immediately preceding second acquisition period, to change the angular displacement in the pitch direction. Calculate the amount.

次に、プロセッサ81は、上記ステップS196において算出されたピッチ方向のリング方向の角度に、上記ステップS197において算出されたピッチ方向の角度変位量を加算することによって、ピッチ方向のリング方向の角度を新たに算出し(ステップS198)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、上記角度変位量が加算されたピッチ方向のリング方向の角度に応じて、リング方向データDjを更新する。   Next, the processor 81 adds the angular displacement in the pitch direction calculated in the step S197 to the angle in the pitch direction in the pitch direction calculated in the step S196, thereby setting the angle in the pitch direction in the ring direction. A new calculation is performed (step S198), and the processing of the subroutine ends. For example, the processor 81 updates the ring direction data Dj in accordance with the angle in the ring direction in the pitch direction to which the above-described angular displacement has been added.

図18に戻り、上記ステップS112のリング方向算出処理の後、プロセッサ81は、オブジェクト動作制御処理を行い(ステップS113)、次のステップに処理を進める。例えば、プロセッサ81は、状態データDkが示す状態に応じた動作で仮想オブジェクトPOを仮想ゲーム空間内で動作および/または移動させる。また、プロセッサ81は、股上げ時点データDfが股上げ時点、股下げ時点データDgが示す股下げ時点、および状態データDkが示す状態に応じて、仮想オブジェクトPOの移動速度を設定しながら仮想オブジェクトPOの足が上下するように動作させる。また、プロセッサ81は、リング方向データDjが示すリング方向に応じて、仮想ゲーム空間において仮想オブジェクトPOが両手で把持しているリングオブジェクトRの方向を設定し、当該設定された方向にリングオブジェクトRの円輪軸が向くように仮想オブジェクトPOおよびリングオブジェクトRの姿勢を変化させる。そして、プロセッサ81は、リング型拡張装置5における環状部201の変形状態を示す歪み値に基づいて、ユーザがリング型拡張装置5を用いて所定の攻撃操作(例えば、リング型拡張装置5におけるグリップカバー203および204が互いに近づくように環状部201を定常状態から閾値以上の変形を行う操作)を行っていることが検出された場合、当該攻撃操作に応じてリングオブジェクトRからリング方向を攻撃する演出を行う。また、プロセッサ81は、上記リングオブジェクトRからの攻撃によって、他のオブジェクト(例えば、オブジェクトT(図13参照))に影響を与える場合、当該影響に応じて当該他のオブジェクトの状態を変化(例えば、消滅)させる。そして、プロセッサ81は、上述したオブジェクトの動作、位置、姿勢、状態等に応じて、各オブジェクトに対応する仮想オブジェクトデータDmを更新する。なお、タイミング決定手段は、仮想オブジェクトの足または手の動作タイミングを決定する処理を行うものであり、一例としてステップS107およびS113の処理を行うプロセッサ81に相当する。   Referring back to FIG. 18, after the ring direction calculation processing in step S112, the processor 81 performs an object motion control processing (step S113), and proceeds to the next step. For example, the processor 81 operates and / or moves the virtual object PO in the virtual game space by an operation according to the state indicated by the state data Dk. Further, the processor 81 sets the moving speed of the virtual object PO while setting the moving speed of the virtual object PO in accordance with the rise time point Df, the rise time point indicated by the crotch point data Dg, and the state indicated by the state data Dk. The PO is operated so as to move up and down. Further, the processor 81 sets the direction of the ring object R held by the virtual object PO with both hands in the virtual game space according to the ring direction indicated by the ring direction data Dj, and sets the ring object R in the set direction. The postures of the virtual object PO and the ring object R are changed so that the circle axis of the virtual object PO is oriented. Then, based on the distortion value indicating the deformation state of the annular portion 201 in the ring-type expansion device 5, the processor 81 allows the user to perform a predetermined attack operation using the ring-type expansion device 5 (for example, a grip on the ring-type expansion device 5). When it is detected that the annular portion 201 is deformed from the steady state by a value greater than or equal to a threshold value so that the covers 203 and 204 come closer to each other, the ring object R is attacked in the ring direction according to the attack operation. Perform the production. In addition, when the attack from the ring object R affects another object (for example, the object T (see FIG. 13)), the processor 81 changes the state of the other object (for example, changes the state of the other object according to the influence). ,Extinguish. Then, the processor 81 updates the virtual object data Dm corresponding to each object according to the above-described motion, position, posture, state, and the like of the object. Note that the timing determination means performs processing for determining the motion timing of the foot or hand of the virtual object, and corresponds to the processor 81 that performs the processing of steps S107 and S113 as an example.

次に、プロセッサ81は、画像生成表示制御処理を行い(ステップS114)、次のステップに処理を進める。例えば、プロセッサ81は、仮想オブジェクトデータDmに基づいた動作、位置、姿勢、状態等に基づいて、仮想ゲーム空間に複数のオブジェクトを配置して、仮想ゲーム空間を生成する。そして、プロセッサ81は、仮想空間に仮想カメラを配置(例えば、仮想オブジェクトPOが視界に含まれるように、仮想オブジェクトPOの背後の位置に配置)し、当該仮想カメラから見た仮想ゲーム空間画像を生成して、当該仮想ゲーム空間画像を据置型モニタ9に出力する。   Next, the processor 81 performs an image generation / display control process (step S114), and proceeds to the next step. For example, the processor 81 generates a virtual game space by arranging a plurality of objects in the virtual game space based on an operation, a position, a posture, a state, and the like based on the virtual object data Dm. Then, the processor 81 arranges the virtual camera in the virtual space (for example, arranges it at a position behind the virtual object PO so that the virtual object PO is included in the field of view), and displays the virtual game space image viewed from the virtual camera. The virtual game space image is generated and output to the stationary monitor 9.

次に、プロセッサ81は、処理を終了するか否かを判定する(ステップS115)。上記ステップS115において処理を終了する条件としては、例えば、処理が終了される条件が満たされたことや、ユーザが処理を終了する操作を行ったこと等がある。プロセッサ81は、処理を終了しない場合に上記ステップS102に戻って処理を繰り返し、処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップS102〜ステップS115の一連の処理は、ステップS115で処理を終了すると判定されるまで繰り返し実行される。   Next, the processor 81 determines whether or not to end the processing (step S115). Conditions for terminating the process in step S115 include, for example, that the condition for terminating the process is satisfied, and that the user has performed an operation to terminate the process. The processor 81 returns to step S102 to repeat the processing if the processing is not to be ended, and ends the processing according to the flowchart when the processing is to be ended. Thereafter, a series of processing from step S102 to step S115 is repeatedly executed until it is determined in step S115 that the processing is to be ended.

このように、本実施例においては、ユーザの足踏み操作が停止状態となることなく、歩き状態、ジョギング状態、または走り状態を継続するためには、左コントローラ3(ベルト型拡張装置6)および右コントローラ4(リング型拡張装置5)の両方を継続して動かすことが必要となり、左コントローラ3によって動きが検出される上半身側と右コントローラ4によって動きが検出される下半身側との両方が継続条件を満たすことによって仮想オブジェクトPOの所定動作が継続されるため、ユーザの全身を使った操作を促進することができる。また、左コントローラ3および右コントローラ4から出力される操作データの両方の組み合わせを用いて、仮想オブジェクトPOの動作制御ができるため、仮想オブジェクトPOが実現可能な動作の種類を増加させることができる。   As described above, in the present embodiment, the left controller 3 (the belt-type extending device 6) and the right controller 3 are required to continue the walking state, the jogging state, or the running state without stopping the stepping operation of the user. It is necessary to continuously move both the controller 4 (the ring type expansion device 5), and both the upper body side where the movement is detected by the left controller 3 and the lower body side where the movement is detected by the right controller 4 are continuation conditions. Since the predetermined operation of the virtual object PO is continued by satisfying, the operation using the whole body of the user can be promoted. In addition, since the operation of the virtual object PO can be controlled using a combination of both the operation data output from the left controller 3 and the operation data output from the right controller 4, the types of operations that can be realized by the virtual object PO can be increased.

なお、上述した実施例では、左コントローラ3を装着したベルト型拡張装置6をユーザの足に締着することによって使用する態様を用いたが、他の態様によって左コントローラ3をユーザに取り付けてもかまわない。第1の例として、左コントローラ3を装着したベルト型拡張装置6をユーザの他の脚部(例えば、右股、左足首、右足首等)や腰部等の他の下半身部位に締着して使用する態様でもかまわない。上記第1の例であっても、左コントローラ3の動きを検知するセンサからの出力によって、ユーザの下半身の動きを算出することが可能となるため、上述した実施例と同様の処理が可能となる。第2の例として、ベルト型拡張装置6に装着することなく左コントローラ3をユーザの衣服内(例えば、ポケット内部、靴下内部、ベルトや腰ゴムに挟む等)に収容または固定して使用する態様でもかまわない。上記第2の例であっても、左コントローラ3の動きを検知するセンサからの出力によって、ユーザの下半身の動きを算出することが可能となるため、上述した実施例と同様の処理が可能となる。   In the above-described embodiment, the mode in which the belt-type expansion device 6 to which the left controller 3 is attached is used by fastening it to the user's foot is used, but the left controller 3 may be attached to the user in other modes. I don't care. As a first example, the belt-type expansion device 6 to which the left controller 3 is attached is fastened to another lower body part such as a user's other leg (for example, right crotch, left ankle, right ankle, etc.) or waist. The mode used may be sufficient. Even in the first example, since the movement of the lower body of the user can be calculated based on the output from the sensor that detects the movement of the left controller 3, the same processing as in the above-described embodiment can be performed. Become. As a second example, a mode in which the left controller 3 is accommodated or fixed in a user's clothes (for example, inside a pocket, inside a sock, or sandwiched between a belt and waist rubber) without being attached to the belt-type expanding device 6. But it doesn't matter. Even in the second example, since the movement of the lower body of the user can be calculated based on the output from the sensor that detects the movement of the left controller 3, the same processing as in the above-described embodiment can be performed. Become.

また、上述した実施例では、本体装置2と左コントローラ3および右コントローラ4とがそれぞれ無線通信を行うことによって、左コントローラ3および右コントローラ4の操作データがそれぞれ本体装置2へ送信される例を用いたが、他の態様によって上記操作データが本体装置2へ送信されてもよい。例えば、左コントローラ3および右コントローラ4のうち、一方のコントローラの操作データが他方のコントローラへ送信された後、当該他方のコントローラから両方の操作データ(または加工された操作データ)が本体装置2へ合わせて送信されてもかまわない。   Further, in the above-described embodiment, an example is described in which the main device 2 and the left controller 3 and the right controller 4 perform wireless communication with each other, so that operation data of the left controller 3 and the right controller 4 are transmitted to the main device 2 respectively. Although used, the operation data may be transmitted to the main device 2 in another mode. For example, after the operation data of one of the left controller 3 and the right controller 4 is transmitted to the other controller, both operation data (or processed operation data) are transmitted from the other controller to the main unit 2. It may be sent together.

また、上述した実施例において、左コントローラ3および右コントローラ4の姿勢や動き(ベルト型拡張装置6およびリング型拡張装置5の姿勢や動き)を検出する方法については、単なる一例であって、他の方法や他のデータを用いて当該姿勢や当該動きを検出してもよい。上述した加速度センサおよび/または角速度センサは、左コントローラ3および/または右コントローラ4の姿勢や動きを算出するためのデータを出力するセンサの一例である。例えば他の実施例においては、左コントローラ3および/または右コントローラ4は、加速度センサおよび/または角速度センサに代えてまたは加えて磁気センサを備えていてもよく、当該磁気センサによって検出された磁気を用いて左コントローラ3および/または右コントローラ4の姿勢や動きが算出されてもよい。また、左コントローラ3および/または右コントローラ4の姿勢や動きを算出する方法は任意であり、例えば他の実施例においては、本体装置2は、左コントローラ3および/または右コントローラ4(ベルト型拡張装置6および/またはリング型拡張装置5)を撮像装置によって撮像し、撮影された画像を用いて左コントローラ3および/または右コントローラ4(ベルト型拡張装置6および/またはリング型拡張装置5)の姿勢を算出してもよい。   In the above-described embodiment, the method of detecting the postures and movements of the left controller 3 and the right controller 4 (the postures and movements of the belt-type expansion device 6 and the ring-type expansion device 5) is merely an example. The posture and the movement may be detected by using the above method and other data. The above-described acceleration sensor and / or angular velocity sensor is an example of a sensor that outputs data for calculating the attitude and movement of the left controller 3 and / or the right controller 4. For example, in another embodiment, the left controller 3 and / or the right controller 4 may include a magnetic sensor instead of or in addition to the acceleration sensor and / or the angular velocity sensor, and may detect the magnetism detected by the magnetic sensor. The attitude and the movement of the left controller 3 and / or the right controller 4 may be calculated by using this. In addition, the method of calculating the attitude and the movement of the left controller 3 and / or the right controller 4 is arbitrary. For example, in another embodiment, the main body device 2 may be configured by the left controller 3 and / or the right controller 4 (belt type extension). The device 6 and / or the ring-type expansion device 5) is imaged by the imaging device, and the left controller 3 and / or the right controller 4 (the belt-type expansion device 6 and / or the ring-type expansion device 5) are used by using the captured image. The posture may be calculated.

また、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。この場合、オブジェクトを移動する操作を行うための入力装置は、左コントローラ3や右コントローラ4でなくてもよく、別のコントローラ、マウス、タッチパッド、タッチパネル、トラックボール、キーボード、十字キー、スライドパッド等であってもよい。   The game system 1 may be any device, such as a portable game device, an arbitrary portable electronic device (PDA (Personal Digital Assistant), a mobile phone, a personal computer, a camera, a tablet, and the like). There may be. In this case, the input device for performing the operation of moving the object may not be the left controller 3 or the right controller 4, but may be another controller, a mouse, a touch pad, a touch panel, a trackball, a keyboard, a cross key, and a slide pad. And so on.

また、上述した説明では情報処理をゲームシステム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。   In the above description, an example in which the information processing is performed by the game system 1 is used, however, at least a part of the processing steps may be performed by another device. For example, when the game system 1 is configured to be able to communicate with another device (for example, another server, another image display device, another game device, another mobile terminal), the above-described processing steps are further performed. This may be performed by cooperation of other devices. As described above, by performing at least a part of the processing steps by another device, the same processing as the above-described processing can be performed. In addition, the above-described information processing can be executed by cooperation between one processor or a plurality of processors included in an information processing system including at least one information processing device. In the above embodiment, the processor 81 of the game system 1 can execute information processing by executing a predetermined program. However, a part of or all of the above processing is performed by a dedicated circuit included in the game system 1. May be performed.

ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。   Here, according to the above-described modified example, the present invention can be realized by a so-called cloud computing system form or a distributed wide area network and local network system form. For example, in a distributed local network system configuration, the above processing is executed in cooperation between a stationary information processing device (stationary game device) and a portable information processing device (portable game device). It is also possible to do. In these system forms, there is no particular limitation on which apparatus performs the above-described processing, and it goes without saying that the present invention can be realized even if any processing is shared.

また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。   Further, the processing order, setting values, conditions used for determination, and the like used in the above-described information processing are merely examples, and it goes without saying that the present embodiment can be realized with other orders, values, and conditions.

また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。   In addition, the program may be supplied to the game system 1 not only through an external storage medium such as an external memory, but also through a wired or wireless communication line. Further, the program may be recorded in a nonvolatile storage device inside the device in advance. The information storage medium for storing the program includes, in addition to a nonvolatile memory, a CD-ROM, a DVD, or an optical disk-like storage medium similar thereto, a flexible disk, a hard disk, a magneto-optical disk, a magnetic tape, or the like. May be. Further, the information storage medium for storing the program may be a volatile memory for storing the program. Such a storage medium can be referred to as a computer-readable storage medium. For example, the various functions described above can be provided by causing a computer or the like to read and execute the programs on these recording media.

以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。   As described above, the present invention has been described in detail. However, the above description is merely an exemplification of the present invention in all respects, and is not intended to limit the scope thereof. It goes without saying that various improvements and modifications can be made without departing from the scope of the invention. It is also understood that those skilled in the art can implement equivalent ranges based on the description of the present invention and common technical knowledge from the description of the specific examples of the present invention. It should also be understood that the terms used in this specification are used in a meaning commonly used in the art unless otherwise specified. Thus, unless defined otherwise, all technical and technical terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. In case of conflict, the present specification, including definitions, will control.

以上のように、本発明は、ユーザが意図するように仮想空間内でオブジェクトを拡大および/または縮小等させることを可能とする情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法等として利用することができる。   As described above, the present invention provides an information processing system, an information processing program, an information processing apparatus, an information processing method, and the like that enable an object to be enlarged and / or reduced in a virtual space as intended by a user. Can be used as

1…ゲームシステム
2…本体装置
3…左コントローラ
4…右コントローラ
5…リング型拡張装置
6…ベルト型拡張装置
201…環状部
202…本体部
203、204…グリップカバー
211…歪み検出部
301…収容部
302…ベルト部
11…ハウジング
12…ディスプレイ
17…左側端子
21…右側端子
27…下側端子
32、52…アナログスティック
42、64…端子
81…プロセッサ
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
101、111…通信制御部
89、104、114…加速度センサ
90、105、115…角速度センサ
DESCRIPTION OF SYMBOLS 1 ... Game system 2 ... Main device 3 ... Left controller 4 ... Right controller 5 ... Ring type expansion device 6 ... Belt type expansion device 201 ... Circular part 202 ... Main parts 203 and 204 ... Grip cover 211 ... Strain detector 301 ... Accommodation Unit 302 Belt unit 11 Housing 12 Display 17 Left terminal 21 Right terminal 27 Lower terminals 32 and 52 Analog sticks 42 and 64 Terminal 81 Processor 82 Network communication unit 83 Controller communication unit 85 DRAM
101, 111 ... communication control units 89, 104, 114 ... acceleration sensors 90, 105, 115 ... angular velocity sensors

Claims (17)

第1装置、第2装置、および情報処理装置を含む情報処理システムであって、
前記第1装置は、
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、
前記第1センサの出力を送信する第1送信部とを備え、
前記第2装置は、
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、
前記第2センサの出力を送信する第2送信部とを備え、
前記情報処理装置は、
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、
前記制御部は、前記第1センサの出力と第2センサの出力とが何れも前記所定条件を満たして前記仮想オブジェクトの移動が継続している状態において、さらに当該第2センサの出力に基づいて、当該仮想オブジェクトに当該移動を継続させながら第2の所定動作をさせる、情報処理システム。
An information processing system including a first device, a second device, and an information processing device,
The first device comprises:
A first sensor for detecting the movement of the first device mounted on the lower body of the user;
A first transmission unit that transmits an output of the first sensor,
The second device includes:
A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
A second transmission unit that transmits the output of the second sensor,
The information processing device,
A receiving unit that receives an output transmitted from the first sensor and the second sensor;
And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition ,
The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
The control unit may further include, based on the output of the second sensor, in a state where the output of the first sensor and the output of the second sensor both satisfy the predetermined condition and the movement of the virtual object is continued. , the while continuing the movement in the virtual object Ru is the second predetermined operation, the information processing system.
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits the output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
前記制御部は、仮想空間内で前記仮想オブジェクトが移動を停止している状態において、前記所定条件とは異なる動き出し条件を前記受信した前記第1センサの出力と前記第2センサの出力とが何れも満たす場合、仮想空間内における当該仮想オブジェクトの移動を開始させる、情報処理システム。In the state where the virtual object has stopped moving in the virtual space, the control unit may determine whether the output of the first sensor or the output of the second sensor that has received the movement start condition different from the predetermined condition. An information processing system that starts moving the virtual object in the virtual space when the condition is satisfied.
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits the output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
仮想空間内における前記仮想オブジェクトの移動動作には、相対的に移動速度が遅い歩き動作と相対的に移動速度が速いジョギング動作とが少なくとも含まれ、The movement operation of the virtual object in the virtual space includes at least a walking operation having a relatively slow moving speed and a jogging operation having a relatively fast moving speed,
前記制御部は、The control unit includes:
仮想空間内で前記仮想オブジェクトが移動を停止している状態において、第1期間分の前記第1センサの出力および前記第2センサの出力を用いて、仮想空間内における当該仮想オブジェクトの移動を開始させる際の動作を前記歩き動作とするか前記ジョギング動作とするかを判別し、In a state where the virtual object has stopped moving in the virtual space, the movement of the virtual object in the virtual space is started using the output of the first sensor and the output of the second sensor for a first period. Determine whether the operation at the time of letting the walking operation or the jogging operation,
仮想空間内で前記仮想オブジェクトが移動を継続している状態において、前記第1期間よりも長い第2期間分の前記第1センサの出力および前記第2センサの出力を用いて、仮想空間内における当該仮想オブジェクトの移動動作を前記歩き動作とするか前記ジョギング動作とするかを判別する、情報処理システム。In a state where the virtual object continues to move in the virtual space, the output of the first sensor and the output of the second sensor for a second period longer than the first period is used to generate a virtual object in the virtual space. An information processing system for determining whether the movement operation of the virtual object is the walking operation or the jogging operation.
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits the output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
前記第1センサは、前記第1装置に作用する角速度を少なくとも検知可能であり、The first sensor is capable of detecting at least an angular velocity acting on the first device,
前記制御部は、前記受信した前記第1センサが検知した角速度を少なくとも用いて、仮想空間内で前記仮想オブジェクトが移動を停止している状態において、仮想空間内における当該仮想オブジェクトの移動開始に関する判定を行う、情報処理システム。The control unit uses at least the received angular velocity detected by the first sensor to determine a start of movement of the virtual object in the virtual space in a state where the virtual object has stopped moving in the virtual space. Information processing system.
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits the output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
仮想空間内における前記仮想オブジェクトの移動動作には、相対的に移動速度が遅い歩き動作と相対的に移動速度が速いジョギング動作とが少なくとも含まれ、The movement operation of the virtual object in the virtual space includes at least a walking operation having a relatively slow moving speed and a jogging operation having a relatively fast moving speed,
前記第1センサは、前記第1装置に作用する角速度および加速度を少なくとも検知可能であり、The first sensor is capable of at least detecting angular velocity and acceleration acting on the first device,
前記制御部は、The control unit includes:
前記受信した前記第1センサが検知した加速度を用いて、前記ジョギング動作中の前記仮想オブジェクトの移動速度を制御し、Using the received acceleration detected by the first sensor, the moving speed of the virtual object during the jogging operation is controlled,
前記受信した前記第1センサが検知した角速度を用いて、前記仮想オブジェクトの前記歩き動作と前記ジョギング動作とを切り替える、情報処理システム。An information processing system for switching between the walking operation and the jogging operation of the virtual object using the received angular velocity detected by the first sensor.
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits the output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
前記第1センサは、前記第1装置に作用する角速度および加速度を少なくとも検知可能であり、The first sensor is capable of at least detecting angular velocity and acceleration acting on the first device,
前記制御部は、前記第1装置に作用する加速度が変化することを用いて前記仮想オブジェクトの移動制御を行う第1モードと前記第1装置に作用する加速度以外のパラメータが変化することを用いて前記仮想オブジェクトの移動制御を行う第2モードとを切り替えるモード切替部を含み、The control unit uses a first mode in which the movement of the virtual object is controlled by using a change in the acceleration acting on the first device and a change in a parameter other than the acceleration acting on the first device. A mode switching unit that switches between a second mode for performing movement control of the virtual object,
前記制御部は、前記第1モードにおいて前記第1センサが検知した加速度の変化量に応じて前記仮想オブジェクトの移動速度を変化させ、前記第2モードにおいて前記第1センサが検知した角速度の変化量に応じて前記仮想オブジェクトの移動速度を変化させる、情報処理システム。The control unit changes a moving speed of the virtual object according to a change in acceleration detected by the first sensor in the first mode, and a change in angular velocity detected by the first sensor in the second mode. An information processing system that changes a moving speed of the virtual object according to
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits the output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
仮想空間内における前記仮想オブジェクトの移動動作には、相対的に移動速度が遅い低速移動動作と相対的に移動速度が速い高速移動動作とが少なくとも含まれ、The movement operation of the virtual object in the virtual space includes at least a low-speed movement operation with a relatively low movement speed and a high-speed movement operation with a relatively high movement speed,
前記制御部は、前記仮想オブジェクトに前記低速移動動作および前記高速移動動作をそれぞれさせるための操作を前記第1装置および前記第2装置を用いるユーザに促し、それぞれ行われた当該操作による当該第1装置の前記第1センサおよび当該第2装置の前記第2センサの出力に基づいて、前記低速移動動作をさせるための操作と前記高速移動動作をさせるための操作とを区別するための閾値を設定する閾値設定部を含み、The control unit urges a user who uses the first device and the second device to perform an operation for causing the virtual object to perform the low-speed movement operation and the high-speed movement operation, respectively. Setting a threshold for distinguishing an operation for performing the low-speed movement operation from an operation for performing the high-speed movement operation based on outputs of the first sensor of the device and the second sensor of the second device; Including a threshold setting unit,
前記制御部は、仮想空間内で前記仮想オブジェクトが移動を継続している状態において、受信した前記第1センサの出力および前記第2センサの出力と前記閾値とを用いて、仮想空間内における当該仮想オブジェクトの移動動作が前記低速移動動作か前記高速移動動作かを判別する、情報処理システム。The control unit uses the received output of the first sensor and the output of the second sensor and the threshold value in a state where the virtual object continues to move in the virtual space, and An information processing system for determining whether a movement operation of a virtual object is the low-speed movement operation or the high-speed movement operation.
第1装置、第2装置、および情報処理装置を含む情報処理システムであって、An information processing system including a first device, a second device, and an information processing device,
前記第1装置は、The first device comprises:
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、A first sensor for detecting the movement of the first device mounted on the lower body of the user;
前記第1センサの出力を送信する第1送信部とを備え、A first transmission unit that transmits an output of the first sensor,
前記第2装置は、The second device includes:
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
前記第2センサの出力を送信する第2送信部とを備え、A second transmission unit that transmits an output of the second sensor,
前記情報処理装置は、The information processing device,
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、A receiving unit that receives an output transmitted from the first sensor and the second sensor;
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え、And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition,
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
前記仮想オブジェクトは、足または手の動きによって仮想空間内における移動が実現するように表現され、The virtual object is expressed such that movement in a virtual space is realized by movement of a foot or a hand,
前記制御部は、仮想空間内で前記仮想オブジェクトが移動を継続している状態において、前記第1センサの出力および/または前記第2センサの出力を用いて当該仮想オブジェクトの足または手の動作タイミングを決定するタイミング決定手段を含む、情報処理システム。The control unit may use the output of the first sensor and / or the output of the second sensor to move the foot or hand of the virtual object in a state where the virtual object continues to move in the virtual space. An information processing system including a timing determining means for determining the information.
前記制御部は、前記第1装置が動いていることを前記第1センサから送信される出力が示し、かつ、前記第2装置が動いていることを前記第2センサから送信される出力が示している間、前記仮想オブジェクトの移動を継続させる、請求項1乃至8の何れか1つに記載の情報処理システム。 The control unit indicates that the output from the first sensor indicates that the first device is moving, and indicates that the output transmitted from the second sensor indicates that the second device is moving. The information processing system according to any one of claims 1 to 8 , wherein the movement of the virtual object is continued during the operation. 前記制御部は、前記第1センサの出力と前記第2センサの出力とのうち、前記第2センサの出力のみに基づいて、前記仮想オブジェクトに前記第2の所定動作をさせる、請求項に記載の情報処理システム。 Wherein, among the outputs of said second sensor of the first sensor, based on only the output of the second sensor causes the second predetermined operation into the virtual object, in claim 1 The information processing system as described. 前記制御部は、前記第1センサの出力と第2センサの出力とが何れも前記所定条件を満たして前記仮想オブジェクトの移動が継続している状態において、前記第1センサの出力と前記第2センサの出力とのうち、さらに当該第1センサの出力のみに基づいて、当該仮想オブジェクトの移動速度を変化させる、請求項または10に記載の情報処理システム。 The control unit is configured to control the output of the first sensor and the second sensor in a state where the output of the first sensor and the output of the second sensor both satisfy the predetermined condition and the movement of the virtual object is continued. of the output of the sensor, based on only the further output of the first sensor, changing the moving speed of the virtual object, the information processing system according to claim 1 or 10. 前記タイミング決定手段は、前記第1センサの出力を用いて当該仮想オブジェクトの足の動作タイミングを決定し、前記第2センサの出力を用いて当該仮想オブジェクトの手の動作タイミングを決定する、請求項に記載の情報処理システム。 The said timing determination means determines the operation | movement timing of the foot of the said virtual object using the output of the said 1st sensor, and determines the operation | movement timing of the hand of the said virtual object using the output of the said 2nd sensor. 9. The information processing system according to 8 . 前記第1装置は、ユーザの股に装着され、
前記タイミング決定手段は、前記第1センサの出力が示す前記第1装置の傾き変化を用いて当該仮想オブジェクトの足の動作タイミングを決定する、請求項1に記載の情報処理システム。
The first device is worn on a user's crotch,
It said timing determination means determines the operation timing of the foot of the virtual object using the change in inclination of the first device indicated by the output of the first sensor, the information processing system according to claim 1 2.
前記第2の所定動作は、仮想空間内での移動を継続している状態において、前記仮想オブジェクトの少なくとも上半身の向きを変化させる動作であり、
前記第2センサは、前記第2装置に作用する角速度および加速度を少なくとも検知可能であり、
前記制御部は、前記受信した前記第2センサが検知した角速度および加速度の両方を示す出力を用いて、前記第2の所定動作を制御する、請求項に記載の情報処理システム。
The second predetermined operation is an operation of changing the direction of at least the upper body of the virtual object in a state where the movement in the virtual space is continued,
The second sensor is capable of at least detecting angular velocity and acceleration acting on the second device,
Wherein the control unit uses the output of the second sensor the received indicates both angular velocity and acceleration is detected, and controls the second predetermined operation, the information processing system according to claim 1.
第1装置および第2装置からの出力を用いた処理を行う、情報処理装置のコンピュータで実行される情報処理プログラムであって
前記第1装置は、
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、
前記第1センサの出力を送信する第1送信部とを備え、
前記第2装置は、
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、
前記第2センサの出力を送信する第2送信部とを備え、
前記コンピュータを、
前記第1センサおよび前記第2センサから送信される出力を受信する受信手段と、
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御手段として機能させ
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、
前記制御手段は、前記第1センサの出力と第2センサの出力とが何れも前記所定条件を満たして前記仮想オブジェクトの移動が継続している状態において、さらに当該第2センサの出力に基づいて、当該仮想オブジェクトに当該移動を継続させながら第2の所定動作をさせる、情報処理プログラム。
An information processing program executed by a computer of the information processing apparatus, the information processing program performing processing using outputs from the first apparatus and the second apparatus, wherein the first apparatus includes:
A first sensor for detecting the movement of the first device mounted on the lower body of the user;
A first transmission unit that transmits an output of the first sensor,
The second device includes:
A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
A second transmission unit that transmits the output of the second sensor,
Said computer,
Receiving means for receiving outputs transmitted from the first sensor and the second sensor;
While both the received output of the first sensor and the output of the second sensor satisfy a predetermined condition, the function is made to function as control means for causing the virtual object to continue the first predetermined operation in the virtual space ,
The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
In a state where the output of the first sensor and the output of the second sensor both satisfy the predetermined condition and the movement of the virtual object continues, the control unit further controls the output based on the output of the second sensor. , the while continuing the movement in the virtual object Ru is the second predetermined operation, the information processing program.
第1装置および第2装置からの出力を用いた処理を行う情報処理装置であって
前記第1装置は、
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、
前記第1センサの出力を送信する第1送信部とを備え、
前記第2装置は、
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、
前記第2センサの出力を送信する第2送信部とを備え、
前記情報処理装置は、
前記第1センサおよび前記第2センサから送信される出力を受信する受信部と、
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御部とを備え
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、
前記制御部は、前記第1センサの出力と第2センサの出力とが何れも前記所定条件を満たして前記仮想オブジェクトの移動が継続している状態において、さらに当該第2センサの出力に基づいて、当該仮想オブジェクトに当該移動を継続させながら第2の所定動作をさせる、情報処理装置。
An information processing apparatus that performs processing using outputs from a first device and a second device, wherein the first device includes:
A first sensor for detecting the movement of the first device mounted on the lower body of the user;
A first transmission unit that transmits an output of the first sensor,
The second device includes:
A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
A second transmission unit that transmits the output of the second sensor,
The information processing device,
A receiving unit that receives an output transmitted from the first sensor and the second sensor;
And a control unit configured to continue the first predetermined operation on the virtual object in the virtual space while the received output of the first sensor and the output of the second sensor both satisfy a predetermined condition ,
The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
The control unit may further include, based on the output of the second sensor, in a state where the output of the first sensor and the output of the second sensor both satisfy the predetermined condition and the movement of the virtual object is continued. , while continuing the movement in the virtual object Ru is the second predetermined operation, the information processing apparatus.
第1装置および第2装置からの出力を用いた処理を行う情報処理方法であって
前記第1装置は、
ユーザの下半身に装着される当該第1装置の動きを検知する第1センサと、
前記第1センサの出力を送信する第1送信部とを備え、
前記第2装置は、
ユーザの上半身に装着またはユーザの手に把持される当該第2装置の動きを検知する第2センサと、
前記第2センサの出力を送信する第2送信部とを備え、
前記第1センサおよび前記第2センサから送信される出力を受信する受信ステップと、
前記受信した前記第1センサの出力と前記第2センサの出力とが何れも所定条件を満たしている間、仮想空間内で仮想オブジェクトに第1の所定動作を継続させる制御ステップとを含み、
前記仮想オブジェクトの第1の所定動作は、仮想空間内における当該仮想オブジェクトの移動であり、
前記制御ステップでは、前記第1センサの出力と第2センサの出力とが何れも前記所定条件を満たして前記仮想オブジェクトの移動が継続している状態において、さらに当該第2センサの出力に基づいて、当該仮想オブジェクトに当該移動を継続させながら第2の所定動作をさせる、情報処理方法。
An information processing method for performing processing using outputs from a first device and a second device, wherein the first device includes:
A first sensor for detecting the movement of the first device mounted on the lower body of the user;
A first transmission unit that transmits an output of the first sensor,
The second device includes:
A second sensor that detects the movement of the second device attached to the upper body of the user or held by the user's hand;
A second transmission unit that transmits the output of the second sensor,
A receiving step of receiving an output transmitted from the first sensor and the second sensor;
See contains between, and a control step of continuing the first predetermined operation into the virtual object in the virtual space and the output of the first sensor and the received output of the second sensor meets any predetermined condition,
The first predetermined operation of the virtual object is movement of the virtual object in a virtual space,
In the control step, in a state where both the output of the first sensor and the output of the second sensor satisfy the predetermined condition and the movement of the virtual object is continued, further based on the output of the second sensor. An information processing method for causing the virtual object to perform a second predetermined operation while continuing the movement .
JP2019132903A 2019-07-18 2019-07-18 Information processing system, information processing program, information processing apparatus, and information processing method Active JP6670028B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019132903A JP6670028B1 (en) 2019-07-18 2019-07-18 Information processing system, information processing program, information processing apparatus, and information processing method
US16/702,177 US10987572B2 (en) 2019-07-18 2019-12-03 Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
US17/210,041 US11446564B2 (en) 2019-07-18 2021-03-23 Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
US17/887,561 US20220387883A1 (en) 2019-07-18 2022-08-15 Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019132903A JP6670028B1 (en) 2019-07-18 2019-07-18 Information processing system, information processing program, information processing apparatus, and information processing method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020032027A Division JP2021016772A (en) 2020-02-27 2020-02-27 Information processing system, information processing program, information processing unit, and information processing method

Publications (2)

Publication Number Publication Date
JP6670028B1 true JP6670028B1 (en) 2020-03-18
JP2021018526A JP2021018526A (en) 2021-02-15

Family

ID=70000708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019132903A Active JP6670028B1 (en) 2019-07-18 2019-07-18 Information processing system, information processing program, information processing apparatus, and information processing method

Country Status (2)

Country Link
US (3) US10987572B2 (en)
JP (1) JP6670028B1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6670028B1 (en) 2019-07-18 2020-03-18 任天堂株式会社 Information processing system, information processing program, information processing apparatus, and information processing method
US11260291B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Information handling system and detachable game controller
US11013987B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller scalable interface
US11097185B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Detachable information handling system game controller management
US11331567B2 (en) 2019-12-31 2022-05-17 Dell Products L.P. Information handling system and game controller trigger
US11260288B2 (en) * 2019-12-31 2022-03-01 Dell Products L.P. Disassemblable information handling system game controller
US11338197B2 (en) 2019-12-31 2022-05-24 Dell Products L.P. Information handling system controller distributable hardware and logic management
US11013991B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller adaptive haptic feedback
US11097184B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Information handling system controller illumination

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3917456B2 (en) * 2001-08-09 2007-05-23 株式会社コナミスポーツ&ライフ Evaluation program, recording medium thereof, timing evaluation apparatus, timing evaluation system
JP2008049117A (en) * 2006-05-08 2008-03-06 Shinsedai Kk Information processor
JP4979313B2 (en) * 2006-09-13 2012-07-18 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
FR2915686B1 (en) * 2007-05-04 2010-03-12 Xkpad DEVICE FOR THE PRACTICE OF INTERACTIVE FOOTBALL USING A GAME LEVER CONSISTING OF A TORQUE OF CONTROL UNITS.
JP5131908B2 (en) 2007-11-30 2013-01-30 任天堂株式会社 Step count calculation program, step count calculation device, step count calculation system, and step count calculation method
KR101483713B1 (en) * 2008-06-30 2015-01-16 삼성전자 주식회사 Apparatus and Method for capturing a motion of human
US8057290B2 (en) * 2008-12-15 2011-11-15 Disney Enterprises, Inc. Dance ring video game
JP5320332B2 (en) * 2010-03-19 2013-10-23 株式会社コナミデジタルエンタテインメント GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
KR101327995B1 (en) * 2012-04-12 2013-11-13 동국대학교 산학협력단 Apparatus and method for processing performance on stage using digital character
US10265621B2 (en) * 2015-01-20 2019-04-23 Disney Enterprises, Inc. Tracking specific gestures relative to user movement
US10683075B2 (en) * 2016-10-12 2020-06-16 R&D Sports LLC Personal watercraft for amplifying manual rowing or paddling with propulsion
US10429924B1 (en) * 2019-01-30 2019-10-01 Human Mode, LLC Virtual reality simulation system
JP6670028B1 (en) 2019-07-18 2020-03-18 任天堂株式会社 Information processing system, information processing program, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
US10987572B2 (en) 2021-04-27
US20210205697A1 (en) 2021-07-08
JP2021018526A (en) 2021-02-15
US20210016160A1 (en) 2021-01-21
US11446564B2 (en) 2022-09-20
US20220387883A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
JP6670028B1 (en) Information processing system, information processing program, information processing apparatus, and information processing method
US20200289927A1 (en) Storage medium having stored thereon information processing program, and information processing device
EP2497547B1 (en) Information processing program, information processing apparatus, information processing system, and information processing method
KR101625360B1 (en) Motion detection system
JP5819580B2 (en) GAME PROGRAM, GAME DEVICE, GAME SYSTEM, AND GAME CONTROL METHOD
US11130052B2 (en) Information processing system, non-transitory storage medium having stored therein information processing program, information processing apparatus, and information processing method
US20110184248A1 (en) Storage medium having stored therein information processing program, information processing device, information processing method, and information processing system
CN112274912B (en) Information processing system, information processing apparatus, storage medium, and information processing method
JP2016529980A (en) Athletic device for gesture recognition and power management on wrist
US11583759B2 (en) Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
EP2308573A1 (en) Storage medium storing information processing program, information processing apparatus and information processing method
US11654352B2 (en) Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
WO2018053055A1 (en) Methods and devices for information acquisition, detection, and application of foot gestures
US20210275098A1 (en) Methods and devices for information acquisition, detection, and application of foot gestures
JP2021016772A (en) Information processing system, information processing program, information processing unit, and information processing method
US11617943B2 (en) Information processing system, storage medium storing information processing program, information processing apparatus, and information processing method
US20210016175A1 (en) Information processing system, storage medium having stored therein information processing program, information processing apparatus, and information processing method
JP2019154624A (en) Exercise data processing device, exercise data processing method, and exercise data processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200227

R150 Certificate of patent or registration of utility model

Ref document number: 6670028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250