JP2010237883A - Program, information storage medium, and image generation system - Google Patents

Program, information storage medium, and image generation system Download PDF

Info

Publication number
JP2010237883A
JP2010237883A JP2009083803A JP2009083803A JP2010237883A JP 2010237883 A JP2010237883 A JP 2010237883A JP 2009083803 A JP2009083803 A JP 2009083803A JP 2009083803 A JP2009083803 A JP 2009083803A JP 2010237883 A JP2010237883 A JP 2010237883A
Authority
JP
Japan
Prior art keywords
motion
rotation angle
hit
angle information
character
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.)
Pending
Application number
JP2009083803A
Other languages
Japanese (ja)
Inventor
Yoshikazu Hado
嘉一 羽藤
Daisuke Ito
大輔 伊藤
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2009083803A priority Critical patent/JP2010237883A/en
Publication of JP2010237883A publication Critical patent/JP2010237883A/en
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program and an image generation system by which an image expressed in the real movement of the possession object or region object of a character is generated. <P>SOLUTION: The image generation system includes a motion storage part and a motion processing part and a character control part. The motion storage part stores a plurality of reference motions for first height when the height of the possession object or region object of a characters is first height and at least one reference motion for second height when the height of the possession object or the region object is second height. A motion processing part synthesizes a plurality of reference motions for first height with at least one reference motion for second height to generate the motion of the character. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。   The present invention relates to a program, an information storage medium, an image generation system, and the like.

従来より、スポーツ選手を模したキャラクタ等のオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。テニスゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、コントローラなどの操作部を用いて自身のキャラクタを操作して、他のプレーヤやコンピュータが操作する相手キャラクタがショットしたボールをラケットで打ち返すことでゲームを楽しむ。このようなテニスゲームを楽しむことができる画像生成システムの従来技術としては、例えば特許文献1に開示される技術が知られている。この画像生成システムは、モーションデータに基づくモーション処理を行うことで、キャラクタを動作させている。   Conventionally, an image generation system (game system) that generates an image viewed from a virtual camera (given viewpoint) in an object space (virtual three-dimensional space) in which an object such as a character imitating a sports player is placed and set Is known and is popular as a place to experience so-called virtual reality. Taking an image generation system that can enjoy a tennis game as an example, a player operates his / her character using an operation unit such as a controller and plays a ball shot by an opponent character operated by another player or a computer. Enjoy the game by hitting it back with a racket. As a conventional technique of an image generation system that can enjoy such a tennis game, for example, a technique disclosed in Patent Document 1 is known. This image generation system moves a character by performing motion processing based on motion data.

しかしながら、これまでの画像生成システムでは、ラケット等のキャラクタの所持オブジェクトの軌道が、適正な軌道になることを目指すモーション処理は行われていなかった。このため、キャラクタのラケットスイング等のリアルな表現が不十分であった。   However, in conventional image generation systems, motion processing that aims to make the trajectory of an object possessed by a character such as a racket an appropriate trajectory has not been performed. For this reason, realistic expressions such as a character's racket swing are insufficient.

また、これまでの画像生成システムでは、コントローラの回転角度情報に基づいて、ラケット等により打ち返されるボールの回転状態を設定することは行われていなかった。このため、実際にラケット面を操作して、トップスピンショットやスライスショットを打ち分けるというような感覚をプレーヤに与えることができなかった。   Further, in the image generation systems so far, the rotation state of the ball hit back by a racket or the like has not been set based on the rotation angle information of the controller. For this reason, it has not been possible to give the player the feeling of actually operating the racket surface and hitting top spin shots and slice shots.

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

本発明の幾つかの態様によれば、キャラクタの所持オブジェクト又は部位オブジェクトのリアルな動きが表現された画像を生成できるプログラム、情報記憶媒体、画像生成システム等を提供できる。   According to some aspects of the present invention, it is possible to provide a program, an information storage medium, an image generation system, and the like that can generate an image in which a realistic movement of a possessed object or part object of a character is expressed.

本発明の第1の態様は、複数の基準モーションを記憶するモーション記憶部と、前記複数の基準モーションを合成して、キャラクタのモーションを生成するモーション処理部と、生成されたモーションに基づいて前記キャラクタを動作させる制御を行うキャラクタ制御部と、画像を生成する画像生成部とを含み、前記モーション記憶部は、前記キャラクタが所持する所持オブジェクト又は前記キャラクタを構成する部位オブジェクトの高さが第1の高さである場合用の基準モーションである複数の第1の高さ用基準モーションと、前記所持オブジェクト又は前記部位オブジェクトが第2の高さである場合用の基準モーションである少なくとも1つの第2の高さ用基準モーションとを記憶し、前記モーション処理部は、前記複数の第1の高さ用基準モーションと、前記少なくとも1つの第2の高さ用基準モーションを合成して、前記キャラクタのモーションを生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   According to a first aspect of the present invention, a motion storage unit that stores a plurality of reference motions, a motion processing unit that generates a motion of a character by combining the plurality of reference motions, and the motion based on the generated motions, A character control unit that performs control for moving the character; and an image generation unit that generates an image. The motion storage unit has a first height of a possessed object possessed by the character or a part object constituting the character. A plurality of first height reference motions that are reference motions for the case where the possessed object or the part object is at a second height, 2 reference motions for height, and the motion processing unit is for the plurality of first heights. And quasi motion, said synthesized at least one of the second height reference motion, related to the image generation system for generating a motion of the character. The present invention also relates to a program that causes a computer to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明の一態様によれば、キャラクタの所持オブジェクト又は部位オブジェクトが第1の高さである場合用の第1の高さ用基準モーションと、第2の高さである場合用の第2の高さ用基準モーションが用意される。そして、これらの第1の高さ用基準モーションと第2の高さ用基準モーションが合成されて、キャラクタのモーションが生成される。従って、キャラクタの所持オブジェクト又は部位オブジェクトの高さを基準としてモーションを合成できるため、所持オブジェクト又は部位オブジェクトのリアルな動きが表現された画像を生成できるようになる。   According to one aspect of the present invention, the first reference motion for height when the possessed object or the part object of the character has the first height and the second motion for when the character has the second height are used. A reference motion for height is prepared. Then, the first height reference motion and the second height reference motion are combined to generate a character motion. Therefore, since the motion can be synthesized based on the height of the possessed object or the part object of the character, an image expressing the realistic movement of the possessed object or the part object can be generated.

また本発明の一態様では、コントローラの長軸方向に沿って設定された座標軸を第3の座標軸とし、前記第3の座標軸に直交する座標軸を第1、第2の座標軸とした場合に、前記第1、第2の座標回りでの回転角度情報である第1、第2の回転角度情報を、操作情報として取得する操作情報取得部を含み、前記モーション処理部は、前記第1、第2の回転角度情報に基づきモーション合成率を求め、求められた前記モーション合成率で、前記複数の第1の高さ用基準モーションと、前記少なくとも1つの第2の高さ用基準モーションを合成して、キャラクタのモーションを生成してもよい。   In one aspect of the present invention, when the coordinate axis set along the major axis direction of the controller is the third coordinate axis, and the coordinate axes orthogonal to the third coordinate axis are the first and second coordinate axes, An operation information acquisition unit that acquires first and second rotation angle information, which are rotation angle information around the first and second coordinates, as operation information; and the motion processing unit includes the first and second motion information. A motion synthesis rate is obtained based on the rotation angle information, and the plurality of first height reference motions and the at least one second height reference motion are synthesized with the obtained motion synthesis rate. The motion of the character may be generated.

このようにすれば、コントローラの第1、第2の座標軸回りでの第1、第2の回転角度情報に応じたモーション合成率で、第1の高さ用基準モーションと第2の高さ用基準モーションが合成されて、キャラクタのモーションが生成される。従って、コントローラの第1、第2の回転角度情報を反映させたモーション合成が可能になる。   In this way, the first height reference motion and the second height are used at the motion synthesis rate according to the first and second rotation angle information about the first and second coordinate axes of the controller. The reference motion is combined to generate a character motion. Therefore, it is possible to perform motion synthesis reflecting the first and second rotation angle information of the controller.

また本発明の一態様では、前記モーション記憶部は、前記第1の高さ用基準モーションとして、前記第1の回転角度情報がα=αiであり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第1の基準モーションと、前記第1の回転角度情報がα=αi+1であり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第2の基準モーションを記憶し、前記第2の高さ用基準モーションとして、前記第1の回転角度情報がα=αiであり、前記第2の回転角度情報がβ=βj+1である場合の基準モーションである第3の基準モーションと、前記第1の回転角度情報がα=αi+1であり、前記第2の回転角度情報がβ=βj+1である場合の基準モーションである第4の基準モーションを記憶し、前記モーション処理部は、取得された前記第1の回転角度情報αがαi≦α≦αi+1であり、取得された前記第2の回転角度情報βがβj≦β≦βj+1である場合に、前記第1、第2の回転角度情報α、βに基づき前記モーション合成率を求め、求められた前記モーション合成率で、前記第1、第2、第3、第4の基準モーションを合成して、キャラクタのモーションを生成してもよい。   In the aspect of the invention, the motion storage unit may use the first rotation angle information as α = αi and the second rotation angle information as β = βj as the first reference motion for height. A first reference motion that is a reference motion in the case of, and a second reference motion that is a reference motion in which the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj. The reference motion in the case where the first rotation angle information is α = αi and the second rotation angle information is β = βj + 1 is used as the second height reference motion. A third reference motion, and a fourth reference motion that is a reference motion when the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj + 1, The motion When the acquired first rotation angle information α is αi ≦ α ≦ αi + 1 and the acquired second rotation angle information β is βj ≦ β ≦ βj + 1, the processing unit The motion synthesis rate is obtained based on the second rotation angle information α, β, and the first, second, third, and fourth reference motions are synthesized with the obtained motion synthesis rate to obtain the motion of the character. May be generated.

このようにすれば、第1、第2の回転角度情報が、αi≦α≦αi+1、βj≦β≦βj+1である場合には、第1、第2の回転角度情報α、βに基づきモーション合成率が求められて、第1、第2、第3、第4の基準モーションが合成される。従って、第1、第2の回転角度情報α、βに応じたモーション合成が可能になる。   In this way, when the first and second rotation angle information is αi ≦ α ≦ αi + 1 and βj ≦ β ≦ βj + 1, motion synthesis is performed based on the first and second rotation angle information α and β. The rate is determined and the first, second, third and fourth reference motions are synthesized. Accordingly, it is possible to perform motion synthesis according to the first and second rotation angle information α and β.

また本発明の一態様では、前記モーション記憶部は、前記第1の高さ用基準モーションとして、前記第1の回転角度情報がα=αiであり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第1の基準モーションと、前記第1の回転角度情報がα=αi+1であり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第2の基準モーションを記憶し、前記第2の高さ用基準モーションとして、前記第2の回転角度情報がβ=βj+1である場合の基準モーションである第3の基準モーションを記憶し、前記モーション処理部は、取得された前記第1の回転角度情報αがαi≦α≦αi+1であり、取得された前記第2の回転角度情報βがβj≦β≦βj+1である場合に、前記第1、第2の回転角度情報α、βに基づき前記モーション合成率を求め、求められた前記モーション合成率で、前記第1、第2、第3の基準モーションを合成して、キャラクタのモーションを生成してもよい。   In the aspect of the invention, the motion storage unit may use the first rotation angle information as α = αi and the second rotation angle information as β = βj as the first reference motion for height. A first reference motion that is a reference motion in the case of, and a second reference motion that is a reference motion in which the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj. And a third reference motion that is a reference motion when the second rotation angle information is β = βj + 1 is stored as the second height reference motion, and the motion processing unit Is obtained when the obtained first rotation angle information α is αi ≦ α ≦ αi + 1 and the obtained second rotation angle information β is βj ≦ β ≦ βj + 1. Based on rotation angle information α, β Then, the motion synthesis rate may be obtained, and the first, second, and third reference motions may be synthesized at the obtained motion synthesis rate to generate a character motion.

このようにすれば、第1、第2の回転角度情報が、αi≦α≦αi+1、βj≦β≦βj+1である場合には、第1、第2の回転角度情報α、βに基づきモーション合成率が求められて、第1、第2、第3の基準モーションが合成される。従って、第1、第2の回転角度情報α、βに応じたモーション合成が可能になる。   In this way, when the first and second rotation angle information is αi ≦ α ≦ αi + 1 and βj ≦ β ≦ βj + 1, motion synthesis is performed based on the first and second rotation angle information α and β. A rate is determined and the first, second, and third reference motions are combined. Accordingly, it is possible to perform motion synthesis according to the first and second rotation angle information α and β.

また本発明の一態様では、前記操作情報取得部は、前記第3の座標軸回りでの回転角度情報である第3の回転角度情報を取得し、前記モーション処理部は、生成された前記キャラクタのモーションを、前記第3の回転角度情報に基づいて補正してもよい。   Moreover, in one aspect of the present invention, the operation information acquisition unit acquires third rotation angle information that is rotation angle information about the third coordinate axis, and the motion processing unit acquires the generated character of the character. The motion may be corrected based on the third rotation angle information.

このようにすればコントローラの第3の回転角度情報についても反映させたモーション合成を実現できる。   In this way, it is possible to realize motion synthesis that reflects the third rotation angle information of the controller.

また本発明の一態様では、前記モーション処理部は、前記第1の回転角度情報が角度リミット値を超えた場合には、前記角度リミット値に対応する基準モーションを用いてモーション合成を行ってもよい。   In the aspect of the invention, the motion processing unit may perform motion synthesis using a reference motion corresponding to the angle limit value when the first rotation angle information exceeds the angle limit value. Good.

このようにすれば、第1の回転角度情報が角度リミット値を超えた場合に生じる不具合等を解消できる。   In this way, it is possible to eliminate problems that occur when the first rotation angle information exceeds the angle limit value.

また本発明の一態様では、前記操作情報取得部は、前記第3の座標軸回りでの回転角度情報である第3の回転角度情報を取得し、取得された前記第3の回転角度情報に基づいて、ヒット体によりヒットされるヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定するヒット演算処理を行うヒット演算処理部を含んでもよい。   In the aspect of the invention, the operation information acquisition unit acquires third rotation angle information that is rotation angle information around the third coordinate axis, and is based on the acquired third rotation angle information. In addition, a hit calculation processing unit that performs hit calculation processing for setting at least one of the moving direction and the rotation state after the hit of the hit object hit by the hit object may be included.

このようにすれば、コントローラの第3の回転角度情報を反映させたヒット演算処理が可能になり、これまでにないヒット演算処理を実現できる。   In this way, hit calculation processing reflecting the third rotation angle information of the controller becomes possible, and hit calculation processing that has never been achieved can be realized.

また本発明の一態様では、前記ヒット演算処理部は、前記ヒット体による前記ヒット対象物のヒットタイミングにおける前記コントローラの前記第3の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。   In the aspect of the invention, the hit calculation processing unit may move the hit object after the hit based on the third rotation angle information of the controller at the hit timing of the hit object by the hit object. You may set at least one of a direction and a rotation state.

このようにすれば、ヒットタイミングでのコントローラの第3の回転角度情報を、ヒット対象物のヒット後の移動方向や回転状態に反映させることが可能になる。   In this way, it is possible to reflect the third rotation angle information of the controller at the hit timing in the moving direction and the rotation state after the hit of the hit object.

また本発明の一態様では、前記操作情報取得部は、前記第3の座標軸に沿った方向での加速度情報を取得し、前記ヒット演算処理部は、前記第3の座標軸に沿った方向での前記加速度情報に基づいて、前記ヒット体による前記ヒット対象物のヒット強さ情報を設定してもよい。   In one aspect of the present invention, the operation information acquisition unit acquires acceleration information in a direction along the third coordinate axis, and the hit calculation processing unit is in a direction along the third coordinate axis. Based on the acceleration information, hit strength information of the hit object by the hit body may be set.

このようにすれば、ヒット対象物の移動方向や回転状態については、コントローラの第3の回転角度情報により設定しながら、ヒット体によるヒット対象物のヒットの強さについては、第3の座標軸に沿った方向での加速度情報により設定できるようになる。   In this way, the movement direction and rotation state of the hit object are set by the third rotation angle information of the controller, while the hit object hit strength by the hit object is set on the third coordinate axis. It becomes possible to set by the acceleration information in the direction along.

また本発明の一態様では、前記ヒット演算処理部は、ヒット判定期間における前記コントローラの前記第3の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。   In the aspect of the invention, the hit calculation processing unit may determine at least one of the movement direction and the rotation state after the hit of the hit object based on the third rotation angle information of the controller in the hit determination period. It may be set.

このようにすれば、ヒット判定期間において取得されたコントローラの第3の回転角度情報を、ヒット対象物の移動方向や回転状態に反映させたヒット演算処理を実現できる。   In this way, it is possible to realize a hit calculation process in which the third rotation angle information of the controller acquired in the hit determination period is reflected in the movement direction and rotation state of the hit object.

また本発明の一態様では、前記ヒット演算処理部は、前記ヒット判定期間における前記コントローラの前記第3の回転角度情報の変化情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。   In one aspect of the present invention, the hit calculation processing unit is configured to determine a movement direction and a rotation state after the hit of the hit object based on change information of the third rotation angle information of the controller in the hit determination period. At least one of these may be set.

このようにすれば、ヒット判定期間でのコントローラの第3の回転角度情報の変化を、ヒット演算処理に反映できるようになる。   In this way, the change in the third rotation angle information of the controller during the hit determination period can be reflected in the hit calculation process.

また本発明の一態様では、前記ヒット演算処理部は、前記ヒット判定期間の第1のタイミングにおける前記第3の回転角度情報と、前記ヒット判定期間の第2のタイミングにおける前記第3の回転角度情報とに基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定してもよい。   In the aspect of the invention, the hit calculation processing unit may include the third rotation angle information at the first timing of the hit determination period and the third rotation angle at the second timing of the hit determination period. Based on the information, at least one of the movement direction and the rotation state after the hit of the hit object may be set.

このようにすれば、ヒットタイミング前の第1のタイミングでの第3の回転角度情報と、ヒットタイミング後の第2のタイミングでの第3の回転角度情報とに基づいて、ヒット対象物の移動方向や回転状態が設定されるようになり、よりインテリジェントで精度の高いヒット演算処理を実現できる。   In this way, the hit object moves based on the third rotation angle information at the first timing before the hit timing and the third rotation angle information at the second timing after the hit timing. The direction and rotation state are set, and more intelligent and accurate hit calculation processing can be realized.

また本発明の一態様では、前記操作情報取得部は、前記第3の座標軸に沿った方向での加速度情報を取得し、前記ヒット演算処理部は、前記第1のタイミングと前記第2のタイミングの間のヒットタイミングにおける前記第3の座標軸に沿った方向での加速度情報に基づいて、前記ヒット体による前記ヒット対象物のヒット強さ情報を設定してもよい。   In one embodiment of the present invention, the operation information acquisition unit acquires acceleration information in a direction along the third coordinate axis, and the hit calculation processing unit includes the first timing and the second timing. The hit strength information of the hit object by the hit body may be set based on acceleration information in the direction along the third coordinate axis at the hit timing between.

このようにすれば、第1、第2のタイミングでの第3の座標軸回りの第3の回転角度情報により、ヒット対象物の移動方向や回転状態を設定しながら、ヒットタイミングにおける第3の座標軸に沿った方向での加速度情報に基づいて、ヒット体によるヒット対象物のヒットの強さを設定できるようになる。   In this way, the third coordinate axis at the hit timing is set while setting the moving direction and the rotation state of the hit object based on the third rotation angle information around the third coordinate axis at the first and second timings. The hit strength of the hit object by the hit body can be set based on the acceleration information in the direction along.

また本発明の一態様では、前記コントローラが基準ポジションに設定されたことを検出する基準ポジション検出部を含み、前記操作情報取得部は、前記コントローラが前記基準ポジションに設定された時に初期値に設定される前記第1、第2の回転角度情報を取得してもよい。   In one aspect of the present invention, a control unit includes a reference position detection unit that detects that the controller is set to a reference position, and the operation information acquisition unit is set to an initial value when the controller is set to the reference position. The first and second rotation angle information may be acquired.

このようにすれば、基準ポジションにおいて設定される初期値を基準とした第1、第2の回転角度情報を取得できるようになる。   This makes it possible to acquire the first and second rotation angle information with the initial value set at the reference position as a reference.

また本発明の一態様では、前記基準ポジション検出部は、前記コントローラが前記基準ポジションに設定されたことを知らせる所定の操作を、プレーヤが前記コントローラにより行った場合に、前記コントローラが前記基準ポジションに設定されたと判断してもよい。   Also, in one aspect of the present invention, the reference position detection unit may be set to the reference position when a player performs a predetermined operation notifying that the controller has been set to the reference position. It may be determined that it has been set.

このようにすれば、プレーヤの簡素な操作で、コントローラが基準ポジションであることを検出して、第1、第2の回転角度情報の初期値を設定できるようになる。   In this way, it is possible to set the initial values of the first and second rotation angle information by detecting that the controller is at the reference position with a simple operation of the player.

本実施形態の画像生成システムの構成例。1 is a configuration example of an image generation system according to the present embodiment. プレーヤによるコントローラの操作の説明図。Explanatory drawing of operation of the controller by a player. 図3(A)、図3(B)はコントローラの構成例。3A and 3B are configuration examples of the controller. コントローラの各座標軸回りでの回転角度情報の説明図。Explanatory drawing of the rotation angle information around each coordinate axis of a controller. 図5(A)、図5(B)はキャラクタのスイング動作の例。5A and 5B show examples of the character's swing motion. キャラクタのスイング動作の例。An example of the swing motion of the character. モーション合成の説明図。Explanatory drawing of motion composition. モーションデータの説明図。Explanatory drawing of motion data. 図9(A)、図9(B)は基準モーションの例。9A and 9B show examples of reference motion. 図10(A)、図10(B)は基準モーションの例。10A and 10B show examples of reference motion. 図11(A)、図11(B)はコントローラの回転角度情報の説明図。11A and 11B are explanatory diagrams of rotation angle information of the controller. 本実施形態のモーション合成手法の説明図。Explanatory drawing of the motion synthetic | combination method of this embodiment. 本実施形態のモーション合成手法の説明図。Explanatory drawing of the motion synthetic | combination method of this embodiment. 本実施形態のモーション合成手法の説明図。Explanatory drawing of the motion synthetic | combination method of this embodiment. 図15(A)、図15(B)は基準モーションの詳細な設定例。15A and 15B show detailed setting examples of the reference motion. 図16(A)、図16(B)は基準モーションの例。FIGS. 16A and 16B show examples of reference motion. 図17(A)、図17(B)は基準モーションの例。17A and 17B show examples of reference motion. 図18(A)、図18(B)は基準モーションの例。18A and 18B show examples of reference motion. 図19(A)、図19(B)は回転角度が角度リミット値を超えた場合の処理の説明図。19A and 19B are explanatory diagrams of processing when the rotation angle exceeds the angle limit value. 図20(A)〜図20(C)はヒット時の回転角度情報に基づくヒット演算処理の説明図。20A to 20C are explanatory diagrams of hit calculation processing based on rotation angle information at the time of a hit. 図21(A)〜図21(C)はヒット判定区間で取得された回転角度情報に基づくヒット演算処理の説明図。FIGS. 21A to 21C are explanatory diagrams of hit calculation processing based on rotation angle information acquired in the hit determination section. 図22(A)〜図22(D)はヒット後のボールの移動状態、動作状態の説明図。22 (A) to 22 (D) are explanatory views of the moving state and the operating state of the ball after the hit. 加速度情報に基づくボールのヒット強さ情報の設定手法の説明図。Explanatory drawing of the setting method of the hit strength information of a ball based on acceleration information. 基準ポジションの検出手法の説明図。Explanatory drawing of the detection method of a reference | standard position. 図25(A)〜図25(F)はヒット判定エリアの設定手法の説明図。FIGS. 25A to 25F are explanatory diagrams of a hit determination area setting method. 図26(A)〜図26(C)は本実施形態の種々の適用例についての説明図。FIG. 26A to FIG. 26C are explanatory diagrams for various application examples of this embodiment. 本実施形態の詳細な処理例のフローチャート。The flowchart of the detailed process example of this embodiment. 本実施形態の詳細な処理例のフローチャート。The flowchart of the detailed process example of this embodiment.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.構成
図1に本実施形態の画像生成システム(ゲームシステム)のブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
1. Configuration FIG. 1 shows an example of a block diagram of an image generation system (game system) of the present embodiment. Note that the image generation system of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。   The operation unit 160 is for a player to input operation data, and functions thereof are direction keys, operation buttons, analog sticks, levers, various sensors (such as an angular velocity sensor and an acceleration sensor), a microphone, or a touch panel display. It can be realized by.

記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。   The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (DRAM, VRAM) or the like. Then, the game program and game data necessary for executing the game program are held in the storage unit 170.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   An information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and functions thereof by an optical disk (CD, DVD), HDD (hard disk drive), memory (ROM, etc.), and the like. realizable. The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, in the information storage medium 180, a program for causing a computer (an apparatus including an operation unit, a processing unit, a storage unit, and an output unit) to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit). Is memorized.

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and its function can be realized by an LCD, an organic EL display, a CRT, a touch panel display, an HMD (head mounted display), or the like. The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。   The auxiliary storage device 194 (auxiliary memory, secondary memory) is a storage device used to supplement the capacity of the storage unit 170, and can be realized by a memory card such as an SD memory card or a multimedia card.

通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。   The communication unit 196 communicates with the outside (for example, another image generation system, a server, or a host device) via a wired or wireless network, and functions as a communication ASIC, a communication processor, or the like. It can be realized by hardware and communication firmware.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of the present embodiment is obtained from an information storage medium of a server (host device) via an information storage medium 180 (or storage unit 170, auxiliary storage) via a network and communication unit 196. May be distributed to the device 194). Use of an information storage medium by such a server (host device) can also be included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs game processing, image generation processing, sound generation processing, and the like based on operation data from the operation unit 160, a program, and the like. The processing unit 100 performs various processes using the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, GPU, etc.), ASIC (gate array, etc.), and programs.

処理部100は、操作情報取得部101、ゲーム演算部102、オブジェクト空間設定部104、ヒット演算処理部106、基準ポジション検出部108、ヒット判定エリア設定部110、モーション処理部112、キャラクタ制御部114、仮想カメラ制御部116、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes an operation information acquisition unit 101, a game calculation unit 102, an object space setting unit 104, a hit calculation processing unit 106, a reference position detection unit 108, a hit determination area setting unit 110, a motion processing unit 112, and a character control unit 114. , A virtual camera control unit 116, an image generation unit 120, and a sound generation unit 130. Note that some of these may be omitted.

操作情報取得部101は、プレーヤが操作部160を用いて各種操作を行うと、その操作情報を取得する。具体的には本実施形態では、操作部160としてセンサ(例えば角速度センサ又は加速度センサ等)を有するコントローラ(図2参照)が用意される。そして、操作情報取得部101は、このコントローラからのセンサ情報(センサの出力信号又は当該出力信号に所定の処理を施した情報)に基づいて、所定座標軸回り(少なくとも1つの座標軸回り)でのコントローラの回転角度情報(回転角度、回転角度と等価なパラメータ)を、操作情報として取得する。例えばコントローラの長手方向(長軸方向)に沿って設定された座標軸を第3の座標軸とし、第3の座標軸に直交する座標軸を第1、第2の座標軸としたとする。この場合に、操作情報取得部101は、第1、第2の座標軸回りでの回転角度情報である第1、第2の回転角度情報を取得する。或いは、第3の座標軸回りでの回転角度情報である第3の回転角度情報を取得する。例えばコントローラが有する角速度センサのセンサ情報に基づいて第1、第2、第3の回転角度情報を取得する。またコントローラが加速度センサを有する場合には、例えば第3の座標軸に沿った方向での加速度情報を取得する。或いは、第1、第2の座標軸に沿った方向での加速度情報を取得してもよい。   When the player performs various operations using the operation unit 160, the operation information acquisition unit 101 acquires the operation information. Specifically, in the present embodiment, a controller (see FIG. 2) having a sensor (for example, an angular velocity sensor or an acceleration sensor) is prepared as the operation unit 160. Then, the operation information acquisition unit 101 is a controller around a predetermined coordinate axis (at least around one coordinate axis) based on sensor information from the controller (output signal of the sensor or information obtained by performing predetermined processing on the output signal). Rotation angle information (rotation angle, parameter equivalent to the rotation angle) is acquired as operation information. For example, it is assumed that the coordinate axis set along the longitudinal direction (long axis direction) of the controller is the third coordinate axis, and the coordinate axes orthogonal to the third coordinate axis are the first and second coordinate axes. In this case, the operation information acquisition unit 101 acquires first and second rotation angle information that is rotation angle information about the first and second coordinate axes. Alternatively, third rotation angle information that is rotation angle information around the third coordinate axis is acquired. For example, first, second, and third rotation angle information is acquired based on sensor information of an angular velocity sensor included in the controller. If the controller has an acceleration sensor, acceleration information in a direction along the third coordinate axis is acquired, for example. Alternatively, acceleration information in directions along the first and second coordinate axes may be acquired.

ゲーム演算部102はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。   The game calculation unit 102 performs game calculation processing. Here, as a game calculation, a process for starting a game when a game start condition is satisfied, a process for advancing the game, a process for calculating a game result, or a process for ending a game when a game end condition is satisfied and so on.

オブジェクト空間設定部104は、モデルオブジェクト(人、ロボット、車、戦闘機、ミサイル、弾等の移動体)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部172には、オブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。   The object space setting unit 104 displays various display objects such as model objects (moving objects such as people, robots, cars, fighters, missiles, bullets, etc.), maps (terrain), buildings, courses (roads), trees, and walls. Processing for setting an object (an object composed of a primitive surface such as a polygon, a free-form surface, or a subdivision surface) in the object space is performed. In other words, the position and rotation angle of the object in the world coordinate system (synonymous with direction and direction) are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Place the object. Specifically, the object data storage unit 172 of the storage unit 170 stores object data such as object position, rotation angle, moving speed, moving direction and the like in association with the object number.

ヒット演算処理部106は、ヒット体とヒット対象物のヒット演算処理を行う。例えば、操作情報取得部101により取得された回転角度情報に基づいて、ヒット体によりヒットされるヒット対象物のヒット後の移動状態及び動作状態の少なくとも一方を設定する。   The hit calculation processing unit 106 performs hit calculation processing for hit objects and hit objects. For example, based on the rotation angle information acquired by the operation information acquisition unit 101, at least one of the movement state and the operation state after the hit of the hit object hit by the hit body is set.

ここでヒット体は、ヒット対象物をヒットするためのオブジェクトであり、例えばキャラクタが所持(把持)する所持オブジェクト(把持オブジェクト)や、キャラクタを構成する部位オブジェクトなどを想定できる。キャラクタの所持オブジェクトとしては、例えばテニス、卓球、バトミントン等のラケットや、野球のバットや、ゴルフのクラブや、剣等の武器や、マラカス等の楽器や、或いはドラムのスティック等を想定できる。キャラクタの部位オブジェクトとしては、手、足、頭、胴体等の部位を想定できる。ヒット対象物は、ヒット体によりヒットされるものであり、ヒット対象物としては、ボールや、他キャラクタの武器や、壁、床等の固定物や、他キャラクタの手、足、頭、胴体等の部位を想定できる。   Here, the hit body is an object for hitting a hit target, and for example, a possessed object (gripped object) possessed (gripped) by a character or a part object constituting the character can be assumed. As the possessed object of the character, for example, a racket such as tennis, table tennis, or badminton, a baseball bat, a golf club, a weapon such as a sword, an instrument such as a maraca, a drum stick, or the like can be assumed. As a part object of a character, parts such as a hand, a foot, a head, and a torso can be assumed. The hit object is hit by the hit body. Examples of the hit object include a ball, a weapon of another character, a fixed object such as a wall and a floor, a hand, a foot, a head, and a body of another character. Can be assumed.

またヒット対象物のヒット後の移動状態は、例えば、ヒット後のヒット対象物の移動方向、移動速度、或いは移動加速度等である。またヒット対象物のヒット後の動作状態は、例えばヒット後のヒット対象物の回転状態、或いはモーション状態等である。回転状態は、ヒット対象物の回転方向、回転速度(角速度)、或いは回転加速度(角加速度)等であり、モーション状態は、ヒット対象物をモーションデータ等により動作させた場合の各種状態である。   The movement state of the hit object after the hit is, for example, the movement direction, the movement speed, or the movement acceleration of the hit object after the hit. The operation state after the hit of the hit object is, for example, the rotation state or the motion state of the hit object after the hit. The rotation state is the rotation direction, rotation speed (angular velocity), or rotation acceleration (angular acceleration) of the hit object, and the motion state is various states when the hit object is operated by motion data or the like.

またヒット演算処理部106は、ヒット体によるヒット対象物のヒットタイミング(ヒット時)におけるコントローラの第3の座標軸回りの第3の回転角度情報に基づいて、ヒット対象物のヒット後の移動方向(広義には移動状態)及び回転状態(広義には動作状態)の少なくとも一方を設定する。また操作情報取得部101が、第3の座標軸に沿った方向での加速度情報(遠心力情報)を取得した場合には、取得された加速度情報に基づいて、ヒット体によるヒット対象物のヒット強さ情報(ヒット力、ヒット加速度)を設定する。   In addition, the hit calculation processing unit 106 determines the movement direction of the hit object after the hit (based on the third rotation angle information about the third coordinate axis of the controller at the hit timing (at the time of hit) of the hit object by the hit object ( At least one of a movement state in a broad sense and a rotation state (an operation state in a broad sense) is set. When the operation information acquisition unit 101 acquires acceleration information (centrifugal information) in a direction along the third coordinate axis, the hit strength of the hit object by the hit body is based on the acquired acceleration information. Set information (hit power, hit acceleration).

またヒット演算処理部106は、ヒット判定期間におけるコントローラの第3の回転角度情報に基づいて、ヒット対象物の移動方向や回転状態を設定してもよい。ここでヒット判定期間は、ヒットタイミングを含む期間である。例えばヒット演算処理部106は、ヒット判定期間における第3の回転角度情報の変化情報に基づいて、ヒット対象物の移動方向や回転状態を設定する。例えばヒット判定期間の第1のタイミング(ヒットタイミングの前のタイミング)における第3の回転角度情報と、ヒット判定期間の第2のタイミング(ヒットタイミングの後のタイミング)における第3の回転角度情報とに基づいて、ヒット対象物の移動方向や回転状態を設定する。また第1のタイミングと第2のタイミングの間のヒットタイミングにおける第3の座標軸に沿った方向での加速度情報に基づいて、ヒット体によるヒット対象物のヒット強さ情報を設定する。   Further, the hit calculation processing unit 106 may set the moving direction and the rotation state of the hit object based on the third rotation angle information of the controller in the hit determination period. Here, the hit determination period is a period including hit timing. For example, the hit calculation processing unit 106 sets the movement direction and the rotation state of the hit object based on the change information of the third rotation angle information in the hit determination period. For example, the third rotation angle information at the first timing of the hit determination period (timing before the hit timing), and the third rotation angle information at the second timing of the hit determination period (timing after the hit timing) The movement direction and rotation state of the hit object are set based on the above. Also, hit strength information of the hit object by the hit body is set based on the acceleration information in the direction along the third coordinate axis at the hit timing between the first timing and the second timing.

基準ポジション検出部108は、コントローラが基準ポジションに設定されたことを検出する処理を行う。例えばコントローラが基準ポジションに設定されたことを知らせる所定の操作(例えばボタンを押す等)を、プレーヤがコントローラにより行った場合に、基準ポジションに設定されたと判断する。そして例えばコントローラが内蔵するセンサが角速度センサである場合に、操作情報取得部101は、コントローラが基準ポジションに設定された時に初期値(例えば0度)に設定される回転角度情報を取得する。ここで基準ポジションは、例えばコントローラの第1、第2又は第3の座標軸回りでの回転角度情報を初期値(基準値)に設定するためのポジションである。   The reference position detection unit 108 performs processing for detecting that the controller is set to the reference position. For example, when a player performs a predetermined operation (for example, pressing a button) notifying that the controller has been set to the reference position, the controller determines that the reference position has been set. For example, when the sensor built in the controller is an angular velocity sensor, the operation information acquisition unit 101 acquires rotation angle information set to an initial value (for example, 0 degrees) when the controller is set to the reference position. Here, the reference position is a position for setting, for example, rotation angle information about the first, second, or third coordinate axes of the controller to an initial value (reference value).

ヒット判定エリア設定部110は、ヒット体によるヒット対象物のヒット判定エリア(ヒットボリューム)の設定処理を行う。例えばヒット判定エリア設定部110は、操作情報取得部101により取得された回転角度情報に基づいて、ヒット判定エリアを設定する。このヒット判定エリアは、ヒット体によるヒット対象物のヒットを判定するためのエリア(ボリューム)であり、例えばヒット体(一部又は全部)を含むエリアである。そして操作情報取得部101が、コントローラの第1、第2の座標軸回りでの第1、第2の回転角度情報を取得した場合には、ヒット判定エリア設定部110は、取得された第1、第2の回転角度情報に基づいて、ヒット判定エリアを設定する。例えば、第1、第2の回転角度情報に基づいて、オブジェクト空間内でのヒット判定エリアの位置や方向等を設定する。   The hit determination area setting unit 110 performs a process for setting a hit determination area (hit volume) of a hit object by a hit object. For example, the hit determination area setting unit 110 sets a hit determination area based on the rotation angle information acquired by the operation information acquisition unit 101. This hit determination area is an area (volume) for determining a hit of a hit object by a hit body, for example, an area including a hit body (part or all). When the operation information acquisition unit 101 acquires the first and second rotation angle information about the first and second coordinate axes of the controller, the hit determination area setting unit 110 acquires the first, A hit determination area is set based on the second rotation angle information. For example, the position and direction of the hit determination area in the object space are set based on the first and second rotation angle information.

モーション処理部112は、キャラクタ(モデルオブジェクト)を動作させるための各種のモーション処理を行う。例えばモーションデータ記憶部174に記憶されるモーション(モーションデータ)に基づいてモーションの生成処理や再生処理を行う。具体的にはモーション記憶部174は、複数の基準モーション(基準モーションデータ)を記憶する。そしてモーション処理部112は、これらの複数の基準モーションを合成して、キャラクタのモーションを生成する。   The motion processing unit 112 performs various types of motion processing for operating the character (model object). For example, motion generation processing and playback processing are performed based on motion (motion data) stored in the motion data storage unit 174. Specifically, the motion storage unit 174 stores a plurality of reference motions (reference motion data). Then, the motion processing unit 112 combines the plurality of reference motions to generate a character motion.

更に具体的にはモーション記憶部174は、キャラクタの所持オブジェクト(ラケット、クラブ、バット等)又は部位オブジェクト(足、手等)の高さが第1の高さである場合用の基準モーションである複数の第1の高さ用基準モーションを記憶する。また所持オブジェクト又は部位オブジェクトが第2の高さである場合用の基準モーションである少なくとも1つの第2の高さ用基準モーションとを記憶する。そしてモーション処理部112は、第1の高さ用基準モーションと第2の高さ用基準モーションを合成して、キャラクタのモーションを生成する。   More specifically, the motion storage unit 174 is a reference motion for the case where the height of the character's possessed object (racquet, club, bat, etc.) or part object (foot, hand, etc.) is the first height. A plurality of first reference motions for height are stored. Further, at least one second height reference motion that is a reference motion for the case where the possessed object or the part object has the second height is stored. The motion processing unit 112 then synthesizes the first height reference motion and the second height reference motion to generate a character motion.

例えば操作情報取得部101が、第1、第2の座標回りでの回転角度情報である第1、第2の回転角度情報を、操作情報として取得したとする。この場合にはモーション処理部112は、第1、第2の回転角度情報に基づきモーション合成率を求める。例えば基準モーションが対応づけられる角度範囲と第1、第2の回転角度情報との関係に基づき、モーション合成率を求める。そして、求められたモーション合成率で、複数の第1の高さ用基準モーションと、少なくとも1つの第2の高さ用基準モーション(1又は複数の第2の高さ用基準モーション)を合成して、キャラクタのモーションを生成する。   For example, it is assumed that the operation information acquisition unit 101 acquires first and second rotation angle information, which are rotation angle information around the first and second coordinates, as operation information. In this case, the motion processing unit 112 obtains a motion synthesis rate based on the first and second rotation angle information. For example, the motion composition rate is obtained based on the relationship between the angle range to which the reference motion is associated and the first and second rotation angle information. Then, a plurality of first height reference motions and at least one second height reference motion (one or a plurality of second height reference motions) are synthesized at the calculated motion synthesis rate. To generate character motion.

例えばモーション記憶部174は、第1の高さ用基準モーションとして、第1の回転角度情報がα=αiであり、第2の回転角度情報がβ=βjである場合の第1の基準モーションと、第1の回転角度情報がα=αi+1であり、第2の回転角度情報がβ=βjである場合の第2の基準モーションを記憶する。また、第2の高さ用基準モーションとして、第1の回転角度情報がα=αiであり、第2の回転角度情報がβ=βj+1である場合の第3の基準モーションと、第1の回転角度情報がα=αi+1であり、第2の回転角度情報がβ=βj+1である場合の第4の基準モーションを記憶する。そしてモーション処理部112は、第1の回転角度情報αがαi≦α≦αi+1であり、第2の回転角度情報βがβj≦β≦βj+1である場合に、第1、第2の回転角度情報α、βに基づきモーション合成率を求める。そして求められたモーション合成率で、第1、第2、第3、第4の基準モーションを合成して、キャラクタのモーションを生成する。   For example, the motion storage unit 174 uses the first reference motion when the first rotation angle information is α = αi and the second rotation angle information is β = βj as the first height reference motion. The second reference motion when the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj is stored. In addition, as the second height reference motion, the third reference motion in the case where the first rotation angle information is α = αi and the second rotation angle information is β = βj + 1, and the first rotation A fourth reference motion when the angle information is α = αi + 1 and the second rotation angle information is β = βj + 1 is stored. Then, when the first rotation angle information α is αi ≦ α ≦ αi + 1 and the second rotation angle information β is βj ≦ β ≦ βj + 1, the motion processing unit 112 outputs the first and second rotation angle information. The motion synthesis rate is obtained based on α and β. Then, the first, second, third, and fourth reference motions are synthesized at the calculated motion synthesis rate to generate a character motion.

またモーション記憶部174が、第2の高さ用基準モーションとして、第2の回転角度情報がβ=βj+1である場合の基準モーションである第3の基準モーションを記憶してもよい。この場合にはモーション処理部112は、第1、第2の回転角度情報α、βに基づきモーション合成率を求め、求められたモーション合成率で、第1、第2、第3の基準モーションを合成して、キャラクタのモーションを生成する。   The motion storage unit 174 may store a third reference motion that is a reference motion when the second rotation angle information is β = βj + 1 as the second height reference motion. In this case, the motion processing unit 112 calculates a motion synthesis rate based on the first and second rotation angle information α and β, and calculates the first, second, and third reference motions with the calculated motion synthesis rate. Compositing to generate character motion.

また操作情報取得部101が、第3の座標軸回りでの第3の回転角度情報を取得したとする。この場合にモーション処理部112は、上述の第1〜第4の基準モーションや第1〜第3の基準モーションにより生成されたキャラクタのモーションを、第3の回転角度情報に基づいて補正してもよい。例えばキャラクタの部位オブジェクトや所持オブジェクトの回転角度等を、取得された第3の回転角度情報に基づき補正する。   Further, it is assumed that the operation information acquisition unit 101 has acquired the third rotation angle information around the third coordinate axis. In this case, the motion processing unit 112 corrects the motion of the character generated by the first to fourth reference motions or the first to third reference motions based on the third rotation angle information. Good. For example, the rotation angle or the like of the character part object or the possessed object is corrected based on the acquired third rotation angle information.

またモーション処理部112は、第1の回転角度情報が角度リミット値を超えた場合には、角度リミット値に対応する基準モーションを用いてモーション合成を行ってもよい。例えば第1の回転角度情報が角度リミット値である場合に使用される基準モーションにより合成されるモーションで、キャラクタを動作させる。   In addition, when the first rotation angle information exceeds the angle limit value, the motion processing unit 112 may perform motion synthesis using a reference motion corresponding to the angle limit value. For example, the character is operated with a motion synthesized by a reference motion used when the first rotation angle information is an angle limit value.

キャラクタ制御部114は、キャラクタの制御処理を行う。キャラクタはゲームに登場する人、ロボット、動物等の移動体である。具体的にはキャラクタ制御部114は、キャラクタ(モデルオブジェクト)を移動させるための演算を行う。或いはキャラクタを動作させるための演算を行う。即ち操作情報取得部101により取得された操作情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、キャラクタをオブジェクト空間内で移動させたり、キャラクタを動作(モーション、アニメーション)させる処理を行う。具体的には、キャラクタの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The character control unit 114 performs character control processing. The character is a moving body such as a person, robot, or animal appearing in the game. Specifically, the character control unit 114 performs a calculation for moving the character (model object). Alternatively, calculation for moving the character is performed. That is, based on the operation information acquired by the operation information acquisition unit 101, a program (movement / motion algorithm), various data (motion data), etc., the character is moved in the object space, or the character is moved (motion, Animation). Specifically, a simulation process for sequentially obtaining character movement information (position, rotation angle, speed, or acceleration) and motion information (part object position or rotation angle) for each frame (1/60 second). Do. A frame is a unit of time for performing movement / motion processing (simulation processing) and image generation processing.

そして本実施形態ではキャラクタ制御部114は、操作情報取得部101により取得された回転角度情報に基づき求められるモーションで、キャラクタを動作させる制御を行う。例えば操作情報取得部101が、コントローラの第1、第2の座標軸回りでの第1、第2の回転角度情報を取得した場合には、取得された第1、第2の回転角度情報に基づき求められるモーションで、キャラクタを動作させる制御を行う。例えばモーション処理部112が、第1、第2の回転角度情報に基づき基準モーションを合成してキャラクタのモーションを生成すると、キャラクタ制御部114は、生成されたモーションでキャラクタを動作させる。例えばキャラクタ(スケルトン)を構成する各部位オブジェクト(スケルトンを構成する骨)の位置又は回転角度(方向)等を含むモーションデータにより、キャラクタの各部位オブジェクト(骨)を動かすことで(スケルトン形状を変形させることで)、キャラクタを動作させる。   In this embodiment, the character control unit 114 performs control to move the character with a motion obtained based on the rotation angle information acquired by the operation information acquisition unit 101. For example, when the operation information acquisition unit 101 acquires the first and second rotation angle information about the first and second coordinate axes of the controller, the operation information acquisition unit 101 is based on the acquired first and second rotation angle information. Control to move the character with the required motion. For example, when the motion processing unit 112 generates a character motion by combining the reference motion based on the first and second rotation angle information, the character control unit 114 causes the character to move with the generated motion. For example, by moving each part object (bone) of the character by using motion data including the position or rotation angle (direction) of each part object (bone constituting the skeleton) constituting the character (skeleton) (transforming the skeleton shape) To move the character.

仮想カメラ制御部116は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。   The virtual camera control unit 116 performs a virtual camera (viewpoint) control process for generating an image that can be seen from a given (arbitrary) viewpoint in the object space. Specifically, processing for controlling the position (X, Y, Z) or rotation angle (rotation angle about the X, Y, Z axis) of the virtual camera (processing for controlling the viewpoint position, the line-of-sight direction or the angle of view) I do.

画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ176(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお描画処理は頂点シェーダ処理やピクセルシェーダ処理により実現してもよい。   The image generation unit 120 performs drawing processing based on the results of various processing (game processing and simulation processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. Specifically, geometric processing such as coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, perspective transformation, or light source processing is performed. Based on the processing result, drawing data (the position of the vertex of the primitive surface) Coordinates, texture coordinates, color data, normal vector, α value, etc.) are created. Then, based on the drawing data (primitive surface data), the perspective transformation (geometry processing) object (one or a plurality of primitive surfaces) is converted into image data in units of pixels such as a drawing buffer 176 (frame buffer, work buffer, etc.). Draw in a buffer that can be stored. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. The drawing process may be realized by a vertex shader process or a pixel shader process.

音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.

2.本実施形態の手法
2.1 第1、第2の高さ用基準モーションを用いたモーション合成
図2では、プレーヤは、コントローラ200(ゲームコントローラ)を片手で所持し、あたかもテニスのラケットのようにコントローラ200を振って、スイングを行う。またゲーム装置300(画像生成システム)により生成される画像が表示される表示部190には、プレーヤが操作するキャラクタCHが映し出される。そして、プレーヤがコントローラ200を持ってスイングすると、画面上のキャラクタCHも、プレーヤのスイングに応じたスイングを行う。例えばプレーヤがフラットショットのスイングを行うと、キャラクタCHもフラットショットのスイングを行い、プレーヤがトップスピンショットやスライスショットのスイングを行うと、キャラクタCHもトップスピンショットやスライスショットのスイングを行う。そして画面上のキャラクタCHが、相手キャラクタCCが打ったボールBLを打ち返すことで、プレーヤはテニスゲームを楽しむ。
2. 2. Technique of this embodiment 2.1 Motion synthesis using first and second reference motions for height In FIG. 2, the player holds the controller 200 (game controller) with one hand and looks like a tennis racket The controller 200 is swung to swing. A character CH operated by the player is displayed on the display unit 190 on which an image generated by the game apparatus 300 (image generation system) is displayed. When the player swings with the controller 200, the character CH on the screen also swings according to the player's swing. For example, when the player swings a flat shot, the character CH also swings a flat shot, and when the player swings a top spin shot or slice shot, the character CH also swings a top spin shot or slice shot. Then, when the character CH on the screen hits the ball BL hit by the opponent character CC, the player enjoys the tennis game.

なお、以下では本実施形態をテニスゲームに適用した場合を主に例にとり説明する。このテニスゲームの場合には、ヒット体はラケットになり、ヒット対象物はボールになる。但し、本実施形態はテニスゲーム以外のスポーツゲーム(例えば卓球、バトミントン、野球、サッカー、バレーボール等)や、スポーツゲーム以外の各種ゲーム(例えば格闘ゲーム、戦闘ゲーム、ロールプレイングゲーム等)に適用できる。   In the following, a case where the present embodiment is applied to a tennis game will be mainly described as an example. In this tennis game, the hit body becomes a racket, and the hit object becomes a ball. However, this embodiment can be applied to sports games other than tennis games (for example, table tennis, badminton, baseball, soccer, volleyball, etc.) and various games other than sports games (for example, fighting games, battle games, role playing games, etc.).

図3(A)、図3(B)にコントローラ200の構成例を示す。図3(A)はコントローラ200を正面から見た正面図であり、図3(B)は正面向かって右側から見た右側面図である。コントローラ200は、面取りされた略四角断面を有する棒状の形状になっており、プレーヤは棒を握る要領でコントローラ200を片手で所持して操作する。   3A and 3B show configuration examples of the controller 200. FIG. FIG. 3A is a front view of the controller 200 viewed from the front, and FIG. 3B is a right side view of the controller 200 viewed from the right side. The controller 200 has a rod-like shape with a chamfered substantially square cross section, and the player operates the controller 200 with one hand in the manner of gripping the rod.

コントローラ200の正面側(操作面側)には、方向指示キー210、Aボタン212等の各種スイッチ類(入力デバイス)が設けられている。またコントローラ200の裏面側(背面側)にはトリガボタン214が設けられている。   Various switches (input devices) such as a direction instruction key 210 and an A button 212 are provided on the front side (operation side) of the controller 200. A trigger button 214 is provided on the back side (back side) of the controller 200.

コントローラ200は、撮像素子220、無線通信モジュール222、加速度センサ224、角速度センサ230を有する。またコントローラ200は、図示しないコントローラ制御部やバイブレータ(振動機構)やスピーカ等も内蔵する。コントローラ制御部は例えば制御IC(CPU、ASIC)やメモリにより構成され、コントローラ200の全体の制御や各種処理を行う。バイブレータは、コントローラ制御部からの振動制御信号にしたがって振動を発生させ、コントローラ200を把持するプレーヤの手に振動を感じさせる。スピーカは、コントローラ制御部から出力された音信号に応じた音を出力する。   The controller 200 includes an image sensor 220, a wireless communication module 222, an acceleration sensor 224, and an angular velocity sensor 230. The controller 200 also includes a controller control unit, a vibrator (vibration mechanism), a speaker, and the like (not shown). The controller control unit includes, for example, a control IC (CPU, ASIC) and a memory, and performs overall control of the controller 200 and various processes. The vibrator generates vibration in accordance with a vibration control signal from the controller control unit, and causes the player's hand holding the controller 200 to feel the vibration. The speaker outputs a sound corresponding to the sound signal output from the controller control unit.

撮像素子220はCCDやCMOSセンサなどにより実現され、コントローラ200の長手方向(長軸方向)の前方の様子を撮像する。   The image pickup element 220 is realized by a CCD, a CMOS sensor, or the like, and picks up an image of the front side of the controller 200 in the longitudinal direction (long axis direction).

無線通信モジュール222は、図2のゲーム装置300(ゲーム装置本体)と無線通信(近接無線通信)を行うためのものである。例えば、方向指示キー210、Aボタン212等により入力された操作情報、撮像素子220により得られた撮像情報、加速度センサ224、角速度センサ230により得られたセンサ情報(加速度情報、角速度情報)は、無線通信モジュール222によりゲーム装置300に無線通信される。   The wireless communication module 222 is for performing wireless communication (proximity wireless communication) with the game apparatus 300 (game apparatus main body) of FIG. For example, operation information input by the direction instruction key 210, the A button 212, etc., imaging information obtained by the imaging element 220, sensor information (acceleration information, angular velocity information) obtained by the acceleration sensor 224 and the angular velocity sensor 230 are: Wireless communication with the game apparatus 300 is performed by the wireless communication module 222.

加速度センサ224は、ユーザがコントローラ200を動かした時(振った時)の加速度情報を検出するセンサである。例えば加速度センサ224は直交3軸方向の各加速度情報を検出する。例えば図4において、コントローラ200の長辺方向に沿って設定された座標軸をZ軸(広義には第3の座標軸)とし、Z軸に直交する座標軸をX軸、Y軸(広義には第1、第2の座標軸)としたとする。この場合には加速度センサ224は、例えばX軸方向に沿った第1の加速度情報、Y軸方向に沿った第2の加速度情報、Z軸方向に沿った第3の加速度情報を検出して、センサ情報として出力する。   The acceleration sensor 224 is a sensor that detects acceleration information when the user moves (shakes) the controller 200. For example, the acceleration sensor 224 detects each piece of acceleration information in the orthogonal three-axis directions. For example, in FIG. 4, the coordinate axis set along the long side direction of the controller 200 is the Z axis (third coordinate axis in a broad sense), the coordinate axis orthogonal to the Z axis is the X axis, and the Y axis (first in the broad sense is the first axis). , The second coordinate axis). In this case, the acceleration sensor 224 detects, for example, first acceleration information along the X-axis direction, second acceleration information along the Y-axis direction, and third acceleration information along the Z-axis direction, Output as sensor information.

角速度センサ230は、ユーザがコントローラ200を動かした時(回転させた時)の角速度情報を検出するセンサである。例えば角速度センサ230は、直交3軸での角速度情報を検出するセンサであり、コントローラ200のX軸、Y軸、Z軸回りでの角速度情報を検出する。具体的には、図4においてX軸回りの回転角度をα、Y軸回りの回転角度をβ、Z軸回りの回転角度をγとすると、これらのα、β、γについての角速度を検出する。なおX、Y、Zの座標軸の正負の向きや、α、β、γの回転方向は、図4に限定されず適宜設定できる。また角速度センサ230は、例えば多軸角速度センシングジャイロスコープなどにより実現できる。具体的にはMEMS構造の多軸角速度センシングジャイロスコープなどにより実現できる。   The angular velocity sensor 230 is a sensor that detects angular velocity information when the user moves (rotates) the controller 200. For example, the angular velocity sensor 230 is a sensor that detects angular velocity information about three orthogonal axes, and detects angular velocity information about the X axis, the Y axis, and the Z axis of the controller 200. Specifically, in FIG. 4, assuming that the rotation angle around the X axis is α, the rotation angle around the Y axis is β, and the rotation angle around the Z axis is γ, the angular velocities for these α, β, and γ are detected. . Note that the positive and negative directions of the X, Y, and Z coordinate axes and the rotation directions of α, β, and γ are not limited to those in FIG. 4 and can be set as appropriate. The angular velocity sensor 230 can be realized by, for example, a multi-axis angular velocity sensing gyroscope. Specifically, it can be realized by a multi-axis angular velocity sensing gyroscope having a MEMS structure.

なお角速度センサ230は、コントローラ200の本体の拡張端子に接続される拡張ユニット202内に設けられているが、コントローラ200の本体内に設けてもよい。また以下では説明を簡略化するため、コントローラ本体と拡張ユニットが一体に形成されているものとして図示する。   The angular velocity sensor 230 is provided in the extension unit 202 connected to the extension terminal of the main body of the controller 200, but may be provided in the main body of the controller 200. Further, in the following, in order to simplify the description, the controller main body and the expansion unit are illustrated as being integrally formed.

またコントローラ200は、プレーヤが所持(把持、取り付け)可能であり、例えば長手方向に沿った座標軸で回転可能な形状であることが望ましいが、図3(A)、図3(B)の形状(略直方体形状。長手方向に沿った切断面が略長方形形状)には限定されない。例えば図3(A)、図3(B)の形状の一部が異なる形状にしたり、コントローラ200を収納するケースを設けて使用するなどの種々の変形実施が可能である。   The controller 200 can be held (gripped and attached) by the player, and preferably has a shape that can be rotated by a coordinate axis along the longitudinal direction, for example, but the shape of FIGS. 3A and 3B ( It is not limited to a substantially rectangular parallelepiped shape (the cut surface along the longitudinal direction is a substantially rectangular shape). For example, various modifications may be made such that a part of the shape of FIGS. 3A and 3B is different, or a case in which the controller 200 is stored is provided.

図5(A)、図5(B)、図6に、コントローラ200により操作されるキャラクタCHのモーション(基準モーション)の例を示す。図5(A)は基準ポジションでのキャラクタCHのモーション(姿勢)の例である。図5(B)はテークバック時のモーションの例であり、図6はボールのヒット時(インパクト時)のモーションの例である。プレーヤが、図2のようにコントローラ200を持って、テニスのラケットのようにコントローラ200を振ってスイングを行うと、画面上のキャラクタCHも、図5(A)〜図6のようにスイングを行う。   FIG. 5A, FIG. 5B, and FIG. 6 show examples of the motion (reference motion) of the character CH operated by the controller 200. FIG. FIG. 5A shows an example of the motion (posture) of the character CH at the reference position. FIG. 5B shows an example of motion during takeback, and FIG. 6 shows an example of motion when a ball hits (impact). When the player holds the controller 200 as shown in FIG. 2 and swings by swinging the controller 200 like a tennis racket, the character CH on the screen also swings as shown in FIGS. Do.

さて、よりリアルなテニスゲームを実現するためには、図5(A)〜図6に示すキャラクタCHのスイングについてもリアルに表現することが望ましい。例えば図2において、プレーヤがコントローラ200を用いて低い打点でのスイング(低い軌道のスイング)を行った場合には、画面上のキャラクタCHも低い打点のスイングを行うようにする。またプレーヤが高い打点でのスイング(高い軌道のスイング)を行った場合には、画面上のキャラクタCHも高い打点のスイングを行うようにする。或いはプレーヤがコントローラ200を用いてサーブやスマッシュのスイングを行った場合には、キャラクタCHも自動的にサーブやスマッシュのスイングを行うようにする。   Now, in order to realize a more realistic tennis game, it is desirable to realistically represent the swing of the character CH shown in FIGS. For example, in FIG. 2, when the player uses the controller 200 to perform a swing at a low hitting point (low trajectory swing), the character CH on the screen also performs a low hitting point swing. When the player swings with a high hitting point (a swing with a high trajectory), the character CH on the screen also performs a swing with a high hitting point. Alternatively, when the player uses the controller 200 to perform a serve or smash swing, the character CH automatically performs a serve or smash swing.

しかしながら、このようなキャラクタCHのスイングを、モーション処理により実現しようとすると、モーションデータのデータ量が膨大になってしまうという課題がある。   However, if the swing of the character CH is to be realized by motion processing, there is a problem that the amount of motion data becomes enormous.

また、スイングの軌道の高低の切り替えやサーブへのスイングの切り替えを、例えばコントローラ200のボタン等を押すことで実現する手法も考えられる。   In addition, a method of realizing switching of the swing trajectory and switching of the swing to serve by pressing a button of the controller 200 or the like is also conceivable.

しかしながら、この手法では、現実世界のテニスとは異なる操作をユーザに要求してしまうことになると共に、ユーザの操作が煩雑になってしまうという問題がある。   However, this method has a problem that it requires the user to perform an operation different from that of real-world tennis, and the user's operation becomes complicated.

そこで本実施形態では、キャラクタの所持オブジェクトや部位オブジェクトの高さに対応した基準モーションを用意する。例えばラケット等の所持オブジェクトや、手、足等の部位オブジェクトが、第1の高さである場合用の第1の高さ用基準モーションと、第2の高さである場合用の第2の高さ用基準モーションを用意する。そして、これらの第1の高さ用基準モーションと第2の高さ用基準モーションを合成して、キャラクタのモーションを生成し、生成されたモーションでキャラクタを動作させる。例えば、コントローラ200のX軸回り、Y軸回りでの回転角度α、β(第1、第2の回転角度情報)に基づき、モーション合成率(モーションブレンド率)を求める。そして求められたモーション合成率で第1、第2の高さ用基準モーションを合成することで、キャラクタのモーションを生成する。   Therefore, in this embodiment, a reference motion corresponding to the height of the possessed object or part object of the character is prepared. For example, a possession object such as a racket, or a part object such as a hand or a foot has a first height reference motion for the case where it is the first height and a second motion for the case where it is the second height. Prepare a reference motion for height. Then, the first reference motion for height and the second reference motion for height are synthesized to generate a motion of the character, and the character is operated with the generated motion. For example, the motion synthesis rate (motion blend rate) is obtained based on the rotation angles α, β (first and second rotation angle information) about the X axis and the Y axis of the controller 200. Then, the motion of the character is generated by synthesizing the first and second reference motions for height at the obtained motion synthesis rate.

図7は、モーション合成(モーションブレンド)の原理を示す図である。図7では、基準モーションM1と基準モーションM2が合成されて、モーションMBが生成されている。このモーション合成は、MB=M1×K1+M2×K2の式で表すことができる。ここで、K1、K2がモーション合成率に相当し、K1+K2=1の関係が成り立つ。   FIG. 7 is a diagram illustrating the principle of motion synthesis (motion blending). In FIG. 7, the reference motion M1 and the reference motion M2 are combined to generate a motion MB. This motion synthesis can be expressed by the equation MB = M1 × K1 + M2 × K2. Here, K1 and K2 correspond to the motion synthesis rate, and the relationship of K1 + K2 = 1 holds.

例えば図8に示すようにキャラクタは複数の部位オブジェクト(パーツオブジェクト)PB0〜PB15により構成される。そして各部位オブジェクトの位置や方向は、キャラクタのスケルトンモデルを構成する骨B0〜B19の位置(関節J0〜J15の位置)や回転角度(親の骨に対する子の骨の相対的な回転角度)により特定される。図1のモーション記憶部174には、この骨の位置、回転角度のデータが、キャラクタのモーションのデータとして記憶される。そして図7のモーション合成は、スケルトンの各骨のデータ(マトリクスデータ)に対して、MB=M1×K1+M2×K2で表される処理を行うことで実現できる。なお骨の回転角度だけをモーションデータに含ませ、骨の位置(関節位置)については、キャラクタのモデルオブジェクトデータの中に含ませてもよい。   For example, as shown in FIG. 8, the character is composed of a plurality of part objects (part objects) PB0 to PB15. The position and direction of each part object depend on the positions of the bones B0 to B19 (the positions of the joints J0 to J15) and the rotation angle (the relative rotation angle of the child bone with respect to the parent bone) constituting the character's skeleton model. Identified. The motion storage unit 174 in FIG. 1 stores the bone position and rotation angle data as character motion data. 7 can be realized by performing processing represented by MB = M1 × K1 + M2 × K2 on the data (matrix data) of each bone of the skeleton. Only the rotation angle of the bone may be included in the motion data, and the position of the bone (joint position) may be included in the model object data of the character.

そして本実施形態では、ラケット等のキャラクタの所持オブジェクト(図8のPR)や部位オブジェクトの高さに応じた基準モーションを用意し、これらの基準モーションを図7のモーション合成で合成することで、キャラクタのモーションを生成している。   In this embodiment, a reference motion corresponding to the height of the object (PR in FIG. 8) or the part object of the character such as a racket is prepared, and these reference motions are synthesized by the motion synthesis in FIG. The character's motion is generated.

具体的には図1のモーション記憶部174は、キャラクタの所持オブジェクト(又は部位オブジェクト。以下、同様)の高さが第1の高さである場合用の基準モーションである複数の第1の高さ用基準モーションを記憶する。また所持オブジェクトが第2の高さである場合用の基準モーションである少なくとも1つの第2の高さ用基準モーションとを記憶する。そしてモーション処理部112は、複数の第1の高さ用基準モーションと、少なくとも1つの第2の高さ用基準モーションを合成して、キャラクタのモーションを生成する。   Specifically, the motion storage unit 174 in FIG. 1 has a plurality of first heights that are reference motions for the case where the height of the possessed object (or part object; hereinafter the same) of the character is the first height. The reference motion is stored. Also, at least one second height reference motion that is a reference motion for the case where the possessed object has the second height is stored. Then, the motion processing unit 112 synthesizes the plurality of first height reference motions and at least one second height reference motion to generate a character motion.

ここで、第1の高さ用基準モーションは、所持オブジェクト(部位オブジェクト)が第1の高さであることを想定して用意されたモーションである。なお、複数の第1の高さ用基準モーションの間で、所持オブジェクトの高さが正確に一致する必要はない。また第2の高さ用基準モーションは、所持オブジェクト(部位オブジェクト)が第2の高さ(第1の高さと異なる高さ)であることを想定して用意されたモーションである。なお、複数の第2の高さ用基準モーションの間で、所持オブジェクトの高さが正確に一致する必要はない。   Here, the first reference motion for height is a motion prepared assuming that the possessed object (part object) is at the first height. Note that it is not necessary for the height of the possessed object to exactly match among the plurality of first height reference motions. The second reference motion for height is a motion prepared assuming that the possessed object (part object) is at the second height (a height different from the first height). Note that it is not necessary for the height of the possessed object to exactly match the plurality of second height reference motions.

図9(A)、図9(B)に、第1の高さ用基準モーションの例を示す。これらの基準モーションはラケットRKが低い位置にある場合のモーションである。また図9(A)はインパクト時(ボールのヒット時)のモーションであり、図9(B)はテークバック時のモーションである。なお図9(A)、図9(B)では、キャラクタCHを見る視点位置(仮想カメラの位置)が異なっており、図9(A)は前側からキャラクタCHを見た図であり、図9(B)は右側からキャラクタCHを見た図になっている。   FIG. 9A and FIG. 9B show examples of the first reference motion for height. These reference motions are motions when the racket RK is at a low position. FIG. 9A shows the motion at the time of impact (when the ball hits), and FIG. 9B shows the motion at the time of takeback. 9A and 9B are different in the viewpoint position (the position of the virtual camera) for viewing the character CH, and FIG. 9A is a view of the character CH viewed from the front side. (B) is the figure which looked at the character CH from the right side.

図10(A)、図10(B)に、第2の高さ用基準モーションの例を示す。これらの基準モーションは、ラケットRKが図9(A)、図9(B)よりも高い位置にある場合のモーションである。また図10(A)は図9(A)と同様にインパクト時のモーションであり、図10(B)は図9(B)と同様にテークバック時のモーションである。   FIGS. 10A and 10B show examples of the second reference motion for height. These reference motions are motions when the racket RK is at a position higher than those in FIGS. 9A and 9B. Further, FIG. 10A shows a motion at the time of impact as in FIG. 9A, and FIG. 10B shows a motion at the time of takeback as in FIG. 9B.

図10(A)と図9(A)を比べれば明らかなように、図10(A)では図9(A)に比べてラケットRKの位置が高くなっている。同様に、図10(B)と図9(B)を比べれば明らかなように、図10(B)では図9(B)に比べてラケットRKの位置が高くなっている。   As apparent from a comparison between FIG. 10A and FIG. 9A, the position of the racket RK is higher in FIG. 10A than in FIG. 9A. Similarly, as apparent from a comparison between FIG. 10B and FIG. 9B, the position of the racket RK is higher in FIG. 10B than in FIG. 9B.

本実施形態では、図9(A)、図9(B)に示す第1の高さ用基準モーションと、図10(A)、図10(B)に示す第2の高さ用基準モーションを、図7で説明したモーション合成手法で合成することで、キャラクタCHのモーションを生成する。具体的には、コントローラ200のX軸、Y軸回りでの回転角度α、β(第1、第2の座標回りでの第1、第2の回転角度情報)が取得された場合には、これらの回転角度α、βに基づきモーション合成率を求める。そして、求められたモーション合成率で、図9(A)、図9(B)の第1の高さ用基準モーションと、図10(A)、図10(B)の第2の高さ用基準モーションを合成して、キャラクタCHのモーションを生成する。   In the present embodiment, the first height reference motion shown in FIGS. 9A and 9B and the second height reference motion shown in FIGS. 10A and 10B are used. The motion of the character CH is generated by combining with the motion combining method described with reference to FIG. Specifically, when the rotation angles α and β (first and second rotation angle information about the first and second coordinates) about the X axis and the Y axis of the controller 200 are acquired, Based on these rotation angles α and β, the motion synthesis rate is obtained. Then, with the calculated motion synthesis rate, the first height reference motion of FIGS. 9A and 9B and the second height of FIGS. 10A and 10B are used. The motion of the character CH is generated by combining the reference motion.

例えば図11(A)のC1では、基準方向DRに対してコントローラ200のX軸回りでの回転角度はα=αiになっている。また図11(A)のC2では、基準方向DRに対してコントローラ200のX軸回りでの回転角度はα=αi+1になっている。   For example, in C1 of FIG. 11A, the rotation angle of the controller 200 around the X axis with respect to the reference direction DR is α = αi. In C2 of FIG. 11A, the rotation angle of the controller 200 around the X axis with respect to the reference direction DR is α = αi + 1.

一方、図11(B)のC3では、基準方向DRに対してコントローラ200のY軸回りでの回転角度はβ=βjになっている。また図11(B)のC4では、基準方向DRに対してコントローラ200のY軸回りでの回転角度はβ=βj+1になっている。   On the other hand, in C3 of FIG. 11B, the rotation angle of the controller 200 around the Y axis with respect to the reference direction DR is β = βj. In C4 of FIG. 11B, the rotation angle of the controller 200 around the Y axis with respect to the reference direction DR is β = βj + 1.

そして図12では、第1の高さ用基準モーションとして、X軸回りでの回転角度(広義には第1の回転角度情報)がα=αiであり、Y軸回りでの回転角度(広義には第2の回転角度情報)がβ=βjである場合の基準モーションである第1の基準モーションM(i、j)が用意される。また第1の高さ用基準モーションとして、X軸回りでの回転角度がα=αi+1であり、Y軸回りでの回転角度がβ=βjである場合の基準モーションである第2の基準モーションM(i+1、j)が用意される。   In FIG. 12, as the first reference motion for height, the rotation angle around the X axis (first rotation angle information in a broad sense) is α = αi, and the rotation angle around the Y axis (in a broad sense) Is a reference motion when the second rotation angle information) is β = βj, a first reference motion M (i, j) is prepared. As a first reference motion for height, a second reference motion M that is a reference motion when the rotation angle around the X axis is α = αi + 1 and the rotation angle around the Y axis is β = βj. (I + 1, j) is prepared.

これらの第1の高さ用の第1、第2の基準モーションM(i、j)、M(i+1、j)は、例えば図9(A)、図9(B)に示すラケットRKが低い場合の基準モーションに相当する。そして、これらのモーションM(i、j)、M(i+1、j)のデータはモーション記憶部174に記憶される。   The first and second reference motions M (i, j) and M (i + 1, j) for the first height have a low racket RK shown in FIGS. 9A and 9B, for example. This corresponds to the reference motion in the case. The data of these motions M (i, j) and M (i + 1, j) are stored in the motion storage unit 174.

また図12では、第2の高さ用基準モーションとして、X軸回りでの回転角度がα=αiであり、Y軸回りでの回転角度がβ=βj+1である場合の基準モーションである第3の基準モーションM(i、j+1)が用意される。また第2の高さ用基準モーションとして、X軸回りでの回転角度がα=αi+1であり、Y軸回りでの回転角度がβ=βj+1である場合の基準モーションである第4の基準モーションM(i+1、j+1)が用意される。   In FIG. 12, as the second reference motion for height, the third motion which is a reference motion when the rotation angle around the X axis is α = αi and the rotation angle around the Y axis is β = βj + 1. The reference motion M (i, j + 1) is prepared. As the second reference motion for height, a fourth reference motion M that is a reference motion when the rotation angle around the X axis is α = αi + 1 and the rotation angle around the Y axis is β = βj + 1. (I + 1, j + 1) are prepared.

これらの第2の高さ用の第3、第4の基準モーションM(i、j+1)、M(i+1、j+1)は、例えば図10(A)、図10(B)に示すラケットRKが高い場合のモーションに相当する。そして、これらのモーションM(i、j+1)、M(i+1、j+1)のデータはモーション記憶部174に記憶される。   For example, the third and fourth reference motions M (i, j + 1) and M (i + 1, j + 1) for the second height have a high racket RK shown in FIGS. 10A and 10B. Corresponds to the motion of the case. The data of these motions M (i, j + 1) and M (i + 1, j + 1) are stored in the motion storage unit 174.

そしてコントローラ200のX軸方向での回転角度αがαi≦α≦αi+1であり、Y軸方向での回転角度βがβj≦β≦βj+1である場合には、モーション合成の対象となる基準モーションとして、第1、第2、第3、第4の基準モーションM(i、j)、M(i+1、j)、M(i、j+1)、M(i+1、j+1)が選択される。また回転角度α、βに基づきモーション合成率が求められる。そして、求められたモーション合成率で、第1、第2、第3、第4の基準モーションM(i、j)、M(i+1、j)、M(i、j+1)、M(i+1、j+1)を合成して、キャラクタのモーションMBを生成する。   When the rotation angle α in the X-axis direction of the controller 200 is αi ≦ α ≦ αi + 1 and the rotation angle β in the Y-axis direction is βj ≦ β ≦ βj + 1, the reference motion that is the target of motion synthesis is , First, second, third, and fourth reference motions M (i, j), M (i + 1, j), M (i, j + 1), and M (i + 1, j + 1) are selected. Also, a motion synthesis rate is obtained based on the rotation angles α and β. Then, the first, second, third, and fourth reference motions M (i, j), M (i + 1, j), M (i, j + 1), M (i + 1, j + 1) are obtained at the calculated motion synthesis rate. ) To generate a motion MB of the character.

具体的には例えば、第1の基準モーションM(i、j)と第2の基準モーションM(i+1、j)を合成して、モーションMB1=K1×M(i、j)+K2×M(i+1、j)を求める。また第3の基準モーションM(i、j+1)と第4の基準モーションM(i+1、j+1)を合成して、モーションMB2=K1×M(i、j+1)+K2×M(i+1、j+1)を求める。そしてモーションMB1とMB2を合成して、最終的なキャラクタのモーションMB=K3×MB1+K4×MB2を求める。   Specifically, for example, the first reference motion M (i, j) and the second reference motion M (i + 1, j) are synthesized, and the motion MB1 = K1 × M (i, j) + K2 × M (i + 1) , J). Also, the third reference motion M (i, j + 1) and the fourth reference motion M (i + 1, j + 1) are synthesized to obtain a motion MB2 = K1 × M (i, j + 1) + K2 × M (i + 1, j + 1). . Then, the motions MB1 and MB2 are synthesized to obtain the final character motion MB = K3 × MB1 + K4 × MB2.

ここで、K1+K2=1、K3+K4=1の関係が成り立つ。そして、K1、K2(=1−K1)は、コントローラ200の回転角度αとαi、αi+1との関係により求められる。例えばα=αiである場合には、K1=1、K2=0になり、α=αi+1の場合には、K1=0、K2=1になる。またαが、αiとαi+1の中間(真ん中)の角度である場合には、K1=K2=1/2になる。   Here, the relationship of K1 + K2 = 1 and K3 + K4 = 1 holds. K1 and K2 (= 1−K1) are obtained from the relationship between the rotation angle α of the controller 200 and αi and αi + 1. For example, when α = αi, K1 = 1 and K2 = 0, and when α = αi + 1, K1 = 0 and K2 = 1. If α is an angle between αi and αi + 1 (middle), K1 = K2 = 1/2.

同様に、K3、K4(=1−K3)は、コントローラ200の回転角度βとβj、βj+1との関係により求められる。例えばβ=βjである場合には、K3=1、K4=0になり、β=βj+1の場合には、K3=0、K4=1になる。またβが、βjとβj+1の中間(真ん中)の角度である場合には、K3=K4=1/2になる。   Similarly, K3 and K4 (= 1−K3) are obtained from the relationship between the rotation angle β of the controller 200 and βj and βj + 1. For example, when β = βj, K3 = 1 and K4 = 0, and when β = βj + 1, K3 = 0 and K4 = 1. Further, when β is an angle (middle) between βj and βj + 1, K3 = K4 = 1/2.

なお図12では、モーション合成の対象となる第2の高さ用基準モーションが、M(i、j+1)、M(i+1、j+1)というように2個である場合について説明したが、モーション合成の対象となる第2の高さ用基準モーションは1個であってもよい。その場合の例を図13に示す。   In FIG. 12, a case has been described in which there are two second height reference motions for motion synthesis, such as M (i, j + 1) and M (i + 1, j + 1). There may be one second reference motion for height. An example in that case is shown in FIG.

図13では、図12と同様に、第1の高さ用基準モーションとして、X軸回りでの回転角度がα=αiであり、Y軸回りでの回転角度がβ=βjである場合の第1の基準モーションM(i、j)と、X軸回りでの回転角度がα=αi+1であり、Y軸回りでの回転角度がβ=βjである場合の第2の基準モーションM(i+1、j)が用意される。   In FIG. 13, as in FIG. 12, as the first reference motion for height, the rotation angle around the X axis is α = αi, and the rotation angle around the Y axis is β = βj. 1 reference motion M (i, j) and the second reference motion M (i + 1, j) when the rotation angle around the X axis is α = αi + 1 and the rotation angle around the Y axis is β = βj. j) is prepared.

また図13では、第2の高さ用基準モーションとして、Y軸回りでの回転角度がβ=βj+1である場合の第3の基準モーションM(j+1)が用意される。この第3の基準モーションM(j+1)としては、例えばキャラクタのラケットが縦になるサーブモーションやスマッシュモーションを想定できる。   In FIG. 13, a third reference motion M (j + 1) in the case where the rotation angle around the Y axis is β = βj + 1 is prepared as the second reference motion for height. As the third reference motion M (j + 1), for example, a serve motion or a smash motion in which the character racket is vertical can be assumed.

そしてコントローラ200のX軸方向での回転角度αがαi≦α≦αi+1であり、Y軸方向での回転角度βがβj≦β≦βj+1である場合には、第1、第2、第3の基準モーションM(i、j)、M(i+1、j)、M(j+1)が選択される。また回転角度α、βに基づきモーション合成率が求められる。そして、求められたモーション合成率で、第1、第2、第3の基準モーションM(i、j)、M(i+1、j)、M(j+1)を合成して、キャラクタのモーションMBを生成する。   When the rotation angle α in the X-axis direction of the controller 200 is αi ≦ α ≦ αi + 1 and the rotation angle β in the Y-axis direction is βj ≦ β ≦ βj + 1, the first, second, and third Reference motions M (i, j), M (i + 1, j), and M (j + 1) are selected. Also, a motion synthesis rate is obtained based on the rotation angles α and β. Then, the first, second, and third reference motions M (i, j), M (i + 1, j), and M (j + 1) are synthesized at the calculated motion synthesis rate to generate a character motion MB. To do.

具体的には例えば、第1の基準モーションM(i、j)と第2の基準モーションM(i+1、j)を合成して、モーションMB1=K1×M(i、j)+K2×M(i+1、j)を求める。そしてモーションMB1と第3の基準モーションM(j+1)を合成して、最終的なキャラクタのモーションMB=K3×MB1+K4×M(j+1)を求める。   Specifically, for example, the first reference motion M (i, j) and the second reference motion M (i + 1, j) are synthesized, and the motion MB1 = K1 × M (i, j) + K2 × M (i + 1) , J). Then, the motion MB1 and the third reference motion M (j + 1) are synthesized to obtain the final character motion MB = K3 × MB1 + K4 × M (j + 1).

ここで、K1+K2=1、K3+K4=1の関係が成り立つ。そして、K1、K2は、コントローラ200の回転角度αとαi、αi+1との関係により求められる。同様に、K3、K4は、コントローラ200の回転角度βとβj、βj+1との関係により求められる。   Here, the relationship of K1 + K2 = 1 and K3 + K4 = 1 holds. K1 and K2 are obtained from the relationship between the rotation angle α of the controller 200 and αi and αi + 1. Similarly, K3 and K4 are obtained from the relationship between the rotation angle β of the controller 200 and βj and βj + 1.

以上のように本実施形態によれば、キャラクタの所持オブジェクト(部位オブジェクト)の高さに応じた第1の高さ用基準モーションと第2の高さ用基準モーションが用意される。そして、これらの第1の高さ用基準モーション、第2の高さ用基準モーションを合成することで、キャラクタのモーションが生成される。従って,キャラクタの所持オブジェクトを基準としたモーション合成が可能になり、例えば所持オブジェクトの軌道(例えばスイングの軌道)等を適正に表現できるようになり、これまでにないタイプのモーション合成を実現できる。   As described above, according to the present embodiment, the first height reference motion and the second height reference motion corresponding to the height of the possessed object (part object) of the character are prepared. Then, the motion of the character is generated by combining the first reference motion for height and the second reference motion for height. Therefore, it becomes possible to perform motion synthesis based on the possessed object of the character. For example, the trajectory of the possessed object (for example, the trajectory of the swing) can be appropriately expressed, and an unprecedented type of motion synthesis can be realized.

また本実施形態では、コントローラの回転角度情報に基づいてモーション合成率を求め、求められたモーション合成率で第1の高さ用基準モーションと第2の高さ用基準モーションのモーション合成が行われる。このようにすれば、キャラクタの所持オブジェクト(部位オブジェクト)の高さが、コントローラの回転角度情報に応じた高さに設定されるモーションを生成できる。従って、コントローラの回転操作に応じて、所持オブジェクト等の軌道等が変化するモーションを生成できるようになり、よりリアルなモーション生成が可能になる。   In this embodiment, the motion synthesis rate is obtained based on the rotation angle information of the controller, and the motion synthesis of the first height reference motion and the second height reference motion is performed at the obtained motion synthesis rate. . In this way, it is possible to generate a motion in which the height of the possessed object (part object) of the character is set to a height corresponding to the rotation angle information of the controller. Accordingly, it is possible to generate a motion in which the trajectory or the like of the possessed object changes according to the rotation operation of the controller, and more realistic motion generation is possible.

また本実施形態によれば、基準モーションのデータ量を最小限に抑えながら、キャラクタの所持オブジェクトや部位オブジェクトのリアルな軌道等を表現できる。従って、少ないモーションデータ量でリアルな画像表現を実現できる。   In addition, according to the present embodiment, it is possible to represent a realistic trajectory or the like of a character's possessed object or part object while minimizing the amount of reference motion data. Therefore, realistic image expression can be realized with a small amount of motion data.

なお操作情報として、コントローラ200のZ軸回りでの回転角度γ(第3の回転角度情報)が取得される場合には、この回転角度γも反映させたキャラクタのモーション制御を行うことが望ましい。例えばコントローラ200の回転角度γが、フラットショットのラケット面の角度に対応する場合にはフラットショットのモーションを行い、回転角度γが、トップスピンショットのラケット面の角度に対応する場合にはトップスピンショットのモーションを行うように、キャラクタを制御する。また回転角度γが、スライスショットのラケット面の角度に対応する場合には、スライスショットのモーションを行うように、キャラクタを制御する。   When the rotation angle γ (third rotation angle information) about the Z axis of the controller 200 is acquired as the operation information, it is desirable to perform character motion control that also reflects the rotation angle γ. For example, when the rotation angle γ of the controller 200 corresponds to the angle of the racket surface of the flat shot, a flat shot motion is performed, and when the rotation angle γ corresponds to the angle of the racket surface of the top spin shot, the top spin Control the character to make a shot motion. When the rotation angle γ corresponds to the angle of the racket surface of the slice shot, the character is controlled to perform the slice shot motion.

更に具体的には図14に示すように、回転角度がα=αi、β=βj、γ=γmの場合の第1の基準モーションM(i、j、m)と、回転角度がα=αi+1、β=βj、γ=γmの場合の第2の基準モーションM(i+1、j、m)と、回転角度がα=αi、β=βj+1、γ=γmの場合の第3の基準モーションM(i、j+1、m)と、回転角度がα=αi+1、β=βj+1、γ=γmの場合の第4の基準モーションM(i+1、j+1、m)を、モーション記憶部174に記憶する。そしてこれらの第1、第2、第3、第4の基準モーションM(i、j、m)、M(i+1、j、m)、M(i、j+1、m)、M(i+1、j+1、m)を合成して、キャラクタのモーションを生成すればよい。   More specifically, as shown in FIG. 14, the first reference motion M (i, j, m) when the rotation angle is α = αi, β = βj, and γ = γm, and the rotation angle is α = αi + 1. , Β = βj, γ = γm, a second reference motion M (i + 1, j, m), and a third reference motion M (when rotation angles are α = αi, β = βj + 1, γ = γm) i, j + 1, m) and the fourth reference motion M (i + 1, j + 1, m) when the rotation angles are α = αi + 1, β = βj + 1, and γ = γm are stored in the motion storage unit 174. These first, second, third and fourth reference motions M (i, j, m), M (i + 1, j, m), M (i, j + 1, m), M (i + 1, j + 1, m) may be combined to generate the motion of the character.

またモーション合成率は、図12の場合と同様にαとαi、αi+1の関係、βとβj、βj+1の関係等により求めればよい。また図13の場合と同様に、第1、第2、第3の基準モーションM(i、j、m)、M(i+1、j、m)、M(i、j+1、m)、M(j+1、m)を合成して、キャラクタのモーションを生成してもよい。   Similarly to the case of FIG. 12, the motion synthesis rate may be obtained from the relationship between α and αi, αi + 1, the relationship between β and βj, βj + 1, and the like. As in the case of FIG. 13, the first, second, and third reference motions M (i, j, m), M (i + 1, j, m), M (i, j + 1, m), M (j + 1) , M) may be combined to generate a character motion.

なお、回転角度γに対して、例えばフラット、トップスピン、スライスなどの各ショットに対応した複数の角度範囲を設け、これらの各角度範囲に対応する第1、第2、第3、第4の基準モーションを用意する。例えば第1の角度範囲用の第1、第2、第3、第4の基準モーション、第2の角度範囲用の第1、第2、第3、第4の基準モーションというように、各角度範囲毎に第1、第2、第3、第4の基準モーションを用意する。そして回転角度γが、これらの角度範囲のいずれに属するかに基づいて、回転角度γに応じた第1、第2、第3、第4の基準モーションを選択してもよい。   For the rotation angle γ, for example, a plurality of angle ranges corresponding to each shot such as flat, top spin, and slice are provided, and the first, second, third, and fourth corresponding to each angle range are provided. Prepare a reference motion. For example, the first, second, third, and fourth reference motions for the first angle range, and the first, second, third, and fourth reference motions for the second angle range. First, second, third, and fourth reference motions are prepared for each range. The first, second, third, and fourth reference motions corresponding to the rotation angle γ may be selected based on which of these angle ranges the rotation angle γ belongs to.

或いは、図12や図13の手法により、回転角度α、βに基づいて生成されたモーションを、回転角度γに基づいて補正することで、最終的なキャラクタのモーションを生成してもよい。例えば回転角度α、βに基づいてモーションを生成した後、図8の肩の骨B4に対する腕の骨B5の回転角度(相対的な回転角度)を、コントローラ200の回転角度γに基づいて補正する。例えばフラットショットの場合には、フラットショットに対応する腕の振りになるように、骨B4に対する骨B5の回転角度を、回転角度γに基づき補正する。同様に、トップスピンショット、スライスショットの場合には、トップスピンショット、スライスショットに対応する腕の振りになるように、骨B4に対する骨B5の回転角度を回転角度γに基づき補正すればよい。   Alternatively, the motion of the final character may be generated by correcting the motion generated based on the rotation angles α and β based on the rotation angle γ by the method shown in FIGS. For example, after the motion is generated based on the rotation angles α and β, the rotation angle (relative rotation angle) of the arm bone B5 with respect to the shoulder bone B4 in FIG. 8 is corrected based on the rotation angle γ of the controller 200. . For example, in the case of a flat shot, the rotation angle of the bone B5 with respect to the bone B4 is corrected based on the rotation angle γ so as to swing the arm corresponding to the flat shot. Similarly, in the case of the top spin shot and the slice shot, the rotation angle of the bone B5 with respect to the bone B4 may be corrected based on the rotation angle γ so as to swing the arm corresponding to the top spin shot and the slice shot.

或いは、図8の手の骨B7に対するラケットの骨B20の回転角度を、コントローラ200の回転角度γに基づいて補正してもよい。即ちフラットショット、トップスピン、スライスショットの各ショットの振りになるように、骨B7に対する骨B20の回転角度を補正する。   Alternatively, the rotation angle of the racket bone B20 with respect to the hand bone B7 of FIG. 8 may be corrected based on the rotation angle γ of the controller 200. That is, the rotation angle of the bone B20 with respect to the bone B7 is corrected so that each shot of the flat shot, the top spin, and the slice shot is swung.

以上のように回転角度γに基づくモーション補正を行えば、図14の手法に比べてモーションのデータ量を減らすことができ、少ないデータ量でリアルなモーション表現を実現できる。   As described above, if the motion correction based on the rotation angle γ is performed, the amount of motion data can be reduced as compared with the method of FIG. 14, and a realistic motion expression can be realized with a small amount of data.

また本実施形態では、コントローラ200の回転角度γのみならず、コントローラ200を振る強さやゲーム状況(ゲーム中の状況)に応じた基準モーションを使用して、モーション制御を行ってもよい。   In the present embodiment, the motion control may be performed using not only the rotation angle γ of the controller 200 but also the reference motion corresponding to the strength of shaking the controller 200 and the game situation (the situation during the game).

例えば、プレーヤがコントローラ200を強く振った場合には、キャラクタが両手でラケットを持つ等の基準モーションを使用する。具体的には、キャラクタは、両手で持ったラケットを各方向(所定方向)に向けた呼吸モーションを行う。   For example, when the player shakes the controller 200 strongly, a reference motion such as a character holding a racket with both hands is used. Specifically, the character performs a breathing motion in which the racket held with both hands is directed in each direction (predetermined direction).

またキャラクタがネット付近にポジションにいるゲーム状況では、ボレー動作用の基準モーションを使用する。具体的には、ネット付近でキャラクタがラケットを各方向に向けた呼吸モーションを行う。   In the game situation where the character is in a position near the net, the reference motion for volley movement is used. Specifically, the character performs a breathing motion with the racket directed in each direction near the net.

またキャラクタがボールを追う時には、移動用の基準モーションを使用する。具体的には、ラケットを各方向に向けたままで、ボールを追う走りモーションを行う。   Also, when the character follows the ball, the moving reference motion is used. Specifically, a running motion that follows the ball is performed with the racket pointing in each direction.

また、使用する基準モーションの切り替えの際には、モーションブレンド(モーション合成)を行うことが望ましい。   Also, it is desirable to perform motion blending (motion synthesis) when switching the reference motion to be used.

例えばキャラクタがラケットを持って構えた状態から、ボールを追いかけるために走り出す際には、構えの基準モーションから、モーションブレンドにより、徐々に移動用の基準モーションへと移行させる。また移動のモーションは、2つの基準モーションをブレンドすることでそれらの中間を表現する。例えば前方向への移動用の基準モーションと、右斜め前方向への移動用の基準モーションをブレンドすることで、前方向と右斜め前方向の中間の方向への移動用の基準モーションを生成する。   For example, when the character starts to run with the racket to chase the ball, the standard motion of the posture is gradually shifted to the standard motion for movement by motion blending. Moreover, the motion of movement expresses the middle of them by blending two reference motions. For example, by blending the reference motion for moving in the forward direction and the reference motion for moving in the right diagonally forward direction, a reference motion for moving in the middle between the forward direction and the diagonally forward right direction is generated. .

また、この場合のモーションブレンドでは、各基準モーションでそれぞれのモーションを生成しているため、ブレンド前からブレンド後もコントローラの回転角度情報に基づく制御を引き継いだままモーションを移行できる。従って、より直感的にキャラクタを制御できるようになる。   In this case, since each motion is generated with each reference motion, the motion can be transferred while taking over the control based on the rotation angle information of the controller from before the blending to after the blending. Therefore, the character can be controlled more intuitively.

また、本実施形態で説明した各基準モーションは、それぞれが動いており、時間的に変化するモーションになっている。そして、時間的に変化する各基準モーションをブレンドすることで、スイングの軌道を作ったり、キャラクタが任意の方向に構えたりするようになる。   In addition, each reference motion described in the present embodiment is moving, and is a motion that changes with time. Then, by blending the reference motions that change with time, a swing trajectory is created and the character is set in an arbitrary direction.

これによって、コントローラ200を振った時や止めた時などに、キャラクタはロボットのような機械的な動作を行うのではなく、躍動的な動作を行うようになる。また、基準モーションの任意のフレーム同士をブレンド(合成)することになるため、画面上では、予め用意したモーションの再生ではなく、コントローラ200の制御によりアニメーションするモーションを再生できる。従って、モーションのゲーム上必要な要素を残しつつ、より直感的にキャラクタを制御できるようになる。   As a result, when the controller 200 is shaken or stopped, the character does not perform a mechanical operation like a robot, but performs a dynamic operation. In addition, since arbitrary frames of the reference motion are blended (synthesized), it is possible to reproduce the animated motion under the control of the controller 200 instead of reproducing the prepared motion on the screen. Therefore, the character can be controlled more intuitively while leaving the elements necessary for the game of motion.

2.2 基準モーションの詳細な設定例
図15(A)、図15(B)に基準モーションの詳細な設定例を示す。図15(A)はキャラクタCHを右側から見た図であり、図15(B)はキャラクタCHを左側から見た図である。
2.2 Detailed Setting Example of Reference Motion FIGS. 15A and 15B show detailed setting examples of the reference motion. FIG. 15A is a diagram of the character CH viewed from the right side, and FIG. 15B is a diagram of the character CH viewed from the left side.

図15(A)、図15(B)では、第1の高さ用基準モーションとしてMD1〜MD8が用意され、第2の高さ用基準モーションとしてML1〜ML8が用意される。また第3の高さ用基準モーションとしてMU1〜MU8が用意され、第4の高さ用基準モーションとしてMUUが用意される。即ちこれらの基準モーションのデータがモーション記憶部174に記憶される。   15A and 15B, MD1 to MD8 are prepared as the first reference motion for height, and ML1 to ML8 are prepared as the second reference motion for height. Further, MU1 to MU8 are prepared as the third height reference motion, and MUU is prepared as the fourth height reference motion. In other words, these reference motion data are stored in the motion storage unit 174.

例えば図16(A)は第4の高さ用基準モーションMUUの例である。図16(A)の基準モーションMUUを用いることで、キャラクタCHのサーブスイングやスマッシュスイングを表現できる。一方、図16(B)は第3の高さ用基準モーションMU1の例である。図16(B)の基準モーションMU1を用いることで、スマッシュに近い高い打点でのスイングを表現できる。   For example, FIG. 16A shows an example of a fourth reference motion MUU for height. By using the reference motion MUU in FIG. 16A, it is possible to represent the serve swing and smash swing of the character CH. On the other hand, FIG. 16B shows an example of the third reference motion MU1 for height. By using the reference motion MU1 in FIG. 16B, a swing at a high hitting point close to a smash can be expressed.

例えば図13の基準モーションM(j+1)として、図16(A)の基準モーションMUUを用い、図13の基準モーションM(i、j)として、図16(B)の基準モーションMU1を用いる。また図13の基準モーションM(i+1、j)として、図15(A)の基準モーションMU2を用いる。   For example, the reference motion MUU in FIG. 16A is used as the reference motion M (j + 1) in FIG. 13, and the reference motion MU1 in FIG. 16B is used as the reference motion M (i, j) in FIG. Further, the reference motion MU2 of FIG. 15A is used as the reference motion M (i + 1, j) of FIG.

そして図13で説明した手法により、M(j+1)=MUUと、M(i、j)=MU1と、M(i+1、j)=MU2の基準モーションを合成することで、回転角度α、βが、基準モーションMUU、MU1、MU2に対応する角度範囲にある場合のキャラクタCHのモーションを生成できる。   Then, by combining the reference motions of M (j + 1) = MUU, M (i, j) = MU1, and M (i + 1, j) = MU2 by the method described in FIG. The motion of the character CH in the angle range corresponding to the reference motions MUU, MU1, and MU2 can be generated.

図17(A)は第2の高さ用基準モーションML1の例である。一方、図17(B)は第2の高さ用基準モーションML3の例である。これらの基準モーションML1、ML3では、ラケットRKの高さが第2の高さである場合用の基準モーションである。   FIG. 17A shows an example of the second height reference motion ML1. On the other hand, FIG. 17B shows an example of the second height reference motion ML3. These reference motions ML1 and ML3 are reference motions for the case where the height of the racket RK is the second height.

また図18(A)は第1の高さ用基準モーションMD1の例である。この基準モーションMD1は、ラケットRKの高さが第1の高さである場合用の基準モーションである。図17(A)と図18(A)を比べれば明らかなように、図17(A)に比べて図18(A)の方がラケットRKの高さが低くなっている。   FIG. 18A shows an example of the first height reference motion MD1. This reference motion MD1 is a reference motion for the case where the height of the racket RK is the first height. As apparent from a comparison between FIG. 17A and FIG. 18A, the height of the racket RK is lower in FIG. 18A than in FIG. 17A.

図18(B)は第2の高さ用基準モーションML7の例である。この基準モーションML7は、図17(B)のフォアスイングの基準モーションML3とは異なり、バックスイングの基準モーションとなっている。   FIG. 18B shows an example of the second reference motion ML7 for height. This reference motion ML7 is a backswing reference motion, unlike the fore swing reference motion ML3 of FIG.

以上のように本実施形態では、図15(A)、図15(B)に示すように各角度範囲に対して3個又は4個の基準モーションに対応する複数の角度範囲を用意する。例えば図15(A)のMU1、MU2、MUUの基準モーションに対応する第1の角度範囲や、ML1、ML2、MU1、MU2の基準モーションに対応する第2の角度範囲を用意する。そして、コントローラ200の回転角度α、βが属する角度範囲を、これらの複数の角度範囲の中から特定し、特定された角度範囲に対応する基準モーションを読み出して、モーション合成を行う。   As described above, in the present embodiment, as shown in FIGS. 15A and 15B, a plurality of angle ranges corresponding to three or four reference motions are prepared for each angle range. For example, a first angle range corresponding to the reference motions of MU1, MU2, and MUU in FIG. 15A and a second angle range corresponding to the reference motions of ML1, ML2, MU1, and MU2 are prepared. Then, an angle range to which the rotation angles α and β of the controller 200 belong is specified from the plurality of angle ranges, a reference motion corresponding to the specified angle range is read, and motion synthesis is performed.

例えば回転角度α、βが、MU1、MU2、MUUに対応する第1の角度範囲に属すると判断された場合には、基準モーションMU1、MU2、MUUを読み出して、モーション合成を行い、キャラクタCHのモーションを生成する。また回転角度α、βが、ML1、ML2、MU1、MU2に対応する第2の角度範囲に属すると判断された場合には、基準モーションML1、ML2、MU1、MU2を読み出して、モーション合成を行い、キャラクタCHのモーションを生成する。   For example, when it is determined that the rotation angles α and β belong to the first angle range corresponding to MU1, MU2, and MUU, the reference motions MU1, MU2, and MUU are read, the motion synthesis is performed, and the character CH Generate motion. When it is determined that the rotation angles α and β belong to the second angle range corresponding to ML1, ML2, MU1, and MU2, the reference motions ML1, ML2, MU1, and MU2 are read and the motion synthesis is performed. The motion of the character CH is generated.

このようにすれば、例えば図2でプレーヤがコントローラ200をラケットのように振り回した場合に、コントローラ200の回転角度α、βに基づいて、コントローラ200の位置に対応した適正なモーションが合成されて、キャラクタのモーションが生成されるようになる。例えばプレーヤがコントローラ200をサーブのように振り上げた場合には、キャラクタCHのモーションも図16(A)に示すようなモーションになる。またプレーヤがコントローラ200を高い打点の軌道でスイングすると、キャラクタCHのモーションも図16(B)に示すような高い打点のスイングのモーションになる。従って、コントローラ200のスイング軌道とキャラクタCHのラケットRKのスイング軌道が対応するようになり、よりリアルなモーション表現を実現できる。   In this manner, for example, when the player swings the controller 200 like a racket in FIG. 2, an appropriate motion corresponding to the position of the controller 200 is synthesized based on the rotation angles α and β of the controller 200. Character motion will be generated. For example, when the player swings up the controller 200 like a serve, the motion of the character CH is also as shown in FIG. When the player swings the controller 200 in a high hitting point trajectory, the motion of the character CH also becomes a high hitting point swing motion as shown in FIG. Accordingly, the swing trajectory of the controller 200 corresponds to the swing trajectory of the racket RK of the character CH, and a more realistic motion expression can be realized.

なお図15(A)、図15(B)に示すような基準モーションの設定を行った場合に、以下のような不具合が生じる可能性がある。例えばプレーヤが、コントローラ200をスイングして、キャラクタCHが図5(B)のようなフォアスイングのテークバックの構えになった後、更にコントローラ200を後ろ側に引いたとする。すると、キャラクタCHのモーションが図18(B)に示すようなバックスイングの構えになってしまうおそれがある。キャラクタCHがバックスイングのテークバックを行った後に、更にコントローラ200を後ろ側に引いた場合も同様である。   In addition, when the reference motion is set as shown in FIGS. 15A and 15B, the following problems may occur. For example, it is assumed that after the player swings the controller 200 and the character CH is in the fore swing take-back position as shown in FIG. 5B, the controller 200 is further pulled backward. Then, there is a possibility that the motion of the character CH becomes a back swing posture as shown in FIG. The same applies to the case where the controller 200 is further pulled backward after the character CH has performed the back swing take-back.

そこで本実施形態では、回転角度α(第1の回転角度情報)が角度リミット値を超えた場合には、角度リミット値に対応する基準モーションを用いてモーション合成を行うようにしている。例えば図19(A)では、回転角度αが、角度リミット値αLM=180度を超えている。また図19(B)では、回転角度αが、角度リミット値αLM=−180度を超えている。この場合には図15(A)、図15(B)の基準モーションのうち、角度リミット値αLMに対応する基準モーションMD5、ML5、MU5等を使用してモーション合成を行う。例えば回転角度αが角度リミット値αLMを超えた時に使用されていたモーション(合成されたモーション)を、そのまま使用する。   Therefore, in this embodiment, when the rotation angle α (first rotation angle information) exceeds the angle limit value, the motion synthesis is performed using the reference motion corresponding to the angle limit value. For example, in FIG. 19A, the rotation angle α exceeds the angle limit value αLM = 180 degrees. In FIG. 19B, the rotation angle α exceeds the angle limit value αLM = −180 degrees. In this case, the motion synthesis is performed using the reference motions MD5, ML5, MU5, etc. corresponding to the angle limit value αLM among the reference motions of FIGS. 15A and 15B. For example, the motion (synthesized motion) used when the rotation angle α exceeds the angle limit value αLM is used as it is.

こうすることで、プレーヤが、コントローラ200を、テークバックの後に更に後ろ側に引いた場合にも、フォアスイングからバックスイングに不自然に切り替わったり、バックスイングからフォアスイングに不自然に切り替わったりするなどの事態を防止できる。   By doing this, even when the player pulls the controller 200 further rearward after takeback, the player swings unnaturally from the fore swing to the back swing, or unnaturally switches from the back swing to the fore swing. Can be prevented.

2.3 コントローラの回転角度情報に基づくヒット演算処理
さて、現実世界のテニスでは、図6のようなフラットショット以外にも、トップスピンやスライスなどの各種ショットがある。例えばトップスピンショットでは、図6のフラットショットに比べて、ボールのインパクト時にラケット面の向きが下側に向き(水平面に対する角度が90度よりも小さくなり)、ボールに対して順方向の回転がかかる。一方、スライスショットでは、図6のフラットショットに比べて、ボールのインパクト時にラケット面の向きが上側に向き(水平面に対する角度が90度よりも大きくなり)、ボールに対して逆方向の回転がかかる。
2.3 Hit Calculation Processing Based on Controller Rotation Angle Information Now, in the real world tennis, there are various shots such as top spin and slice other than the flat shot as shown in FIG. For example, in the top spin shot, compared to the flat shot of FIG. 6, the direction of the racket surface is downward when the ball impacts (the angle with respect to the horizontal plane is smaller than 90 degrees), and the forward rotation with respect to the ball is performed. Take it. On the other hand, in the slice shot, compared to the flat shot in FIG. 6, the racket surface is directed upward (the angle with respect to the horizontal plane is greater than 90 degrees) at the time of impact of the ball, and a reverse rotation is applied to the ball. .

しかしながら、これまでのテニスゲームでは、このようなトップスピンやスライスなどの各種ショットを、プレーヤが違和感を感じない操作で実現することが難しかった。例えばトップスピンやスライスの打ち分けを、方向指示キーやボタンの操作で行う手法も考えられる。具体的には方向指示キーで下側を指示した場合にはトップスピンのショットになり、上側を指示した場合にはスライスショットになるようにする。しかしながら、このような操作は、現実世界でのテニスのスイングの感覚とは異なるものであり、このような操作では、実際にテニスをプレイしているというような仮想現実感をプレーヤに与えることが難しい。   However, in conventional tennis games, it has been difficult to realize such various shots such as topspin and slice by an operation that does not make the player feel uncomfortable. For example, a method of performing top spin and slice classification by operating a direction instruction key or a button can be considered. Specifically, when the lower side is instructed by the direction instruction key, the top spin shot is selected, and when the upper side is instructed, the slice shot is selected. However, such an operation is different from the sense of tennis swing in the real world, and such an operation may give the player a virtual reality that the player is actually playing tennis. difficult.

特に図2のように、プレーヤがコントローラ200をテニスラケットのようにスイングすることで、画面上のキャラクタCHがスイングしてボールBLを打ち返す場合には、このような方向指示キー等を用いたショットの打ち分けでは、プレーヤの仮想現実感を今ひとつ向上できない。即ち、コントローラ200を振る動作については、現実世界のテニスと同様であるのに、トップスピンやスライスの打ち分けは、現実世界とは異なってしまい、図2のようなゲーム操作を実現した意味が薄れてしまう。   In particular, as shown in FIG. 2, when the player swings the controller 200 like a tennis racket and the character CH on the screen swings and hits the ball BL, a shot using such a direction instruction key or the like is used. In this arrangement, the virtual reality of the player cannot be improved. That is, the operation of swinging the controller 200 is the same as in the real world tennis, but the top spin and slice allocation is different from the real world, meaning that the game operation as shown in FIG. 2 is realized. It will fade.

そこで本実施形態では、コントローラ200の所定座標軸回りでの回転角度情報、例えばZ軸(第3の座標軸)回りでの回転角度情報を取得する。そして取得された回転角度情報に基づいて、ラケットRK(広義にはヒット体)によりヒットされるボールBL(広義にはヒット対象物)の移動状態や動作状態(移動方向や回転状態)を設定するヒット演算処理を行う。   Therefore, in the present embodiment, rotation angle information about a predetermined coordinate axis of the controller 200, for example, rotation angle information about the Z axis (third coordinate axis) is acquired. Then, based on the obtained rotation angle information, the movement state and movement state (movement direction and rotation state) of the ball BL (hit object in a broad sense) hit by the racket RK (hit in the broad sense) are set. Perform hit calculation processing.

例えば図20(A)〜図20(C)では、ラケットRKによるボールBLのヒットタイミングにおけるコントローラ200の回転角度情報に基づいて、ボールBLの移動状態や動作状態を設定している。   For example, in FIGS. 20A to 20C, the movement state and the operation state of the ball BL are set based on the rotation angle information of the controller 200 at the hit timing of the ball BL by the racket RK.

具体的には図20(A)では、ヒットタイミングTHでのコントローラ200のZ軸回りでの回転角度γは、基準ポジションでの初期値を例えば0(度)とした場合に、γ=0になっている。このようにヒットタイミングTHでのZ軸回りの回転角度がγ=0である場合には、ラケットRKの面が水平面に対して垂直であると判断して、例えばフラットショットになるようにボールBLの移動方向や回転状態等を設定する。例えばボールBLが、ほぼ無回転で、比較的速い速度で、フラットショットの軌道で飛ぶように、ボールBLの移動演算処理を行う。   Specifically, in FIG. 20A, the rotation angle γ around the Z axis of the controller 200 at the hit timing TH is set to γ = 0 when the initial value at the reference position is set to 0 (degrees), for example. It has become. As described above, when the rotation angle around the Z-axis at the hit timing TH is γ = 0, it is determined that the surface of the racket RK is perpendicular to the horizontal plane, and the ball BL Set the movement direction and rotation state. For example, the movement calculation process of the ball BL is performed so that the ball BL flies on a flat shot trajectory at a relatively high speed with almost no rotation.

一方、図20(B)では、ヒットタイミングTHでのコントローラ200の回転角度はγ=γAとなっている。従って、ラケット面と水平面のなす角度が90度よりも小さくなっており、ラケット面の向きが下向きであると判断して、例えばトップスピンショットになるようにボールBLの移動方向や回転状態等を設定する。例えばボールBLが、順方向の回転でトップスピンショットの軌道で飛ぶように、ボールBLの移動演算処理を行う。   On the other hand, in FIG. 20B, the rotation angle of the controller 200 at the hit timing TH is γ = γA. Accordingly, the angle formed by the racket surface and the horizontal plane is smaller than 90 degrees, and it is determined that the direction of the racket surface is downward, and for example, the movement direction and the rotation state of the ball BL are set so as to be a top spin shot. Set. For example, the movement calculation process of the ball BL is performed so that the ball BL flies in the top spin shot orbit by forward rotation.

図20(C)では、ヒットタイミングTHでのコントローラ200の回転角度はγ=−γBとなっている。従って、ラケット面と水平面のなす角度が90度よりも大きくなっており、ラケット面の向きが上向きであると判断して、例えばスライスショットになるようにボールBLの移動方向や回転状態等を設定する。例えばボールBLが、逆方向の回転でスライスショットの軌道で飛ぶように、ボールBLの移動演算処理を行う。   In FIG. 20C, the rotation angle of the controller 200 at the hit timing TH is γ = −γB. Therefore, the angle formed by the racket surface and the horizontal plane is larger than 90 degrees, and it is determined that the direction of the racket surface is upward, and for example, the moving direction and rotation state of the ball BL are set so as to become a slice shot. To do. For example, the movement calculation process of the ball BL is performed so that the ball BL flies in the path of the slice shot with the rotation in the reverse direction.

なお図20(A)〜図20(C)の各ショットの切り替えは、例えば回転角度γが属する角度範囲を判定することで実現できる。一例としては、−γ1≦γ≦γ1である場合にはフラットショットであると判断し、γ1<γ<γ2である場合にはトップスピンショットであると判断し、−γ2<γ<−γ1である場合にはスライスショットであると判断すればよい。   20A to 20C can be realized by determining the angle range to which the rotation angle γ belongs, for example. As an example, when -γ1 ≦ γ ≦ γ1, it is determined that the shot is a flat shot, and when γ1 <γ <γ2, it is determined that it is a top spin shot, and −γ2 <γ <−γ1. In some cases, a slice shot may be determined.

図21(A)〜図21(C)では、ヒット判定期間におけるコントローラ200の回転角度情報に基づいて、ボールBLのヒット後の移動状態や動作状態を設定している。具体的にはヒット判定期間における回転角度情報の変化情報に基づいて、ボールBLのヒット後の移動状態や動作状態を設定する。例えば第1のタイミングでの回転角度情報と第2のタイミングでの回転角度情報に基づいて、ボールBLの移動状態や動作状態を設定する。   21A to 21C, the movement state and the operation state after the hit of the ball BL are set based on the rotation angle information of the controller 200 in the hit determination period. Specifically, based on the change information of the rotation angle information in the hit determination period, the movement state and the operation state after the hit of the ball BL are set. For example, the movement state and the operation state of the ball BL are set based on the rotation angle information at the first timing and the rotation angle information at the second timing.

例えば図21(A)では、ヒットタイミングTHの前の第1のタイミングTM1でのZ軸回りでの回転角度はγ=0になっており、ラケット面が水平面に対して垂直になっていると判断される。またヒットタイミングTHでは、回転角度はγ=γAとなっており、ラケット面の向きが、タイミングTM1に比べて下方向に向いていると判断される。またヒットタイミングTHの後の第2のタイミングTM2では、回転角度はγ=γB>γAとなっており、ラケット面の向きが、ヒットタイミングTHに比べて更に下方向に向いていると判断される。このように、ヒットタイミングの前後で、ラケット面の向きが下方向に変化した場合には、例えばトップスピンショットになるようにボールBLの移動方向や回転状態等を設定する。またヒットタイミング前後での回転角度の変化が大きい場合には、例えばトップスピンの回転速度(回転量)を速くしてもよい。   For example, in FIG. 21A, the rotation angle around the Z-axis at the first timing TM1 before the hit timing TH is γ = 0, and the racket surface is perpendicular to the horizontal plane. To be judged. Further, at the hit timing TH, the rotation angle is γ = γA, and it is determined that the direction of the racket surface is downward compared to the timing TM1. Further, at the second timing TM2 after the hit timing TH, the rotation angle is γ = γB> γA, and it is determined that the direction of the racket surface is further downward compared to the hit timing TH. . As described above, when the direction of the racket surface changes downward before and after the hit timing, for example, the moving direction and rotation state of the ball BL are set so as to be a top spin shot. When the change in the rotation angle before and after the hit timing is large, for example, the rotation speed (rotation amount) of the top spin may be increased.

また図21(B)では、ヒットタイミングTHの前の第1のタイミングTM1でのZ軸回りでの回転角度はγ=0になっており、ラケット面が水平面に対して垂直になっていると判断される。またヒットタイミングTHでは、回転角度はγ=−γAとなっており、ラケット面の向きが、タイミングTM1に比べて上方向に向いていると判断される。またヒットタイミングTHの後の第2のタイミングTM2では、回転角度はγ=−γB<−γAとなっており、ラケット面の向きが、ヒットタイミングTHに比べて更に上方向に向いていると判断される。このように、ヒットタイミングの前後で、ラケット面の向きが上方向に変化した場合には、例えばスライスショットになるようにボールBLの移動方向や回転状態等を設定する。またヒットタイミング前後での回転角度の変化が大きい場合には、スライスの回転速度(回転量)を速くしてもよい。   In FIG. 21B, the rotation angle around the Z-axis at the first timing TM1 before the hit timing TH is γ = 0, and the racket surface is perpendicular to the horizontal plane. To be judged. Further, at the hit timing TH, the rotation angle is γ = −γA, and it is determined that the direction of the racket surface is upward compared to the timing TM1. Further, at the second timing TM2 after the hit timing TH, the rotation angle is γ = −γB <−γA, and it is determined that the direction of the racket surface is further upward than the hit timing TH. Is done. As described above, when the direction of the racket surface changes upward before and after the hit timing, for example, the moving direction and rotation state of the ball BL are set so as to be a slice shot. When the change in the rotation angle before and after the hit timing is large, the slice rotation speed (rotation amount) may be increased.

また図21(C)では、タイミングTM1、TH、TM2において、ラケット面の向きが上方向に向いていると判断される。また例えばY軸回りでの回転角度β等に基づいて、ラケットRKの位置が徐々に上側に移動していると判断される。従って、この場合には、ボールBLが上方向に飛ぶロブショットになるようにボールBLの移動方向や回転状態等を設定する。   Further, in FIG. 21C, it is determined that the direction of the racket surface is directed upward at timings TM1, TH, and TM2. Further, for example, based on the rotation angle β around the Y axis, it is determined that the position of the racket RK is gradually moving upward. Therefore, in this case, the movement direction, rotation state, and the like of the ball BL are set so that the ball BL is a lob shot that flies upward.

このように、図20(A)〜図20(C)では、ヒットタイミングTHでの回転角度だけを用いているのに対して、図21(A)〜図21(C)では、ヒットタイミングTHの前後のタイミングTM1、TM2での回転角度を反映させてボールBLの移動方向や回転状態等を設定している。このようにすることで、ヒット後のボールBLの軌道を現実世界の軌道に近づけることが可能になり、プレーヤの仮想現実感を更に向上できる。また、ヒットタイミングのみならず、その前後のタイミングでのコントローラの回転角度も反映されるため、フォロースルーやテークバックでのラケット面の角度も反映させたショットが可能になる。   In this way, in FIGS. 20A to 20C, only the rotation angle at the hit timing TH is used, whereas in FIGS. 21A to 21C, the hit timing TH is used. The movement direction, rotation state, etc. of the ball BL are set by reflecting the rotation angles at the timings TM1, TM2 before and after. In this way, the trajectory of the ball BL after the hit can be brought closer to the trajectory of the real world, and the player's virtual reality can be further improved. In addition, not only the hit timing but also the rotation angle of the controller at the timing before and after it is reflected, so that it is possible to make a shot reflecting the angle of the racket surface in follow-through or takeback.

図22(A)〜図22(D)に、フラット、トップスピン、スライス、ロブの各ショットの回転方向や移動方向の設定例を示す。同図に示すように、フラットやロブではボールBLはほぼ無回転で飛び、トップスピンでは順方向の回転になり、スライススピンでは逆方向の回転になる。またフラットではボールBLが水平に飛ぶのに対して、ロブでは上方向に飛ぶ。なおボールBLの回転方向や移動方向の設定は、図22(A)〜図22(D)に限定されず、種々の変形実施が可能である。例えば、順方向に回転しながら上方向に飛ぶトップスピンロブなどを再現してもよい。また、ヒット後のボールBLのショットの軌道は、ヒット時に設定された移動状態や動作状態に基づく物理シミュレーション処理を行うことで求めてもよいし、複数のショット軌道の中から、ヒット時に設定された移動状態や動作状態に応じたショット軌道を選択することで求めてもよい。また、ショットされたボールBLが地面(フィールド)でバウンドした後の軌道についても、各ショットの種類に応じた軌道に設定することが望ましい。具体的にはヒット時の回転方向や回転速度など回転状態を反映させた軌道に設定する。例えばトップスピンショットの場合には、バウンド後に高く跳ね上がるような軌道に設定する。またフラットショットであれば同じ角度で跳ねるような軌道にする。またスライスショットの場合には、例えばボールが地面で滑るように低く弾んで伸びる軌道に設定する。 以上のように本実施形態では、コントローラ200の所定座標軸回りでの回転角度情報を用いてヒット演算処理を実行している。このようにすれば、例えばテニスのラケット面のコントロール等を、コントローラ200の所定座標軸回りでの回転操作により実現できる。従って、従来のスポーツゲーム等では実現することが難しかった操作インターフェース環境を提供できる共に、コントローラ200の操作と、キャラクタの動きとがマッチするようになるため、プレーヤの仮想現実感を向上できる。   22A to 22D show setting examples of the rotation direction and movement direction of each shot of flat, top spin, slice, and lob. As shown in the figure, in the flat or lob, the ball BL flies almost without rotation, the top spin rotates in the forward direction, and the slice spin rotates in the reverse direction. On the other hand, in the flat, the ball BL flies horizontally, whereas in the lob, it flies upward. The setting of the rotation direction and movement direction of the ball BL is not limited to FIGS. 22A to 22D, and various modifications can be made. For example, a top spin lob that flies upward while rotating in the forward direction may be reproduced. Further, the trajectory of the shot of the ball BL after the hit may be obtained by performing a physical simulation process based on the movement state and the motion state set at the time of the hit, or is set at the time of hitting from a plurality of shot trajectories. Alternatively, it may be obtained by selecting a shot trajectory according to the moving state or the operating state. Also, it is desirable that the trajectory after the shot ball BL bounces on the ground (field) is set to a trajectory corresponding to the type of each shot. Specifically, the trajectory is set to reflect the rotation state such as the rotation direction and rotation speed at the time of hit. For example, in the case of a top spin shot, the trajectory is set so that it jumps high after bouncing. For flat shots, the trajectory should bounce at the same angle. In the case of slice shots, for example, the trajectory is set such that the ball bounces low and extends so as to slide on the ground. As described above, in this embodiment, hit calculation processing is executed using rotation angle information about the predetermined coordinate axis of the controller 200. In this way, for example, the control of the tennis racket surface can be realized by the rotation operation of the controller 200 around the predetermined coordinate axis. Accordingly, it is possible to provide an operation interface environment that is difficult to realize in a conventional sports game and the like, and the operation of the controller 200 matches the movement of the character, so that the virtual reality of the player can be improved.

例えば従来は、コントローラ200に設けられた加速度センサ224を用いて、プレーヤによりコントローラ200が振られたことを検知していた。このような加速度センサ224だけを用いる手法では、各座標軸回りでの絶対的な回転角度を正確に求めることは困難である。また加速度センサ224では、コントローラ200の長手方向に沿ったZ軸回りでの回転角度を求めることは難しい。   For example, conventionally, an acceleration sensor 224 provided in the controller 200 is used to detect that the player has shaken the controller 200. In such a method using only the acceleration sensor 224, it is difficult to accurately obtain an absolute rotation angle around each coordinate axis. Further, in the acceleration sensor 224, it is difficult to obtain the rotation angle around the Z axis along the longitudinal direction of the controller 200.

これに対して本実施形態では、例えば角速度センサ230を用いてコントローラ200の各座標軸回りでの回転角度を求め、この回転角度を用いてヒット演算処理を実現している。従って、加速度センサ224だけを用いる従来の手法に比べて、よりインテリジェントで精度の高いヒット演算処理を実現できる。なおコントローラ200の各座標軸回りでの回転角度を求めるセンサとして、角速度センサ230以外のセンサを採用することも可能である。   On the other hand, in the present embodiment, for example, the angular velocity sensor 230 is used to obtain the rotation angle around each coordinate axis of the controller 200, and the hit calculation processing is realized using this rotation angle. Therefore, more intelligent and accurate hit calculation processing can be realized as compared with the conventional method using only the acceleration sensor 224. It should be noted that a sensor other than the angular velocity sensor 230 may be employed as a sensor for obtaining the rotation angle around each coordinate axis of the controller 200.

2.4 ヒット強さの設定
さて、上述のように本実施形態では、コントローラ200の角速度センサ230を用いて所定座標軸回りでの回転角度を求めて、ヒット演算処理を実行している。この時、例えば加速度センサ224で得られた加速度を用いて、ボールBLのヒットの強さ(ヒット力、ヒット加速度)を設定してもよい。
2.4 Setting the Hit Strength As described above, in this embodiment, the rotation angle around the predetermined coordinate axis is obtained using the angular velocity sensor 230 of the controller 200, and the hit calculation process is executed. At this time, the hit strength (hit force, hit acceleration) of the ball BL may be set using the acceleration obtained by the acceleration sensor 224, for example.

具体的には図23に示すように、加速度センサ224により、Z軸に沿った方向(第3の座標軸に沿った方向)での加速度AVを検出する。この加速度AVは、コントローラ200をスイングすることでZ軸方向に生じる遠心力(正確には遠心力と重力の合力)に相当する加速度である。そして、検出された加速度AVに基づいて、ラケットRKによりボールBLがヒットされた時のヒットの強さを設定する。   Specifically, as shown in FIG. 23, the acceleration sensor 224 detects the acceleration AV in the direction along the Z axis (direction along the third coordinate axis). This acceleration AV is an acceleration corresponding to a centrifugal force (precisely, a resultant force of centrifugal force and gravity) generated in the Z-axis direction by swinging the controller 200. Then, based on the detected acceleration AV, the strength of the hit when the ball BL is hit by the racket RK is set.

例えば、プレーヤがコントローラ200を速いスピードでスイングした場合には、Z軸方向の遠心力に相当する加速度AVは大きくなる。従って、この場合には、ボールBLが強くヒットされるようにする。例えばボールBLのヒット方向での加速度を大きな値に設定する。一方、プレーヤがコントローラ200を遅いスピードでスイングした場合には、Z軸方向の遠心力に相当する加速度AVも小さくなる。従って、この場合には、ボールBLが弱くヒットされるようにする。例えばボールBLのヒット方向での加速度を小さな値に設定する。   For example, when the player swings the controller 200 at a high speed, the acceleration AV corresponding to the centrifugal force in the Z-axis direction increases. Therefore, in this case, the ball BL is strongly hit. For example, the acceleration in the hit direction of the ball BL is set to a large value. On the other hand, when the player swings the controller 200 at a slow speed, the acceleration AV corresponding to the centrifugal force in the Z-axis direction also decreases. Accordingly, in this case, the ball BL is hit weakly. For example, the acceleration in the hit direction of the ball BL is set to a small value.

このようにすれば、スイングスピードとヒットの強さが比例するようになり、現実世界のボールBLのショットを、より忠実に再現できる。即ち角速度センサ230と加速度センサ224を上手く使い分けて、ラケットRKによるボールBLのヒット演算処理を実現できるようになる。なお、ボールBLのヒットの強さを、例えばX軸回りでの回転速度等も反映させて設定してもよい。例えばX軸回りでの回転速度が速い場合には、ボールBLのヒットの強さも大きくする。   In this way, the swing speed and the strength of the hit are proportional, and the shot of the real world ball BL can be reproduced more faithfully. That is, the angular velocity sensor 230 and the acceleration sensor 224 can be used properly to realize the hit calculation processing of the ball BL by the racket RK. Note that the strength of hitting the ball BL may be set by reflecting, for example, the rotational speed around the X axis. For example, when the rotational speed around the X axis is fast, the strength of hitting the ball BL is also increased.

また加速度AVに基づいて、キャラクタがラケットRK(所持オブジェクト、部位オブジェクト)を振るスイングの速さ(モーション速度)を設定してもよい。例えば加速AVが大きい場合には、ラケットRKの振りが速くなるようなモーションをキャラクタに行わせ、加速度AVが小さい場合には、ラケットRKの振りが遅くなるようなモーションをキャラクタに行わせる。こうすることで、更にリアルな画像を生成できる。     Further, based on the acceleration AV, the swing speed (motion speed) at which the character swings the racket RK (possible object, part object) may be set. For example, when the acceleration AV is large, the character is caused to perform a motion that makes the racket RK swing faster, and when the acceleration AV is small, the character is caused to perform a motion that causes the racket RK to swing slowly. In this way, a more realistic image can be generated.

2.5 基準ポジション
角速度センサ230を用いた場合には、センサから得られる情報は角速度になる。従って、絶対的な回転角度を求める場合には、角速度の積算処理等を行うことになるため、回転角度の初期値を設定することが望ましい。このため本実施形態では、基準ポジション検出部108が、コントローラ200の基準ポジションを検出する。この基準ポジションは、例えばコントローラ200のX、Y、Z軸回りでの回転角度α、β、γの初期値を設定するためのポジションである。
2.5 Reference Position When the angular velocity sensor 230 is used, information obtained from the sensor is an angular velocity. Therefore, when an absolute rotation angle is obtained, it is desirable to set an initial value of the rotation angle because an angular velocity integration process or the like is performed. Therefore, in this embodiment, the reference position detection unit 108 detects the reference position of the controller 200. This reference position is a position for setting initial values of the rotation angles α, β, γ around the X, Y, Z axes of the controller 200, for example.

この基準ポジションの検出手法としては種々の手法が考えられるが、本実施形態では、コントローラ200が基準ポジションに設定されたことを知らせる所定の操作を、プレーヤが行った場合に、基準ポジションに設定されたと判断している。具体的には図24では、プレーヤは、ラケットに相当するコントローラ200を体の前側に持って、テニスと同様の基準ポジションの姿勢をとる。そしてトリガボタン214を押すことで、コントローラ200が基準ポジションに設定されたことを、ゲーム装置300側に知らせる。すると、コントローラ200の回転角度α、β、γが初期値(例えば0度)に設定される。その後、プレーヤがコントローラ200をラケットのように見なしてスイングを行うと、角速度センサ230で検出された角速度に基づいて、回転角度α、β、γが初期値から変化して、基準ポジションからの回転角度が取得される。そしてキャラクタCHが図5(A)〜図6に示すようなスイングを行って、ボールBLのショットを行う。   Various methods can be considered as the method for detecting the reference position. In this embodiment, the reference position is set when the player performs a predetermined operation notifying that the controller 200 has been set to the reference position. Judging. Specifically, in FIG. 24, the player holds the controller 200 corresponding to the racket on the front side of the body and takes the posture of the reference position similar to that of tennis. Then, by pressing the trigger button 214, the game apparatus 300 is informed that the controller 200 has been set to the reference position. Then, the rotation angles α, β, γ of the controller 200 are set to initial values (for example, 0 degrees). Thereafter, when the player swings with the controller 200 regarded as a racket, the rotation angles α, β, and γ are changed from the initial values based on the angular velocities detected by the angular velocity sensor 230, and the rotation from the reference position is performed. An angle is obtained. Then, the character CH swings as shown in FIGS. 5A to 6 to make a shot of the ball BL.

このようにすれば、プレーヤは、実際のテニスと同様に、ラケットに相当するコントローラ200を体の前側に持った後に、トリガボタン214を押してスイングするという動作を繰り返すことで、相手キャラクタCCとのラリーを楽しむことができる。従って、プレーヤが違和感を感じない動作でテニスゲームを楽しむことができる。   In this way, the player repeats the action of pushing the trigger button 214 and swinging after holding the controller 200 corresponding to the racket on the front side of the body in the same manner as in actual tennis, so that the opponent character CC You can enjoy the rally. Therefore, it is possible to enjoy the tennis game with an operation in which the player does not feel uncomfortable.

なお基準ポジションの検出手法は図24の手法に限定されない。例えばトリガボタン214以外のボタン等の操作で、基準ポジションであることを知らせるようにしてもよい。或いは図3(A)の撮像素子220による撮像で、表示部190に取り付けられた発光素子等を検出することで、基準ポジションを検出してもよい。例えばプレーヤが、撮像素子220を表示部190の画面側に向けた場合に基準ポジションを検出する。   The reference position detection method is not limited to the method shown in FIG. For example, the operation of a button other than the trigger button 214 may be used to notify the reference position. Alternatively, the reference position may be detected by detecting a light emitting element or the like attached to the display portion 190 by imaging with the imaging element 220 in FIG. For example, the reference position is detected when the player points the image sensor 220 toward the screen side of the display unit 190.

2.6 ヒット判定エリアの設定
本実施形態では角速度センサ230により取得されたコントローラ200の回転角度γに基づいて、ラケットRKの面の角度を設定する。一方、角速度センサ230により取得されたコントローラ200の回転角度α、β等に基づいて、ヒット判定エリアを設定してもよい。
2.6 Setting of Hit Determination Area In this embodiment, the angle of the surface of the racket RK is set based on the rotation angle γ of the controller 200 acquired by the angular velocity sensor 230. On the other hand, the hit determination area may be set based on the rotation angles α and β of the controller 200 acquired by the angular velocity sensor 230.

例えば図25(A)では、コントローラ200は、基準方向DR(基準ポジションの場合の方向)に対してX軸回りにα=αiだけ回転している。この場合には図25(B)に示すように、ヒット判定エリアHAについても、基準方向に対してα=αiだけ回転させた位置に設定する。例えばキャラクタCHの中心から所定半径位置にラケットRKがあると想定し、このラケットRK(ラケット面)を含むヒット判定エリアHA(ヒットボリューム)を設定する。そして、ラケットRKによりボールBLがヒットされたか否かは、ヒット判定エリアHAとボールBLとのヒットチェック処理を行うことで判定する。   For example, in FIG. 25A, the controller 200 is rotated by α = αi around the X axis with respect to the reference direction DR (direction in the case of the reference position). In this case, as shown in FIG. 25B, the hit determination area HA is also set to a position rotated by α = αi with respect to the reference direction. For example, assuming that there is a racket RK at a predetermined radial position from the center of the character CH, a hit determination area HA (hit volume) including this racket RK (racquet surface) is set. Then, whether or not the ball BL is hit by the racket RK is determined by performing a hit check process between the hit determination area HA and the ball BL.

また図25(C)では、コントローラ200は、基準方向DRに対してY軸回りにβ=βjだけ回転している。この場合には図25(D)に示すように、ヒット判定エリアHAについても、基準方向に対してβ=βjだけ回転させた位置に設定する。   In FIG. 25C, the controller 200 rotates by β = βj around the Y axis with respect to the reference direction DR. In this case, as shown in FIG. 25D, the hit determination area HA is also set to a position rotated by β = βj with respect to the reference direction.

このようにすれば、プレーヤが、コントローラ200をラケットのように振り回すと、振り回した時の各位置に対応する位置にラケットRKが配置されて、ラケットRKを内包するヒット判定エリアHAとボールBLとのヒットチェック処理が行われるようになる。従って、プレーヤは、実際のテニスのようにコントローラ200を振り回すことで、ボールBLをショットすることが可能になり、現実世界に忠実なテニスゲームを実現できる。   In this way, when the player swings the controller 200 like a racket, the racket RK is arranged at a position corresponding to each position when the controller 200 is swung, and the hit determination area HA and the ball BL including the racket RK The hit check process is performed. Therefore, the player can shot the ball BL by swinging the controller 200 like in actual tennis, and can realize a tennis game faithful to the real world.

なおヒット判定エリアHAの設定の際に、Z軸回りでの回転角度γを反映させるようにしてもよい。例えばヒット判定エリアHAが板形状である場合には、その板形状の面の角度を、Z軸回りでの回転角度γにより設定してもよい。   In setting the hit determination area HA, the rotation angle γ around the Z axis may be reflected. For example, when the hit determination area HA has a plate shape, the angle of the plate-shaped surface may be set by a rotation angle γ around the Z axis.

またキャラクタの能力パラメータやステータスパラメータに基づいて、ヒット判定エリアHAの大きさを変化させてもよい。例えば図25(E)において、キャラクタCH1は能力パラメータが低いキャラクタであるため、ラケットRK(ラケット面)に設定されるヒット判定エリアHAの大きさも小さくなっている。従って、キャラクタCH1のスイング時には、ボールBLがヒットしにくくなり、キャラクタCH1の能力が低いことをゲーム結果に反映させることができる。   Further, the size of the hit determination area HA may be changed based on the ability parameter and status parameter of the character. For example, in FIG. 25E, since the character CH1 is a character with a low ability parameter, the size of the hit determination area HA set on the racket RK (racquet surface) is also small. Therefore, when the character CH1 swings, it is difficult for the ball BL to hit, and it can be reflected in the game result that the ability of the character CH1 is low.

一方、図25(F)では、キャラクタCH2は能力パラメータが高いキャラクタであるため、ヒット判定エリアHAの大きさは大きくなっている。従って、キャラクタCH2のスイング時には、キャラクタCH1の場合に比べて、ボールBLがヒットしやくすなるため、キャラクタCH2の能力が高いことをゲーム結果に反映させることが可能になる。   On the other hand, in FIG. 25F, since the character CH2 is a character having a high ability parameter, the size of the hit determination area HA is large. Accordingly, when the character CH2 swings, the ball BL is more easily hit than in the case of the character CH1, so that it is possible to reflect the high ability of the character CH2 in the game result.

なお、キャラクタの現在の調子を表すステータスパラメータに応じて、ヒット判定エリアHAの大きさを変化させてもよい。或いは、ゲームプレイの際に設定する難易度設定に応じて、ヒット判定エリアHAの大きさを設定してもよい。例えば初級プレーヤの場合にはヒット判定エリアHAの大きさを大きくし、上級プレーヤの場合にはヒット判定エリアHAの大きさを小さくする。こうすることで、簡素な処理で難易度設定を行うことが可能になる。   Note that the size of the hit determination area HA may be changed according to the status parameter indicating the current tone of the character. Or you may set the magnitude | size of the hit determination area HA according to the difficulty level setting set in the case of a game play. For example, in the case of a beginner player, the size of the hit determination area HA is increased, and in the case of an advanced player, the size of the hit determination area HA is decreased. This makes it possible to set the difficulty level with a simple process.

なお、以上では本実施形態の手法をテニスゲームに適用した場合について説明したが、本実施形態はこれに限定されない。例えば図26(A)のような野球ゲームに適用することも可能である。この場合にはヒット体は、キャラクタが所持(把持)するバットになり、ヒット対象物は野球のボールになる。この場合にはバットの高さに応じた基準モーションを用意して合成すればよい。或いはコントローラ200のZ軸回りでの回転角度γに基づいて、バットによりヒットされるボールの回転状態等を設定すればよい。またゴルフゲームに適用した場合には、ヒット体は、キャラクタが所持するクラブになり、ヒット対象物はゴルフのボールになる。この場合にも、クラブの高さに応じた基準モーションを用意して合成すればよい。或いは回転角度γに基づいて、ボールの回転状態等を設定すればよい。   In addition, although the case where the method of this embodiment was applied to the tennis game was demonstrated above, this embodiment is not limited to this. For example, the present invention can be applied to a baseball game as shown in FIG. In this case, the hit body is a bat held (held) by the character, and the hit object is a baseball. In this case, a reference motion corresponding to the height of the bat may be prepared and synthesized. Alternatively, the rotation state of the ball hit by the bat may be set based on the rotation angle γ around the Z axis of the controller 200. When applied to a golf game, the hit body becomes a club possessed by the character, and the hit object becomes a golf ball. Also in this case, a reference motion corresponding to the club height may be prepared and synthesized. Alternatively, the rotation state of the ball may be set based on the rotation angle γ.

また図26(B)のように剣の格闘ゲームに適用することも可能である。この場合には、ヒット体は、キャラクタが所持する剣になり、ヒット対象物は、相手キャラクタ(相手キャラクタの各部位)等になる。この場合には剣の高さに応じた基準モーションを用意して合成すればよい。或いはコントローラ200のZ軸回りの回転角度γに基づいて、剣の刃が向く方向等を設定する。例えば回転角度γが適正で、剣の刃が向く方向が適正であると、剣の切れ味が鋭くなる。或いは回転角度γにより剣の向く方向を制御することで、いわゆる峰打ち等も表現できるようになる。   Further, it can be applied to a sword fighting game as shown in FIG. In this case, the hit body is a sword possessed by the character, and the hit object is an opponent character (each part of the opponent character) or the like. In this case, a reference motion corresponding to the sword height may be prepared and synthesized. Alternatively, the direction in which the blade of the sword faces is set based on the rotation angle γ around the Z axis of the controller 200. For example, when the rotation angle γ is appropriate and the direction in which the blade of the sword faces is appropriate, the sharpness of the sword becomes sharp. Alternatively, by controlling the direction in which the sword faces by the rotation angle γ, so-called peaking or the like can be expressed.

またヒット体は、図26(A)、図26(B)のようなキャラクタの所持物(把持物)には限定されず、キャラクタを構成する手、足等の部位であってもよい。例えば図26(C)のサッカーゲームでは、キャラクタの足や頭の部位がヒット体になり、サッカーのボールがヒット対象物になる。この場合にも、足や頭の部位の高さに応じた基準モーションを用意して合成すればよい。或いはコントローラ200のZ軸回りでの回転角度γにより、ボールを蹴った時の足のひねりなどを表現し、蹴った後のボールの回転状態等を設定してもよい。また例えばバレーボールゲームでは、キャラクタの手の部位がヒット体になり、バレーのボールがヒット対象物になる。この場合にも、手の部位の高さに応じた基準モーションを用意して合成すればよい。或いはコントローラ200のZ軸回りでの回転角度γに基づいて、アタック時やサーブ時のボールの回転状態等を設定してもよい。   In addition, the hit body is not limited to the possession (grip) of the character as shown in FIGS. 26 (A) and 26 (B), and may be a part such as a hand or a foot constituting the character. For example, in the soccer game of FIG. 26C, the leg and head of the character become the hit body, and the soccer ball becomes the hit object. In this case as well, a reference motion corresponding to the height of the foot or head part may be prepared and synthesized. Alternatively, the twist angle of the foot when the ball is kicked may be expressed by the rotation angle γ around the Z axis of the controller 200, and the rotation state of the ball after kicking may be set. Also, for example, in a volleyball game, a part of the character's hand becomes a hit body, and a volleyball ball becomes a hit object. In this case, a reference motion corresponding to the height of the hand part may be prepared and synthesized. Alternatively, based on the rotation angle γ around the Z axis of the controller 200, the rotation state of the ball at the time of attack or at the time of serving may be set.

なお図26(A)、図26(B)の野球ゲームや剣の格闘ゲーム等において、野球のバットや剣を模したケースにコントローラ200を収納して使用するようにしてもよい。また図26(C)のサッカーゲームにおいて、コントローラ200を、バンド等を用いてプレーヤの足に取り付けるようにしてもよい。   In the baseball game and the sword fighting game shown in FIGS. 26A and 26B, the controller 200 may be housed in a case simulating a baseball bat or sword. In the soccer game of FIG. 26C, the controller 200 may be attached to the player's foot using a band or the like.

3.詳細な処理
次に本実施形態の詳細な処理例について図27、図28のフローチャートを用いて説明する。
3. Detailed Processing Next, a detailed processing example of this embodiment will be described with reference to the flowcharts of FIGS.

図27はヒット演算処理のフローチャートである。まず図24で説明したような基準ポジションの設定操作が、プレーヤにより行われたか否かを判断する(ステップS1)。そして、基準ポジションの設定操作が行われた場合には、回転角度の初期化を指示する(ステップS2)。これにより例えばコントローラ200の回転角度(α、β、γ)が初期値に設定される。そしてコントローラ200の回転角度、加速度を取得し、取得された回転角度、加速度を記憶部170に保存する(ステップS3、S4)。   FIG. 27 is a flowchart of the hit calculation process. First, it is determined whether or not the reference position setting operation as described with reference to FIG. 24 has been performed by the player (step S1). When the reference position setting operation is performed, the rotation angle is instructed (step S2). Thereby, for example, the rotation angles (α, β, γ) of the controller 200 are set to initial values. And the rotation angle and acceleration of the controller 200 are acquired, and the acquired rotation angle and acceleration are preserve | saved at the memory | storage part 170 (step S3, S4).

次に、ボールがラケットにヒットしたか否かを判断し、ヒットした場合には、ヒット後に取得された回転角度等を、所定フレーム(例えば数フレーム)が経過するまで保存する(ステップS5、S6、S7)。これにより、ヒットタイミングの前後のタイミングを含むヒット判定区間で取得された回転角度等が保存される。   Next, it is determined whether or not the ball hits the racket. If the ball hits, the rotation angle obtained after the hit is stored until a predetermined frame (for example, several frames) elapses (steps S5 and S6). , S7). Thereby, the rotation angle acquired in the hit determination section including the timing before and after the hit timing is stored.

次に、図21(A)〜図21(C)で説明したように、ボールのヒットタイミングの前後(第1、第2のタイミング)の回転角度の変化情報に基づいて、ボールの回転方向、回転速度等を設定する(ステップS8)。例えばトップスピンの場合には順方向の回転になり、スライスの場合には逆方向の回転になるように回転方向を設定する。またヒットタイミングの前後での回転角度(γ)の変化が大きい場合には、ボールの回転速度(回転量)を速くする。   Next, as described in FIGS. 21A to 21C, based on the change information of the rotation angle before and after the ball hit timing (first and second timing), the rotation direction of the ball, A rotation speed and the like are set (step S8). For example, the rotation direction is set so that the rotation is forward in the case of top spin, and the reverse rotation in the case of slice. Further, when the change in the rotation angle (γ) before and after the hit timing is large, the rotation speed (rotation amount) of the ball is increased.

次に、コントローラ200の回転角度や回転角度の変化情報やヒットタイミングに基づいて、ボールのヒット方向を設定する(ステップS9)。例えば振り遅れのヒットタイミングの場合にはボールのヒット方向を例えば右方向に設定し、早振りのヒットタイミングの場合にはボールのヒット方向を例えば左方向に設定する。そして図23で説明したように、ヒットタイミングでのZ軸方向に沿った加速度に基づいて、ボールのヒット強さを設定する(ステップS10)。   Next, the hit direction of the ball is set based on the rotation angle of the controller 200, change information of the rotation angle, and hit timing (step S9). For example, the ball hit direction is set to the right, for example, in the case of a hit delay timing, and the ball hit direction is set, for example, to the left in the case of a fast hit timing. Then, as described in FIG. 23, the hit strength of the ball is set based on the acceleration along the Z-axis direction at the hit timing (step S10).

図28はモーション処理のフローチャートである。まずコントローラ200の回転角度(α、β)を取得する(ステップS11)。そして図12、図13、図15(A)、図15(B)等で説明したように、取得された回転角度が属する角度範囲を特定する(ステップS12)。   FIG. 28 is a flowchart of motion processing. First, the rotation angle (α, β) of the controller 200 is acquired (step S11). Then, as described in FIG. 12, FIG. 13, FIG. 15A, FIG. 15B, etc., the angle range to which the acquired rotation angle belongs is specified (step S12).

次に、特定された角度範囲に対応する基準モーションを読み出す(ステップS13)。図12を例に取れば、αi≦α≦αi+1、βj≦β≦βj+1の角度範囲に対応する基準モーションとして、第1、第2、第3、第4の基準モーションM(i、j)、M(i+1、j)、M(i、j+1)、M(i+1、j+1)が読み出される。また取得された回転角度(α、β)に基づいて、モーション合成率(K1、K2、K3、K4)を求める(ステップS14)。そして、読み出された基準モーションを、求められたモーション合成率で合成して、キャラクタのモーションを生成する(ステップS15)。この時、例えば回転角度(γ)に基づくモーション補正を行う。そして、生成されたモーション(補正後のモーション)でキャラクタを動作させる(ステップS16)。   Next, the reference motion corresponding to the specified angle range is read (step S13). Taking FIG. 12 as an example, the first, second, third, and fourth reference motions M (i, j) as the reference motions corresponding to the angle ranges of αi ≦ α ≦ αi + 1 and βj ≦ β ≦ βj + 1, M (i + 1, j), M (i, j + 1), and M (i + 1, j + 1) are read out. Further, based on the obtained rotation angles (α, β), the motion synthesis rate (K1, K2, K3, K4) is obtained (step S14). Then, the read reference motion is synthesized at the calculated motion synthesis rate to generate a character motion (step S15). At this time, for example, motion correction based on the rotation angle (γ) is performed. Then, the character is operated with the generated motion (corrected motion) (step S16).

なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(ヒット体、ヒット対象物等)と共に記載された用語(ラケット、ボール等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、ヒット演算処理、モーション処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are intended to be included in the scope of the present invention. For example, a term (racket, ball, etc.) described together with a different term (hit body, hit object, etc.) in a broader sense or the same meaning at least once in the specification or drawing is used anywhere in the specification or drawing. It can be replaced by that different term. Moreover, hit calculation processing, motion processing, and the like are not limited to those described in the present embodiment, and techniques equivalent to these are also included in the scope of the present invention. The present invention can be applied to various games. Further, the present invention is applied to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, a system board for generating a game image, and a mobile phone. it can.

100 処理部、101 操作情報取得部、102 ゲーム演算部、
104 オブジェクト空間設定部、106 ヒット演算処理部、
108 基準ポジション検出部、110 ヒット判定エリア設定部、
112 モーション処理部、114 キャラクタ制御部、116 仮想カメラ制御部、
120 画像生成部、130 音生成部、160 操作部、170 記憶部、
172 オブジェクトデータ記憶部、174 モーション記憶部、176 描画バッファ、
180 情報記憶媒体、190 表示部、192 音出力部、194 補助記憶装置、
196 通信部、200 コントローラ、202 拡張ユニット、210 方向指示キー、
212 Aボタン、214 トリガボタン、220 撮像素子、
222 無線通信モジュール、224 加速度センサ、230 角速度センサ
100 processing unit, 101 operation information acquisition unit, 102 game calculation unit,
104 object space setting unit, 106 hit calculation processing unit,
108 reference position detection unit, 110 hit determination area setting unit,
112 motion processing unit, 114 character control unit, 116 virtual camera control unit,
120 image generation unit, 130 sound generation unit, 160 operation unit, 170 storage unit,
172 Object data storage unit, 174 Motion storage unit, 176 Drawing buffer,
180 information storage medium, 190 display unit, 192 sound output unit, 194 auxiliary storage device,
196 communication unit, 200 controller, 202 expansion unit, 210 direction instruction key,
212 A button, 214 Trigger button, 220 Image sensor,
222 wireless communication module, 224 acceleration sensor, 230 angular velocity sensor

Claims (17)

複数の基準モーションを記憶するモーション記憶部と、
前記複数の基準モーションを合成して、キャラクタのモーションを生成するモーション処理部と、
生成されたモーションに基づいて前記キャラクタを動作させる制御を行うキャラクタ制御部と、
画像を生成する画像生成部として、
コンピュータを機能させ、
前記モーション記憶部は、
前記キャラクタが所持する所持オブジェクト又は前記キャラクタを構成する部位オブジェクトの高さが第1の高さである場合用の基準モーションである複数の第1の高さ用基準モーションと、
前記所持オブジェクト又は前記部位オブジェクトが第2の高さである場合用の基準モーションである少なくとも1つの第2の高さ用基準モーションとを記憶し、
前記モーション処理部は、
前記複数の第1の高さ用基準モーションと、前記少なくとも1つの第2の高さ用基準モーションを合成して、前記キャラクタのモーションを生成することを特徴とするプログラム。
A motion storage unit for storing a plurality of reference motions;
A motion processing unit that generates a character motion by combining the plurality of reference motions;
A character control unit that performs control to move the character based on the generated motion;
As an image generator that generates images,
Make the computer work,
The motion storage unit
A plurality of first reference motions for height that are reference motions when the height of the possessed object possessed by the character or the part object constituting the character is the first height;
Storing at least one second height reference motion that is a reference motion when the possessing object or the part object is at a second height;
The motion processing unit
The program for generating the motion of the character by combining the plurality of first height reference motions and the at least one second height reference motion.
請求項1において、
コントローラの長軸方向に沿って設定された座標軸を第3の座標軸とし、前記第3の座標軸に直交する座標軸を第1、第2の座標軸とした場合に、前記第1、第2の座標回りでの回転角度情報である第1、第2の回転角度情報を、操作情報として取得する操作情報取得部として、
コンピュータを更に機能させ、
前記モーション処理部は、
前記第1、第2の回転角度情報に基づきモーション合成率を求め、求められた前記モーション合成率で、前記複数の第1の高さ用基準モーションと、前記少なくとも1つの第2の高さ用基準モーションを合成して、キャラクタのモーションを生成することを特徴とするプログラム。
In claim 1,
When the coordinate axis set along the major axis direction of the controller is the third coordinate axis, and the coordinate axes orthogonal to the third coordinate axis are the first and second coordinate axes, the first and second coordinate rotations As an operation information acquisition unit for acquiring the first and second rotation angle information, which is rotation angle information, as operation information,
Make the computer work better,
The motion processing unit
A motion synthesis rate is obtained based on the first and second rotation angle information, and the plurality of first height reference motions and the at least one second height are obtained at the obtained motion synthesis rate. A program characterized by generating a motion of a character by synthesizing a reference motion.
請求項2において、
前記モーション記憶部は、
前記第1の高さ用基準モーションとして、前記第1の回転角度情報がα=αiであり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第1の基準モーションと、前記第1の回転角度情報がα=αi+1であり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第2の基準モーションを記憶し、
前記第2の高さ用基準モーションとして、前記第1の回転角度情報がα=αiであり、前記第2の回転角度情報がβ=βj+1である場合の基準モーションである第3の基準モーションと、前記第1の回転角度情報がα=αi+1であり、前記第2の回転角度情報がβ=βj+1である場合の基準モーションである第4の基準モーションを記憶し、
前記モーション処理部は、
取得された前記第1の回転角度情報αがαi≦α≦αi+1であり、取得された前記第2の回転角度情報βがβj≦β≦βj+1である場合に、前記第1、第2の回転角度情報α、βに基づき前記モーション合成率を求め、求められた前記モーション合成率で、前記第1、第2、第3、第4の基準モーションを合成して、キャラクタのモーションを生成することを特徴とするプログラム。
In claim 2,
The motion storage unit
As the first height reference motion, a first reference motion that is a reference motion when the first rotation angle information is α = αi and the second rotation angle information is β = βj; Storing a second reference motion that is a reference motion when the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj;
As the second reference motion for height, a third reference motion that is a reference motion when the first rotation angle information is α = αi and the second rotation angle information is β = βj + 1; Storing a fourth reference motion that is a reference motion when the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj + 1,
The motion processing unit
When the acquired first rotation angle information α is αi ≦ α ≦ αi + 1 and the acquired second rotation angle information β is βj ≦ β ≦ βj + 1, the first and second rotations are performed. The motion synthesis rate is obtained based on the angle information α and β, and the first, second, third, and fourth reference motions are synthesized with the obtained motion synthesis rate to generate a character motion. A program characterized by
請求項2において、
前記モーション記憶部は、
前記第1の高さ用基準モーションとして、前記第1の回転角度情報がα=αiであり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第1の基準モーションと、前記第1の回転角度情報がα=αi+1であり、前記第2の回転角度情報がβ=βjである場合の基準モーションである第2の基準モーションを記憶し、
前記第2の高さ用基準モーションとして、前記第2の回転角度情報がβ=βj+1である場合の基準モーションである第3の基準モーションを記憶し、
前記モーション処理部は、
取得された前記第1の回転角度情報αがαi≦α≦αi+1であり、取得された前記第2の回転角度情報βがβj≦β≦βj+1である場合に、前記第1、第2の回転角度情報α、βに基づき前記モーション合成率を求め、求められた前記モーション合成率で、前記第1、第2、第3の基準モーションを合成して、キャラクタのモーションを生成することを特徴とするプログラム。
In claim 2,
The motion storage unit
As the first height reference motion, a first reference motion that is a reference motion when the first rotation angle information is α = αi and the second rotation angle information is β = βj; Storing a second reference motion that is a reference motion when the first rotation angle information is α = αi + 1 and the second rotation angle information is β = βj;
As the second height reference motion, a third reference motion that is a reference motion when the second rotation angle information is β = βj + 1 is stored,
The motion processing unit
When the acquired first rotation angle information α is αi ≦ α ≦ αi + 1 and the acquired second rotation angle information β is βj ≦ β ≦ βj + 1, the first and second rotations are performed. The motion synthesis rate is obtained based on the angle information α and β, and the character motion is generated by synthesizing the first, second, and third reference motions with the obtained motion synthesis rate. Program to do.
請求項2乃至4のいずれかにおいて、
前記操作情報取得部は、
前記第3の座標軸回りでの回転角度情報である第3の回転角度情報を取得し、
前記モーション処理部は、
生成された前記キャラクタのモーションを、前記第3の回転角度情報に基づいて補正することを特徴とするプログラム。
In any of claims 2 to 4,
The operation information acquisition unit
Obtaining third rotation angle information which is rotation angle information about the third coordinate axis;
The motion processing unit
A program for correcting the generated motion of the character based on the third rotation angle information.
請求項2乃至5のいずれかにおいて、
前記モーション処理部は、
前記第1の回転角度情報が角度リミット値を超えた場合には、前記角度リミット値に対応する基準モーションを用いてモーション合成を行うことを特徴とするプログラム。
In any of claims 2 to 5,
The motion processing unit
A program characterized in that when the first rotation angle information exceeds an angle limit value, motion synthesis is performed using a reference motion corresponding to the angle limit value.
請求項2乃至6のいずれかにおいて、
前記操作情報取得部は、
前記第3の座標軸回りでの回転角度情報である第3の回転角度情報を取得し、
取得された前記第3の回転角度情報に基づいて、ヒット体によりヒットされるヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定するヒット演算処理を行うヒット演算処理部として、
更にコンピュータを機能させることを特徴とするプログラム。
In any one of Claims 2 thru | or 6.
The operation information acquisition unit
Obtaining third rotation angle information which is rotation angle information about the third coordinate axis;
Based on the acquired third rotation angle information, as a hit calculation processing unit that performs hit calculation processing for setting at least one of the movement direction and the rotation state after hit of the hit object hit by the hit body,
Further, a program for causing a computer to function.
請求項7において、
前記ヒット演算処理部は、
前記ヒット体による前記ヒット対象物のヒットタイミングにおける前記コントローラの前記第3の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
In claim 7,
The hit calculation processing unit
Based on the third rotation angle information of the controller at the hit timing of the hit object by the hit object, at least one of a moving direction and a rotation state after the hit of the hit object is set. program.
請求項8において、
前記操作情報取得部は、
前記第3の座標軸に沿った方向での加速度情報を取得し、
前記ヒット演算処理部は、
前記第3の座標軸に沿った方向での前記加速度情報に基づいて、前記ヒット体による前記ヒット対象物のヒット強さ情報を設定することを特徴とするプログラム。
In claim 8,
The operation information acquisition unit
Obtaining acceleration information in a direction along the third coordinate axis;
The hit calculation processing unit
A program for setting hit strength information of the hit object by the hit body based on the acceleration information in a direction along the third coordinate axis.
請求項7乃至9のいずれかにおいて、
前記ヒット演算処理部は、
ヒット判定期間における前記コントローラの前記第3の回転角度情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
In any one of Claims 7 thru | or 9,
The hit calculation processing unit
A program that sets at least one of a movement direction and a rotation state after the hit of the hit object based on the third rotation angle information of the controller in a hit determination period.
請求項10において、
前記ヒット演算処理部は、
前記ヒット判定期間における前記コントローラの前記第3の回転角度情報の変化情報に基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
In claim 10,
The hit calculation processing unit
A program that sets at least one of a movement direction and a rotation state after the hit of the hit object based on change information of the third rotation angle information of the controller in the hit determination period.
請求項11において、
前記ヒット演算処理部は、
前記ヒット判定期間の第1のタイミングにおける前記第3の回転角度情報と、前記ヒット判定期間の第2のタイミングにおける前記第3の回転角度情報とに基づいて、前記ヒット対象物のヒット後の移動方向及び回転状態の少なくとも一方を設定することを特徴とするプログラム。
In claim 11,
The hit calculation processing unit
Based on the third rotation angle information at the first timing of the hit determination period and the third rotation angle information at the second timing of the hit determination period, the hit object moves after the hit. A program that sets at least one of a direction and a rotation state.
請求項12において、
前記操作情報取得部は、
前記第3の座標軸に沿った方向での加速度情報を取得し、
前記ヒット演算処理部は、
前記第1のタイミングと前記第2のタイミングの間のヒットタイミングにおける前記第3の座標軸に沿った方向での加速度情報に基づいて、前記ヒット体による前記ヒット対象物のヒット強さ情報を設定することを特徴とするプログラム。
In claim 12,
The operation information acquisition unit
Obtaining acceleration information in a direction along the third coordinate axis;
The hit calculation processing unit
Based on the acceleration information in the direction along the third coordinate axis at the hit timing between the first timing and the second timing, the hit strength information of the hit object by the hit body is set. A program characterized by that.
請求項2乃至13のいずれかにおいて、
前記コントローラが基準ポジションに設定されたことを検出する基準ポジション検出部として更にコンピュータを機能させ、
前記操作情報取得部は、
前記コントローラが前記基準ポジションに設定された時に初期値に設定される前記第1、第2の回転角度情報を取得することを特徴とするプログラム。
In any of claims 2 to 13,
Further causing the computer to function as a reference position detector for detecting that the controller is set to a reference position;
The operation information acquisition unit
A program for obtaining the first and second rotation angle information set to an initial value when the controller is set to the reference position.
請求項14において、
前記基準ポジション検出部は、
前記コントローラが前記基準ポジションに設定されたことを知らせる所定の操作を、プレーヤが前記コントローラにより行った場合に、前記コントローラが前記基準ポジションに設定されたと判断することを特徴とするプログラム。
In claim 14,
The reference position detector is
A program for determining that the controller is set to the reference position when a player performs a predetermined operation for notifying that the controller is set to the reference position by the controller.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至15のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the program according to any one of claims 1 to 15 is stored. 複数の基準モーションを記憶するモーション記憶部と、
前記複数の基準モーションを合成して、キャラクタのモーションを生成するモーション処理部と、
生成されたモーションに基づいて前記キャラクタを動作させる制御を行うキャラクタ制御部と、
画像を生成する画像生成部とを含み、
前記モーション記憶部は、
前記キャラクタが所持する所持オブジェクト又は前記キャラクタを構成する部位オブジェクトの高さが第1の高さである場合用の基準モーションである複数の第1の高さ用基準モーションと、
前記所持オブジェクト又は前記部位オブジェクトが第2の高さである場合用の基準モーションである少なくとも1つの第2の高さ用基準モーションとを記憶し、
前記モーション処理部は、
前記複数の第1の高さ用基準モーションと、前記少なくとも1つの第2の高さ用基準モーションを合成して、前記キャラクタのモーションを生成することを特徴とする画像生成システム。
A motion storage unit for storing a plurality of reference motions;
A motion processing unit that generates a character motion by combining the plurality of reference motions;
A character control unit that performs control to move the character based on the generated motion;
An image generation unit for generating an image,
The motion storage unit
A plurality of first reference motions for height that are reference motions when the height of the possessed object possessed by the character or the part object constituting the character is the first height;
Storing at least one second height reference motion that is a reference motion when the possessing object or the part object is at a second height;
The motion processing unit
The image generation system, wherein the plurality of first height reference motions and the at least one second height reference motion are combined to generate the character motion.
JP2009083803A 2009-03-30 2009-03-30 Program, information storage medium, and image generation system Pending JP2010237883A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009083803A JP2010237883A (en) 2009-03-30 2009-03-30 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009083803A JP2010237883A (en) 2009-03-30 2009-03-30 Program, information storage medium, and image generation system

Publications (1)

Publication Number Publication Date
JP2010237883A true JP2010237883A (en) 2010-10-21

Family

ID=43092144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009083803A Pending JP2010237883A (en) 2009-03-30 2009-03-30 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP2010237883A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014064932A (en) * 2013-11-25 2014-04-17 Nintendo Co Ltd Game device and game program
JP6290490B1 (en) * 2017-04-14 2018-03-07 株式会社コロプラ Information processing method, apparatus, and program for causing computer to execute information processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014064932A (en) * 2013-11-25 2014-04-17 Nintendo Co Ltd Game device and game program
JP6290490B1 (en) * 2017-04-14 2018-03-07 株式会社コロプラ Information processing method, apparatus, and program for causing computer to execute information processing method
JP2018181019A (en) * 2017-04-14 2018-11-15 株式会社コロプラ Information processing method, information processing device and program to cause computer to execute the information processing method

Similar Documents

Publication Publication Date Title
JP2010237882A (en) Program, information storage medium, and image generation system
KR100460619B1 (en) Game Apparatus and Game System
US7001272B2 (en) Video game device, video game method, video game program, and video game system
JP3927821B2 (en) PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
WO2002066128A1 (en) Program for controlling playing of game, and game apparatus for running this program
JPWO2009028690A1 (en) GAME DEVICE, GAME PROGRAM, AND GAME DEVICE CONTROL METHOD
US8384661B2 (en) Program, information storage medium, determination device, and determination method
JP4120741B2 (en) GAME MACHINE, GAME CONTROL METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM
JP2003085591A (en) Motion data, game information, information recording medium, and game device
JP6910809B2 (en) Simulation system, program and controller
JP2012181616A (en) Program, information storage medium, game device and server system
JP2012101026A (en) Program, information storage medium, game device, and server system
JP2003071134A (en) Game information, information storage medium, and game device
TWI407992B (en) Virtual sports system
JP2006255175A (en) Program, information storage medium and game apparatus
JP2010233752A (en) Program, information storage medium, and image generation system
JP4097236B2 (en) Image generating apparatus and information storage medium
JP2010237883A (en) Program, information storage medium, and image generation system
JP4071011B2 (en) Program for controlling execution of golf game and game apparatus for executing the program
JP2010233751A (en) Program, information storage medium, and image generation system
JP6310517B2 (en) Game program and game system
JP5220350B2 (en) Program, information storage medium, and image generation system
JP5220349B2 (en) Program, information storage medium, and image generation system
JP2009045273A (en) Program, information storage medium, and game system
JP3686069B2 (en) Program, information storage medium, and image generation system