JP5220349B2 - Program, information storage medium, and image generation system - Google Patents
Program, information storage medium, and image generation system Download PDFInfo
- Publication number
- JP5220349B2 JP5220349B2 JP2007156254A JP2007156254A JP5220349B2 JP 5220349 B2 JP5220349 B2 JP 5220349B2 JP 2007156254 A JP2007156254 A JP 2007156254A JP 2007156254 A JP2007156254 A JP 2007156254A JP 5220349 B2 JP5220349 B2 JP 5220349B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- motion
- hit position
- shot
- hit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 claims description 329
- 238000000034 method Methods 0.000 claims description 131
- 230000008859 change Effects 0.000 claims description 118
- 230000008569 process Effects 0.000 claims description 114
- 238000012545 processing Methods 0.000 claims description 83
- 238000004364 calculation method Methods 0.000 claims description 47
- 238000013500 data storage Methods 0.000 claims description 25
- 230000009471 action Effects 0.000 claims description 11
- 238000002360 preparation method Methods 0.000 claims description 11
- 238000005192 partition Methods 0.000 claims description 9
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 19
- 210000000988 bone and bone Anatomy 0.000 description 14
- 230000002265 prevention Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004088 simulation Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。 The present invention relates to a program, an information storage medium, and an image generation system.
従来より、スポーツ選手を模したキャラクタ等のオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。テニスゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自身のキャラクタを操作して、他のプレーヤやコンピュータが操作する相手キャラクタがショットしたボールをラケットで打ち返すことでゲームを楽しむ。 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 capable of enjoying a tennis game as an example, a player operates his / her character using an operation unit such as a game controller, and a ball shot by an opponent character operated by another player or a computer. Enjoy the game by hitting back with a racket.
このようなテニスゲームでは、ボールがキャラクタの場所に飛んできたタイミングで、プレーヤがゲームコントローラの動作指示ボタンを押すことで、ボールを打ち返すという操作インターフェースを採用するのが一般的である。 In such a tennis game, it is common to employ an operation interface in which the player hits the ball by pressing an operation instruction button on the game controller at the timing when the ball flies to the character.
しかしながら、このような操作インターフェースでは、プレーヤがキャラクタの動作指示ボタンを押すタイミングの前においては、どのような種類のショット動作をキャラクタに行わせるのかを、確定できない。即ちプレーヤがショットタイミングの直前に例えばトップスピンやスライスのショット動作の指示ボタンを押した場合に、打ち返したボールの軌道をトップスピンやスライスの軌道にすることはできるが、キャラクタのモーション自体を、トップスピンやスライスのショット動作に応じたモーションにすることは難しかった。 However, with such an operation interface, it is not possible to determine what kind of shot action is to be performed by the character before the player presses the action instruction button of the character. That is, if the player presses the top spin or slice shot operation instruction button immediately before the shot timing, for example, the trajectory of the hit ball can be changed to the top spin or slice trajectory. It was difficult to make the motion according to the topspin or slice shot motion.
以上のような課題を解決するために、本願発明者は、キャラクタによりボール(移動体)がショット(捕捉)されるタイミングに先行して、キャラクタの動作指示を行うことができる先行入力システムを開発している。この先行入力システムによれば、例えばショットタイミングの前に、プレーヤがトップスピンやスライスの動作指示ボタンを押すと、ボールの軌道のみならず、ショットタイミングまでのキャラクタのモーションについても、トップスピンやスライスの動作を忠実に再現したモーションにすることが可能になる。 In order to solve the problems as described above, the present inventor has developed a prior input system capable of instructing a character's movement prior to the timing at which the ball (moving body) is shot (captured) by the character. doing. According to this prior input system, for example, when the player presses the top spin or slice action instruction button before the shot timing, not only the trajectory of the ball but also the motion of the character up to the shot timing, the top spin and slice It becomes possible to make the motion faithfully reproduce the motion.
しかしながら、このような先行入力システムを採用した場合には、プレーヤの操作によっては、ボールのショットタイミングで適正にボールをショットできなくなる状況が生じてしまうことが判明した。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、先行入力システムに好適な移動体のショット処理又は捕捉処理を実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。 The present invention has been made in view of the problems as described above, and an object of the present invention is to provide a program, an information storage medium, and an image generation capable of realizing a moving object shot process or capture process suitable for a prior input system. To provide a system.
本発明は、画像を生成する画像生成システムであって、キャラクタにより移動体がショット又は捕捉されるタイミングに先行して、前記キャラクタの動作を指示する先行入力をプレーヤが行った場合に、入力された先行入力を受け付ける入力受け付け部と、前記キャラクタによりショット又は捕捉される前記移動体の制御処理を行う移動体制御部と、受け付けられた前記先行入力の操作データに基づいて、前記キャラクタの制御処理を行うキャラクタ制御部と、前記キャラクタと前記移動体とのヒットイベントが発生する位置であるヒット位置を求めるヒット位置演算部と、求められたヒット位置が、前記キャラクタによる前記移動体のショット条件又は捕捉条件を満たす位置であるか否かを判定する判定部とを含み、前記ヒット位置演算部は、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではなかった場合には、ヒット位置の再演算処理を行ってヒット位置を移動する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。 The present invention is an image generation system for generating an image, which is input when a player makes a prior input instructing the action of the character prior to the timing when the moving object is shot or captured by the character. An input receiving unit that receives the preceding input, a moving body control unit that performs control processing of the moving body shot or captured by the character, and the character control process based on the received operation data of the preceding input. A character control unit that performs a hit position calculation unit that obtains a hit position that is a position where a hit event occurs between the character and the moving object, and the obtained hit position corresponds to a shot condition of the moving object by the character or A determination unit that determines whether or not the position satisfies a capture condition, and the hit position calculation unit , If the hit position is not the the shot condition or said capture satisfying position is related to an image generation system that moves the hit position by performing the re-calculation of the hit position. 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.
本発明では、キャラクタにより移動体がショット又は捕捉されるタイミングに先行して、キャラクタの動作指示のための先行入力をプレーヤが行うと、キャラクタと移動体の間のヒットイベントのヒット位置(予測ヒット位置)が求められる。そして求められたヒット位置が、移動体のショット条件又は捕捉条件を満たす位置であるか否かが判定される。そして、ショット条件又は捕捉条件を満たす位置ではなかった場合には、ヒット位置の再演算処理が行われて、ヒット位置の移動処理(補正処理)が行われる。このようにすれば、プレーヤによる先行入力の動作指示にそのまま従うと、ショット条件又は捕捉条件が満たされないような場合にも、ヒット位置の再演算処理により、これらの条件が満たされるようにヒット位置が移動できる。従って、先行入力システムに好適な、キャラクタによる移動体のショット処理又は捕捉処理を実現できる。 In the present invention, when the player makes a prior input for instructing the movement of the character prior to the timing when the moving object is shot or captured by the character, the hit position of the hit event (predicted hit) between the character and the moving object. Position). Then, it is determined whether or not the obtained hit position is a position that satisfies the shot condition or capture condition of the moving object. If the position does not satisfy the shot condition or the capture condition, hit position recalculation processing is performed, and hit position movement processing (correction processing) is performed. In this way, if the previous input operation instruction from the player is followed as it is, even if the shot condition or the capture condition is not satisfied, the hit position is recalculated so that these conditions are satisfied by the recalculation processing of the hit position. Can move. Therefore, it is possible to realize the shot processing or capture processing of the moving object by the character, which is suitable for the preceding input system.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、前記先行入力のタイミングでの前記キャラクタの位置及び移動方向により特定される軌道と、前記移動体の軌道との交点を求めることで、ヒット位置を求めてもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the hit position calculation unit includes a trajectory specified by the position and moving direction of the character at the timing of the preceding input, and a trajectory of the moving object. The hit position may be obtained by obtaining the intersection point.
このようにすれば、再演算処理の前の初回のヒット位置を、キャラクタの軌道と移動体の軌道との交点を求めるだけで取得できる。 In this way, the first hit position before the recalculation process can be obtained simply by obtaining the intersection of the character trajectory and the moving object trajectory.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、前記先行入力のタイミングにおいて既に計算されている前記移動体の軌道データの移動体位置の中から、前記交点に対応する移動体位置を選択することで、ヒット位置を求めてもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the hit position calculation unit may calculate the intersection point from the moving object positions of the trajectory data of the moving object that has already been calculated at the timing of the preceding input. The hit position may be obtained by selecting a moving body position corresponding to.
このようにすれば、軌道データに含まれる移動体位置を選択するだけという負荷の軽い処理で、ヒット位置を取得できる。 In this way, the hit position can be acquired by a light-loading process of simply selecting the moving body position included in the trajectory data.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、ヒット位置を移動する処理を、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置になるまで繰り返してもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the hit position calculation unit may repeat the process of moving the hit position until the hit position becomes a position that satisfies the shot condition or the capture condition. Good.
このようにすれば、先行入力についてのプレーヤの意思をある程度反映させたヒット位置の再演算処理を実現できる。 In this way, it is possible to realize a hit position recalculation process that reflects the player's intention regarding the prior input to some extent.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置になるまで、前記移動体の軌道上においてヒット位置を移動してもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the hit position calculation unit calculates the hit position on the trajectory of the moving object until the hit position reaches the shot condition or the capture condition. You may move.
このようにすれば、再演算処理後のヒット位置を、キャラクタと移動体とのヒットイベントが発生する場所として保証できるようになる。 In this way, the hit position after the recalculation process can be guaranteed as a place where the hit event between the character and the moving object occurs.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記判定部は、前記キャラクタとヒット位置の間に障害物が存在した場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定してもよい。 In the image generation system, the program, and the information storage medium according to the present invention, when the obstacle exists between the character and the hit position, the determination unit determines that the hit position satisfies the shot condition or the capture condition. It may be determined that it is not.
このようにすれば、移動体を追うキャラクタが障害物をすり抜けてしまうなどの事態を防止できる。 In this way, it is possible to prevent a situation in which a character chasing a moving object passes through an obstacle.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、ヒット位置から、前記先行入力のタイミングでの前記移動体の位置へと向かう方向を、第1の方向とした場合に、前記ヒット位置演算部は、前記再演算処理として、ヒット位置を前記第1の方向側に移動する処理を行ってもよい。 In the image generation system, the program, and the information storage medium according to the present invention, when the direction from the hit position to the position of the moving body at the timing of the preceding input is the first direction, the hit position The calculation unit may perform a process of moving the hit position toward the first direction as the recalculation process.
このようにすれば、プレーヤが、第1の方向と逆方向側にキャラクタを移動させる先行入力を行ったような場合にも、これを補正して適正な場所にヒット位置を移動できる。 In this way, even when the player makes a prior input for moving the character in the direction opposite to the first direction, this can be corrected and the hit position can be moved to an appropriate location.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、ヒット位置の第1、第2、第3の座標を求め、前記判定部は、ヒット位置での前記移動体の前記第2の座標が所与の座標範囲内にない場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定してもよい。 In the image generation system, program, and information storage medium according to the present invention, the hit position calculation unit obtains first, second, and third coordinates of the hit position, and the determination unit moves the movement at the hit position. If the second coordinate of the body is not within a given coordinate range, it may be determined that the hit position is not a position that satisfies the shot condition or the capture condition.
このようにすれば、ヒット位置においてキャラクタと移動体との間で第2の座標がずれてしまい、移動体のショット又は捕捉ができなくなってしまう事態を防止できる。 In this way, it is possible to prevent a situation in which the second coordinate is shifted between the character and the moving object at the hit position and the moving object cannot be shot or captured.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第2の座標は高さ方向の座標であり、前記判定部は、ヒット位置での前記移動体の高さが所与の高さ範囲内にない場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定してもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the second coordinate is a coordinate in the height direction, and the determination unit determines that the height of the moving body at the hit position is a given height. If it is not within the range, it may be determined that the hit position is not a position that satisfies the shot condition or the capture condition.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記判定部は、前記キャラクタの身体パラメータに基づいて前記座標範囲を変更して判定処理を行ってもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the determination unit may perform the determination process by changing the coordinate range based on the body parameters of the character.
このようにすれば、キャラクタの身体パラメータに応じた適正なショット条件又は捕捉条件を設定できる。 In this way, it is possible to set an appropriate shot condition or capture condition according to the character's body parameters.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、前記再演算処理として、前記移動体の前記第2の座標が前記座標範囲内に入るように、前記移動体の軌道上においてヒット位置を移動する処理を行ってもよい。 In the image generation system, the program, and the information storage medium according to the present invention, as the recalculation process, the hit position calculation unit may move the moving body so that the second coordinate of the moving object falls within the coordinate range. You may perform the process which moves a hit position on the track | orbit of a body.
このようにすれば、キャラクタと移動体の第2の座標のずれが少ない場所にヒット位置を移動できる。 In this way, the hit position can be moved to a place where there is little deviation between the second coordinates of the character and the moving body.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記判定部は、ヒット位置への前記移動体の到達時間内に、前記キャラクタがヒット位置に到達できないと判断した場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定してもよい。 In the image generation system, the program, and the information storage medium according to the present invention, when the determination unit determines that the character cannot reach the hit position within the arrival time of the moving body at the hit position, the hit position May not be a position that satisfies the shot condition or the capture condition.
このようにすれば、プレーヤによる先行入力の動作指示では、移動体の到達時間内にキャラクタがヒット位置に到達できず、移動体のショット又は捕捉ができなくなってしまう事態を防止できる。 In this way, it is possible to prevent a situation in which the character cannot reach the hit position within the arrival time of the moving object, and the moving object cannot be shot or captured by the advance input action instruction from the player.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キャラクタのモーションデータを記憶するモーションデータ記憶部と、前記モーションデータに基づいて前記キャラクタのモーション再生を行うモーション再生部を含み(或いはこれらの各部としてコンピュータを機能させ)、前記モーション再生部は、前記先行入力が受け付けられた場合に、前記先行入力の動作指示データにより指示される動作を前記キャラクタに行わせるモーション再生を行い、前記判定部は、前記キャラクタのモーションにおける前記移動体のショットタイミング又は捕捉タイミングが、前記到達時間よりも遅いタイミングである場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定してもよい。 In addition, the image generation system, the program, and the information storage medium according to the present invention include a motion data storage unit that stores the motion data of the character and a motion playback unit that performs the motion playback of the character based on the motion data (or The computer functions as each of these units), and when the preceding input is received, the motion reproducing unit performs motion reproduction that causes the character to perform an action instructed by the action instruction data of the preceding input, The determination unit determines that the hit position is not a position satisfying the shot condition or the capture condition when the shot timing or capture timing of the moving object in the motion of the character is a timing later than the arrival time. May be.
このようにすれば、モーションにおけるショットタイミング又は捕捉タイミングがショット条件又は捕捉条件を満たさない場合にも、再演算処理によりこれを解消できる。 In this way, even when the shot timing or the capture timing in the motion does not satisfy the shot condition or the capture condition, this can be solved by the recalculation process.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ヒット位置演算部は、前記再演算処理として、ヒット位置を、前記到達時間内に前記キャラクタが到達できる位置に移動する処理を行ってもよい。 In the image generation system, the program, and the information storage medium according to the present invention, as the recalculation process, the hit position calculation unit performs a process of moving the hit position to a position where the character can reach within the arrival time. May be.
このようにすれば、先行入力システムにおいて効果的なプレーヤの操作アシストを実現できる。 In this way, effective player operation assistance can be realized in the prior input system.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キャラクタのモーションデータを記憶するモーションデータ記憶部と、前記モーションデータに基づいて前記キャラクタのモーション再生を行うモーション再生部を含み(或いはこれらの各部としてコンピュータを機能させ)、前記モーション再生部は、前記キャラクタによる前記移動体のショット又は捕捉の準備動作及び前記準備動作に続くショット動作又は捕捉動作を再生するためのモーションデータであって、前記再演算処理により最終的に求められたヒット位置に基づき特定されるモーションデータを選択して再生してもよい。 In addition, the image generation system, the program, and the information storage medium according to the present invention include a motion data storage unit that stores the motion data of the character and a motion playback unit that performs the motion playback of the character based on the motion data (or The computer functions as each of these units), and the motion reproduction unit is a motion data for reproducing a preparatory operation for the moving object to be shot or captured by the character and a shot operation or a capture operation following the preparatory operation. The motion data specified based on the hit position finally obtained by the recalculation process may be selected and reproduced.
このようにすれば、ショット又は捕捉の準備動作と、その準備動作に続くショット動作又は捕捉動作を、1つのモーションデータで一体的に再生できるため、先行入力システムに好適なモーション再生処理を実現できる。 In this way, since the shot or capture preparation operation and the shot operation or capture operation following the preparation operation can be integrally reproduced with one motion data, a motion reproduction process suitable for the preceding input system can be realized. .
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モーション再生部は、最終的に求められたヒット位置への前記移動体の到達時間と、前記先行入力の動作指示データとに基づき、モーションデータを選択してもよい。 Further, in the image generation system, the program, and the information storage medium according to the present invention, the motion reproducing unit is based on the arrival time of the moving body at the finally obtained hit position and the operation instruction data of the preceding input. Motion data may be selected.
このようにすれば、到達時間の長さやプレーヤの動作指示に応じた最適なモーションデータの選択が可能になる。 In this way, it is possible to select the optimal motion data according to the length of the arrival time and the operation instruction of the player.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記キャラクタのモーションデータを記憶するモーションデータ記憶部と、前記モーションデータに基づいて前記キャラクタのモーション再生を行うモーション再生部と、前記キャラクタのモーションの再生速度変更処理を行う再生速度変更部を含み(或いはこれらの各部としてコンピュータを機能させ)、前記再生速度変更部は、前記先行入力のタイミングから第1のタイミングまでの期間である第1の期間での第1の再生速度の変更度合いを、前記第1のタイミングから前記キャラクタと前記移動体のヒットイベントが発生するタイミングまでの期間である第2の期間での第2の再生速度の変更度合いに比べて大きくする再生速度変更処理を行ってもよい。 In the image generation system, program, and information storage medium according to the present invention, a motion data storage unit that stores motion data of the character, a motion playback unit that performs motion playback of the character based on the motion data, and the character A playback speed changing unit that performs a process for changing the playback speed of the motion (or causing the computer to function as each of these parts), and the playback speed changing unit is a period from the timing of the preceding input to the first timing. The degree of change in the first reproduction speed in one period is the second reproduction speed in the second period that is a period from the first timing to the timing when the hit event of the character and the moving object occurs. It is also possible to perform a reproduction speed changing process that is larger than the degree of change.
本発明によれば、モーションの再生期間が、先行入力のタイミングから第1のタイミングまでの期間である第1の期間と、第1のタイミングからヒットイベントの発生タイミングまでの期間である第2の期間に区画される。そしてモーションの再生速度変更処理の際に、第1の期間での第1の再生速度の変更度合いが、第2の期間での第2の再生速度の変更度合いに比べて大きくなる。このようにすれば、ショット動作又は捕捉動作の後半の期間で、再生速度の変更により不自然なモーションが再生されてしまう事態を防止でき、リアルで高品質なモーション再生を実現できる。 According to the present invention, the motion playback period is a first period from the preceding input timing to the first timing, and a second period from the first timing to the hit event occurrence timing. Divided into periods. When the motion playback speed change process is performed, the degree of change in the first playback speed in the first period is greater than the degree of change in the second playback speed in the second period. In this way, it is possible to prevent a situation in which an unnatural motion is reproduced due to a change in the reproduction speed during the second half of the shot operation or the capture operation, and real and high-quality motion reproduction can be realized.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記再生速度変更部は、前記ヒットイベントの発生位置であるヒット位置への前記移動体の到達時間と、モーションの再生時間とにより、前記第1の期間での前記第1の再生速度の変更倍率である第1の変更倍率と、前記第2の期間での前記第2の再生速度の変更倍率である第2の変更倍率を設定してもよい。 Further, in the image generation system, the program, and the information storage medium according to the present invention, the playback speed changing unit is configured to determine the arrival time of the moving body at the hit position where the hit event is generated and the playback time of the motion. A first change magnification that is a change magnification of the first reproduction speed in the first period and a second change magnification that is a change magnification of the second reproduction speed in the second period are set. May be.
このようにすれば、例えば移動体の到達時間と再生時間との時間比等に応じた変更倍率の設定処理を実現できる。 In this way, it is possible to realize change magnification setting processing according to, for example, the time ratio between the arrival time of the moving object and the reproduction time.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記再生速度変更部は、前記第2の変更倍率を1倍に設定したときの前記第1の変更倍率を求め、求められた前記第1の変更倍率が第1のしきい値よりも大きい場合には、前記第1の変更倍率を小さくすると共に前記第2の変更倍率を大きくし、求められた前記第1の変更倍率が第2のしきい値よりも小さい場合には、前記第1の変更倍率を大きくすると共に前記第2の変更倍率を小さくしてもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the reproduction speed changing unit obtains the first change magnification when the second change magnification is set to 1 and the obtained change magnification is obtained. When the first change magnification is larger than the first threshold value, the first change magnification is decreased and the second change magnification is increased, and the obtained first change magnification is the first change magnification. If the threshold value is smaller than 2, the first change magnification may be increased and the second change magnification may be decreased.
このようにすれば、第1の変更倍率が大きくなりすぎたり、小さくなりすぎて、不自然なモーション再生が行われてしまう事態を防止できる。 In this way, it is possible to prevent a situation in which the first change magnification becomes too large or too small and unnatural motion reproduction is performed.
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モーションデータ記憶部は、前記第1、第2の期間を区画するフレームを特定するための区画フレームのデータを、各モーションに関連づけて記憶し、前記再生速度変更部は、前記区画フレームのデータに基づいて前記第1のタイミングを特定して、前記再生速度変更処理を行ってもよい。 In the image generation system, the program, and the information storage medium according to the present invention, the motion data storage unit associates the data of the partition frame for specifying the frame that partitions the first and second periods with each motion. And the playback speed changing unit may perform the playback speed changing process by specifying the first timing based on the data of the partition frame.
このようにすれば、各モーション毎に第1のタイミングを異ならせることが可能になり、より適切で多様なモーション再生を実現できる。 In this way, the first timing can be made different for each motion, and more appropriate and diverse motion reproduction can be realized.
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。 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
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。この記憶部170は、電源を切るとデータが消えてしまう揮発性のメモリにより構成できるが、補助記憶装置194よりも高速な記憶装置になっている。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
The
情報記憶媒体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
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
The
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードや、HDDなどにより実現できる。この補助記憶装置194は脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置194は、ゲームの途中結果などのセーブデータや、プレーヤ(ユーザ)の個人的な画像データや音楽データなどを保存するために使用される。
The auxiliary storage device 194 (auxiliary memory, secondary memory) is a storage device used to supplement the capacity of the
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
The
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部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
処理部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
処理部100は、入力受け付け部102、オブジェクト空間設定部104、ゲーム演算部106、移動体制御部108、キャラクタ制御部110、モーション再生部112、再生速度変更部113、ヒット位置演算部114、判定部116、仮想カメラ制御部118、画像生成部120、音生成部130を含むことができる。なおこれらの一部の構成要素(例えば再生速度変更部)を省略する構成としてもよい。
The
入力受け付け部(操作データ取得部)102は、プレーヤの操作入力を受け付ける処理を行う。例えばプレーヤによる操作部160の操作をモニタし、プレーヤがキャラクタの動作指示等のために操作部160を操作した場合に、操作部160により入力された動作指示データ(モーション指示データ、方向指示データ)等の操作情報を取得する。
The input receiving unit (operation data acquiring unit) 102 performs processing for receiving an operation input from the player. For example, the operation of the
そして本実施形態では入力受け付け部102は、キャラクタにより移動体(ボール)がショット(打撃、キック)又は捕捉(捕球、キープ)されるタイミングに先行して、キャラクタの動作を指示する先行入力(動作指示データの入力)をプレーヤが行った場合に、入力された先行入力を受け付ける。ここで先行入力は、例えば、少なくとも先行入力が行われたタイミングから移動体がショット又は捕捉されるタイミングまでのキャラクタのモーション(動作)を決めるための入力である。例えばヒット動作(トップスピンやスライスなどのショット動作)を指示する先行入力が行われると、その先行入力の動作指示データにより特定されるモーションが再生されて、ヒットタイミング(ショットタイミング、捕捉タイミング)においてキャラクタが移動体(ボール、プレイ対象物)のヒット動作(ショット動作、捕捉動作)を行う。このようにすれば、先行入力のタイミングから少なくともヒットタイミングまで、その先行入力で特定されるモーション(例えば1つのモーションデータ)を選択して再生できるようになり、リアルで高品質なモーション表現を実現できる。
In this embodiment, the
オブジェクト空間設定部104は、モデルオブジェクト(キャラクタ、ロボット、車、戦闘機、ボール、ミサイル、弾等)、ゲームフィールド(コート、グラウンド)、壁、建物、樹木、マップ(地形)、コース(道路)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
The object
例えば記憶部170の形状データ記憶部171には、キャラクタ等のオブジェクト(モデルオブジェクト)の形状を決めるための形状データ(ポリゴンデータ)が記憶されている。またオブジェクトデータ記憶部172には、図2に示すように、これらのオブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。
For example, the shape
そしてオブジェクト空間設定部104は、これらの形状データやオブジェクトデータを用いて、オブジェクト空間へのオブジェクトの設定(配置)処理を行う。またオブジェクトデータ記憶部172のオブジェクトデータは、移動体制御部108やキャラクタ制御部110での移動制御処理等により順次更新される。
The object
ゲーム演算部106はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
The
移動体制御部(移動体演算部)108は、オブジェクト空間内で移動するボールなどの移動体(プレイ対象物)の制御処理を行う。例えば移動体を移動させたり動作させるための制御処理(演算処理)を行う。即ち、移動体の移動軌道等を決めるためのアルゴリズムや、各種データなどに基づいて、移動体をオブジェクト空間内(ゲーム空間内)で移動させるための処理を行う。例えば移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。 The moving body control unit (moving body calculation unit) 108 performs control processing of a moving body (play object) such as a ball that moves in the object space. For example, control processing (arithmetic processing) for moving or operating the moving body is performed. That is, processing for moving the moving body in the object space (in the game space) is performed based on an algorithm for determining the moving trajectory of the moving body and various data. For example, a simulation process is performed in which movement information (position, rotation angle, speed, or acceleration) and movement information (part object position or rotation angle) of the moving body are sequentially obtained for each frame (1/60 second). A frame is a unit of time for performing a moving / movement process (simulation process) and an image generation process of a moving object.
キャラクタ制御部(キャラクタ演算部)110は、人間等(例えばスポーツ選手)を模したキャラクタの制御処理を行う。例えばキャラクタを移動させたり動作させるための制御処理を行う。即ち操作部160によりプレーヤが入力した操作データや、キャラクタの移動、動作を決めるためのアルゴリズムや、各種データなどに基づいて、キャラクタをオブジェクト空間内で移動、動作させるための処理を行う。例えば操作データに基づいてキャラクタの移動情報や動作情報を1フレーム毎に順次求めるシミュレーション処理を行う。
The character control unit (character calculation unit) 110 performs control processing of a character imitating a human or the like (for example, a sports player). For example, a control process for moving or moving the character is performed. That is, processing for moving and moving the character in the object space is performed based on operation data input by the player through the
そして本実施形態では、移動体制御部108は、キャラクタによりショット又は捕捉されるボール(プレイ対象物)などの移動体の制御処理(移動制御処理)を行う。またキャラクタ制御部110は、入力受け付け部102により受け付けられた先行入力の操作データに基づいて、キャラクタの制御処理(移動制御処理)を行う。この場合に図3に示すように、制御処理により移動する移動体の軌道データは、軌道データ記憶部175に記憶される。例えばコンピュータや他プレーヤが操作する相手キャラクタが、ボール等の移動体をショット(ヒット)すると、図3に示すように、ショットしたフレームを先頭フレームとした各フレームでの移動体位置(予測位置)が、軌道データとして記憶される。
In this embodiment, the moving
モーション再生部112はモーション再生処理を行う。即ちキャラクタにモーション(アニメーション)を行わせるモーション再生処理(モーション処理、モーション生成処理)を行う。このモーション再生処理は、キャラクタのモーションを、モーションデータ記憶部173に記憶されているモーションデータに基づいて再生することなどで実現できる。
The
例えば図4に示すように、キャラクタ等を表すモデルオブジェクトMOBは、複数のパーツオブジェクト(腰12、胸14、首16、頭18、右上腕20、右前腕22、右手24、左上腕26、左前腕28、左手30、右股32、右すね34、右足36、左股38、左すね40、左足42)により構成されている。そして、これらのパーツオブジェクト(部位)の位置や回転角度(方向)は、スケルトンモデルを構成する骨B0〜B19の位置(関節J0〜J15の位置)や回転角度(親の骨に対する子の骨の相対的な回転角度)により特定される。なお、これらの骨、関節は仮想的なものであり、現実に表示されるオブジェクトではない。
For example, as shown in FIG. 4, a model object MOB representing a character or the like includes a plurality of part objects (waist 12,
モーションデータ記憶部173には、例えば、これらの骨(パーツオブジェクト、関節)の位置、回転角度がモーションデータとして記憶される。具体的には図5に示すように、親の骨BMPに対する子の骨BMCの、X軸、Y軸、Z軸回りの回転角度α、β、γ等が、モーションデータとして記憶される。
For example, the position and rotation angle of these bones (part objects, joints) are stored in the motion
なお、モーションデータの構造等は、図4、図5に限定されず、種々の変形実施が可能である。例えば骨の回転角度だけをモーションデータに含ませて、骨の位置(関節の位置)についてはモデルオブジェクトのモデルデータの中に含ませてもよい。また図4の骨B1〜B19以外に、モーション骨によるモデルオブジェクトの変形を補助する補助骨を設けてもよい。 The structure of the motion data is not limited to that shown in FIGS. 4 and 5, and various modifications can be made. For example, only the rotation angle of the bone may be included in the motion data, and the bone position (joint position) may be included in the model data of the model object. In addition to the bones B1 to B19 in FIG. 4, auxiliary bones that assist the deformation of the model object by the motion bones may be provided.
また、モーションデータ記憶部173に記憶されるモーションデータは、現実世界の人にセンサをつけてモーションキャプチャを行うことで作成できるが、モーションデータを、物理シミュレーション(物理計算を利用したシミュレーション。擬似的な物理計算でもよい)やモーションブレンドなどによりリアルタイムに生成してもよい。また、少ないモーションデータ量でリアルなモーションを再生するために、インバース・キネマティクス等を用いてモーション再生を行ってもよい
図6に本実施形態で使用されるモーションデータのデータ構造の例を示す。モーションファイルには、図4、図5で説明した各モーションのデータ(骨の回転角度等)が格納される。即ち「正面ボール用ショット」、「ステップからの通常ショット」、「小走りからの通常ショット」、「ランニングショット」などの各動作を表現するための各モーションのデータが格納される。また図6に示すようにモーションデータ記憶部173には、区画フレームやショットフレームのデータがモーションに関連づけて記憶される。
In addition, the motion data stored in the motion
モーションパラメータ記憶部174には、モーション群毎に設定されるモーションパラメータが記憶される。例えば図7に示すように、そのモーション群に含まれるモーションのショットフレームのデータやモーション再生時間(再生フレーム数)のデータが、モーションパラメータとして記憶される。例えばそのモーション群におけるショットフレームや再生時間の最大値や平均値を記憶する。
The motion
そして本実施形態では、モーション再生部112は、キャラクタのショット又は捕捉の準備動作(例えばテイクバック動作、走り動作等)及びその準備動作に続くショット動作又は捕捉動作を再生するためのモーションデータを再生する。また再演算処理により最終的に求められたヒット位置により特定されるモーションデータを選択して再生する。この場合に、ヒット位置への移動体の到達時間(移動時間)と、先行入力の動作指示データなどに基づき、モーションデータを選択することができる。
In this embodiment, the
再生速度変更部113は、キャラクタのモーションの再生速度の変更処理を行う。具体的には先行入力のタイミングから第1のタイミング(足滑り防止開始タイミング)までの期間である第1の期間での第1の再生速度の変更度合い(変更の程度、変更倍率)を、第1のタイミングから、キャラクタと移動体とのヒットイベントが発生するタイミングまでの期間である第2の期間(足滑り防止期間)での第2の再生速度の変更度合いに比べて大きくする。例えばヒットイベント(ショットイベント、捕捉イベント)の発生位置であるヒット位置(ショット位置、捕捉位置)への移動体の到達時間(移動時間、移動距離)と、モーションの再生時間(再生フレーム数)とに基づいて、第1の再生速度の変更倍率である第1の変更倍率と、第2の再生速度の変更倍率である第2の変更倍率を設定する。更に具体的には、第2の変更倍率を1倍に設定したときの第1の変更倍率を求める。そして求められた第1の変更倍率が第1のしきい値(第1の倍率)よりも大きい場合には、第1の変更倍率を小さくすると共に第2の変更倍率を大きくする。一方、求められた第1の変更倍率が第2のしきい値(第2の倍率)よりも小さい場合には、第1の変更倍率を大きくすると共に第2の変更倍率を小さくする。
The reproduction
また図6に示すようにモーションデータ記憶部173には、各モーションに関連づけて区画フレームのデータが記憶される。この区画フレームのデータは、第1、第2の期間を区画するフレームを特定するためのデータである。具体的には、キャラクタの足を滑らせたくない期間を特定するためのデータである。そして再生速度変更部113は、この区画フレームのデータに基づいて第1のタイミング(足滑り防止開始期間)を特定して、再生速度変更処理を行う。
Also, as shown in FIG. 6, the motion
ヒット位置演算部114は、キャラクタ(例えばキャラクタが持つラケット、バット等)と移動体(ボール等)とのヒットイベントが発生する位置(場所)であるヒット位置(ショット位置、捕捉位置)を求める処理を行う。例えばキャラクタが移動体をショットするショット位置や、キャラクタが移動体を捕捉する捕捉位置を求める。即ち、キャラクタと移動体とのヒットチェック処理を行い、ヒットイベントが発生した時の移動体の位置等を、ヒット位置として求める。そして求められたヒット位置のデータはヒット位置記憶部176に記憶される。
The hit
判定部116は、ヒット位置演算部114により求められたヒット位置が、キャラクタによる移動体のショット条件又は捕捉条件を満たす位置(ショット又は捕捉が成功する位置)であるか否かを判定する処理を行う。具体的には、キャラクタとヒット位置の間に障害物(例えば壁、他のキャラクタ)が存在した場合や、ヒット位置での移動体の第2の座標(例えばY座標)が所与の座標範囲内(例えば高さ範囲内)にない場合や、ヒット位置への移動体の到達時間内にキャラクタがヒット位置に到達できないと判断された場合などに、ヒット位置はショット条件や捕捉条件を満たす位置ではないと判定する。
The
そしてヒット位置演算部114は、ヒット位置がショット条件又は捕捉条件を満たす位置ではなかった場合には、ヒット位置の再演算処理を行い、例えばヒット位置を移動する。この場合に、ヒット位置を移動する処理を、ヒット位置がショット条件又は捕捉条件を満たす位置になるまで繰り返す。例えばヒット位置を移動し、移動後のヒット位置が、ショット条件又は捕捉条件を満たす位置か否かを再度判定する。そしてこれらの条件を満たすようになるまで、移動処理や再判定処理を繰り返す。即ち、ヒット位置がショット条件又は捕捉条件を満たす位置になるまで、移動体の軌道上においてヒット位置を移動する。
If the hit position is not a position that satisfies the shot condition or the capture condition, the hit
具体的にはヒット位置演算部114は、ヒット位置から、先行入力のタイミングでの移動体の位置へと向かう方向を、第1の方向とした場合に、ヒット位置を第1の方向側に移動する処理を行う。例えば移動体の軌道上でヒット位置を第1の方向側に移動する。或いは、移動体の座標が所与の座標範囲内に入るように、移動体の軌道上においてヒット位置を移動する。或いはヒット位置を、到達時間内にキャラクタが到達できる位置に移動する。
Specifically, the hit
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
The virtual
例えば仮想カメラによりキャラクタを後方から撮影する場合には、キャラクタの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、キャラクタ制御部110で得られたキャラクタの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
For example, when a character is photographed from behind using a virtual camera, the position or rotation angle (the direction of the virtual camera) of the virtual camera is controlled so that the virtual camera follows changes in the position or rotation of the character. In this case, the virtual camera can be controlled based on information such as the character position, rotation angle, or speed obtained by the
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、描画バッファ177に書き込んで、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
The
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
The
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。 Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or may be a system having a multiplayer mode in which a plurality of players can play. Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated by distributed processing using a plurality of terminals (game machine, mobile phone).
2.本実施形態の手法
次に本実施形態の手法の具体例について説明する。なお以下では、テニスゲームに本実施形態の手法を適用した場合について主に説明するが、本実施形態はこれに限定されず、例えばサッカー、アメリカンフットボール、野球などの様々なスポーツゲームやそれ以外のゲームにも適用できる。
2. Next, a specific example of the method of this embodiment will be described. In the following, the case where the method of the present embodiment is applied to a tennis game will be mainly described. However, the present embodiment is not limited to this, for example, various sports games such as soccer, American football, baseball, and the like. It can also be applied to games.
2.1 先行入力
本実施形態の手法を適用したテニスゲームでは、図8に示すように、プレーヤが操作するキャラクタCHとコンピュータや他プレーヤが操作する相手キャラクタCCとが、オブジェクト空間(仮想3次元空間)に設定されたコート上でボールBLを打ち合って対戦する。例えば図8のオブジェクト空間のワールド座標系では、平面方向にX軸、Z軸(広義には第1、第3の座標軸)が設定され、高さ方向にY軸(広義には第2の座標軸)が設定され、コート(ネット)の中心に原点に設定されている。そしてキャラクタCHは、プレーヤにより入力された操作データに基づいてX、Z平面のコート上で移動して、相手キャラクタCCが打ったボールBLを打ち返す。
2.1 Prior Input In the tennis game to which the method of the present embodiment is applied, as shown in FIG. 8, a character CH operated by a player and an opponent character CC operated by a computer or another player are in an object space (virtual three-dimensional On the court set in (Space), hit the ball BL and play. For example, in the world coordinate system of the object space of FIG. 8, the X axis and Z axis (first and third coordinate axes in a broad sense) are set in the plane direction, and the Y axis (second coordinate axis in the broad sense) is set in the height direction. ) Is set, and the origin is set at the center of the coat (net). The character CH moves on the X and Z plane courts based on the operation data input by the player, and hits the ball BL hit by the opponent character CC.
具体的には図9(A)に示すようにプレーヤは、相手キャラクタCCがボールBLをショットした後、キャラクタCHの動作を指示する先行入力を行う。即ちキャラクタCHによりボールBL(広義には移動体)がショット(又は捕捉)されるタイミングに先行して、キャラクタCHの動作を指示する先行入力を行う。具体的には、キャラクタCHの移動方向を方向指示キー50(ジョイスティック、方向指示部)で指示すると共に、キャラクタCHのショットの種類を指示する操作ボタン61を押す。ここでは、操作ボタン61、62、63、64は、各々、トップスピン、スライス、フラット、ロブのショットを指示するボタンになっており、キャラクタCHは、指示されたショットに応じたモーションを行う。そして図9(A)ではトップスピンを指示する操作ボタン61が押されているため、トップスピン用のモーションデータが再生されることになる。
Specifically, as shown in FIG. 9A, after the opponent character CC shots the ball BL, the player performs a prior input instructing the action of the character CH. That is, prior to the timing when the character BL shots (or captures) the ball BL (moving body in a broad sense), a prior input is performed to instruct the movement of the character CH. Specifically, the direction of movement of the character CH is instructed with the direction instruction key 50 (joystick, direction instructing unit), and the
なお方向指示キー50と操作ボタン61の操作は必ずしも同時である必要はなく、例えば操作ボタン61を操作した後に方向指示キー50を操作したり、方向指示キー50を操作した後に操作ボタン61を操作してもよい。
The operation of the
以上のような先行入力が行われると、図9(B)に示すように、キャラクタCH(キャラクタのラケット)とボールBL(移動体)とのヒットイベント(ショットイベント)が発生する位置であるヒット位置HP(ショット位置、捕捉位置)が求められる。即ちキャラクタCHによりボールBLがショット(ヒット)されると予測される位置(場所)がヒット位置HPとして求められる。例えば、先行入力のタイミングでのキャラクタCHの位置及び移動方向により特定される軌道RCと、ボールBLの軌道RBとの交点を求めることで、ヒット位置HPが求められる。 When the preceding input as described above is performed, as shown in FIG. 9B, a hit that is a position where a hit event (shot event) between the character CH (character racket) and the ball BL (moving body) occurs. A position HP (shot position, capture position) is obtained. That is, the position (location) where the ball BL is predicted to be shot (hit) by the character CH is obtained as the hit position HP. For example, the hit position HP is obtained by obtaining the intersection of the trajectory RC specified by the position and moving direction of the character CH at the timing of the preceding input and the trajectory RB of the ball BL.
具体的には、ボールBLの軌道RBは、相手キャラクタCCがボールBLを打った時点で計算され、計算された軌道は図3に示すように軌道データとして軌道データ記憶部175に記憶される。ヒット位置HPは、図3の軌道データに含まれる複数のボール位置(各フレームでの移動体位置)のデータのうち、軌道RC、RBの交点に対応するボール位置(交点に最も近いボール位置)のデータを選択することで、取得できる。
Specifically, the trajectory RB of the ball BL is calculated when the opponent character CC hits the ball BL, and the calculated trajectory is stored in the trajectory
またこの時に、ボールBLのヒット位置HPへの到達時間trも取得される。具体的には、到達時間trは、図3の軌道データにおいてヒット位置HPにボールBLが到達するまでのフレーム数として取得できる。 At this time, the arrival time tr of the ball BL at the hit position HP is also acquired. Specifically, the arrival time tr can be acquired as the number of frames until the ball BL reaches the hit position HP in the trajectory data of FIG.
そして図9(C)に示すように、求められた到達時間tr(到達フレーム数)と、図9(A)での動作指示データとに基づき、モーション(モーションデータ)を選択し、選択されたモーションを再生することで、キャラクタCHのショット動作を表現する。 Then, as shown in FIG. 9C, a motion (motion data) is selected based on the obtained arrival time tr (number of arrival frames) and the operation instruction data in FIG. 9A. By reproducing the motion, the shot motion of the character CH is expressed.
例えば図6に示すように、各ショットのモーションとして再生時間(再生フレーム数)が異なる複数のモーションを用意しておく。そして図9(A)でトップスピンが選択された場合には、トップスピン用に用意された複数のモーションの中から、到達時間trに応じた長さの再生時間のモーションを選択する。例えば到達時間trが短ければ、再生時間が短いモーションを選択し、到達時間trが長ければ、再生時間が長いモーションを選択する。またモーション再生速度の変更処理を行うことで、到達時間trと再生時間の長さを一致させるための微調整を行う。 For example, as shown in FIG. 6, a plurality of motions having different playback times (number of playback frames) are prepared as the motion of each shot. When the top spin is selected in FIG. 9A, a motion with a playback time having a length corresponding to the arrival time tr is selected from a plurality of motions prepared for the top spin. For example, if the arrival time tr is short, a motion with a short reproduction time is selected, and if the arrival time tr is long, a motion with a long reproduction time is selected. Further, by performing a process of changing the motion playback speed, fine adjustment is performed to make the arrival time tr and the length of the playback time coincide.
そして図9(D)に示すように、キャラクタCHとボールBLのヒットイベント(ショットイベント)が発生した場合には、そのときにプレーヤが方向指示キー50で指示している方向にボールBLが打ち返される。なお図9(D)では、ヒットイベントの発生タイミング(ショットタイミング)と、プレーヤが操作ボタン61を離すタイミングとの一致の度合いが高いほど、ボールBLの速度が増したり、相手コート内の厳しい場所にボールBLが飛ぶようになる。即ち、図9(A)で操作ボタン61を押した後、そのまま押し続け、キャラクタCHの近くにボールBLが来た時に、タイミング良く操作ボタン61を離すことで、いわゆる溜め打ち動作が実現され、強くて正確なショットが相手コートに打ち返される。
As shown in FIG. 9D, when a hit event (shot event) between the character CH and the ball BL occurs, the ball BL strikes back in the direction indicated by the player with the direction key 50 at that time. It is. In FIG. 9D, the higher the degree of coincidence between the occurrence timing of the hit event (shot timing) and the timing at which the player releases the
図9(A)〜図9(D)の先行入力システムの手法によれば、先行入力により指示されたモーションが切れ目なく再生されるため、選手のモーション、ボールの挙動、カメラアングル等をリアルに表現できる。即ち各ショット毎に用意された多彩で高品質なモーションを再生でき、プレーヤは、多彩なショットを使い分けてゲームを楽しむことができるようになる。 According to the method of the prior input system shown in FIGS. 9A to 9D, since the motion instructed by the prior input is reproduced without interruption, the motion of the player, the behavior of the ball, the camera angle, etc. are realistic. Can express. In other words, various high-quality motions prepared for each shot can be reproduced, and the player can enjoy the game by using various shots.
例えば比較例の手法として、準備動作であるテイクバック動作の開始条件が満たされると、キャラクタが自動的にテイクバック動作を開始し、その後にプレーヤがショットを指示する操作ボタンを押すと、キャラクタがボールをショットするという手法が考えられる。この手法では、テイクバックモーション(準備動作モーション)を再生した後、ショット動作が指示されると、ショットモーションを再生する。即ちテイクバックモーションとショットモーションを別々のモーションデータとして記憶して再生する。従ってテイクバックモーションとショットモーションが滑らかに繋がらなくなる場合があり、リアルで滑らかなモーション表現を実現できないおそれがある。 For example, as a method of the comparative example, when the start condition of the take-back operation, which is a preparation operation, is satisfied, the character automatically starts the take-back operation, and then when the player presses an operation button for instructing a shot, A method of hitting a ball can be considered. In this method, after a take back motion (preparation operation motion) is reproduced, when a shot operation is instructed, the shot motion is reproduced. That is, take back motion and shot motion are stored and reproduced as separate motion data. Therefore, the take back motion and the shot motion may not be smoothly connected, and there is a possibility that a real and smooth motion expression cannot be realized.
この点、本実施形態の先行入力システムによれば、テイクバック動作(準備動作)及びショット動作(捕捉動作)が1つのモーションデータの再生により実現される。従ってテイクバック動作とショット動作(フォロー動作)が滑らかに繋がるようになり、よりリアルなモーション表現を実現できる。 In this regard, according to the preceding input system of the present embodiment, the takeback operation (preparation operation) and the shot operation (capture operation) are realized by reproducing one motion data. Accordingly, the take-back operation and the shot operation (follow operation) are smoothly connected, and a more realistic motion expression can be realized.
例えば比較例の手法では、ヒット位置においてボールが高ければ、通常のテイクバックモーションの再生後に高いボール用のショットモーションが再生され、ヒット位置においてボールが低ければ、通常のテイクバックモーションの再生後に低いボール用のショットモーションが再生されるようになる。即ち、ボールが高くても低くても、テイクバック動作については同じモーションが再生されるため、リアルなモーション表現を実現できない。 For example, in the method of the comparative example, if the ball is high at the hit position, a shot motion for a high ball is played after the normal takeback motion is reproduced. If the ball is low at the hit position, the shot is low after the normal takeback motion is reproduced. The shot motion for the ball will be played. That is, even if the ball is high or low, since the same motion is reproduced for the takeback operation, a realistic motion expression cannot be realized.
これに対して本実施形態の先行入力システムによれば、先行入力を行った時点で、ヒット位置でのボールの高さ等を予測し、高いボール用のテイクバック動作及びショット動作が一体となったモーションを選択して再生したり、低いボール用のテイクバック動作及びショット動作が一体となったモーションを選択して再生できる。従って、不自然さの少ないリアルなモーション表現を実現できる。 On the other hand, according to the preceding input system of the present embodiment, when the preceding input is performed, the height of the ball at the hit position is predicted, and the takeback operation and the shot operation for a high ball are integrated. Can be selected and reproduced, or a motion in which a take-back operation and a shot operation for a low ball are integrated can be selected and reproduced. Accordingly, it is possible to realize a realistic motion expression with less unnaturalness.
2.2 ヒット位置の再演算処理
さて、以上のような先行入力システムを採用した場合に、図9(B)において予測されたヒット位置HPが適正な位置ではないと、不都合が生じるという課題がある。本実施形態ではこのような課題を解決するために、以下に説明する手法を採用している。図10に本実施形態の処理を説明するためのフローチャートを示す。
2.2 Recalculation processing of hit position When the preceding input system as described above is adopted, there is a problem that inconvenience occurs if the hit position HP predicted in FIG. 9B is not an appropriate position. is there. In this embodiment, in order to solve such a problem, a method described below is adopted. FIG. 10 shows a flowchart for explaining the processing of this embodiment.
まず、プレーヤによる先行入力(ショット操作)が行われたか否かを判断する(ステップS1)。例えば図9(A)において方向指示キー50と操作ボタン61(又は62〜64)の両方の操作が行われた場合に、先行入力が行われたと判断できる。そして、受け付けられた先行入力の操作情報を取得する(ステップS2)。例えば方向指示キー50及び操作ボタン61からの動作指示データ(方向指示データ、ショット指示データ)が取得される。
First, it is determined whether or not a prior input (shot operation) has been performed by the player (step S1). For example, in FIG. 9A, when both the
次に、取得された操作情報(動作指示データ)に基づきキャラクタCHの位置、移動方向を取得する(ステップS3)。例えば先行入力が行われたタイミングでのキャラクタCHの位置、移動方向が取得される。この場合に移動方向は、方向指示キー50の方向指示データ等に基づき求める。
Next, the position and moving direction of the character CH are acquired based on the acquired operation information (motion instruction data) (step S3). For example, the position and moving direction of the character CH at the timing when the preceding input is performed are acquired. In this case, the movement direction is obtained based on the direction instruction data of the
次にボールBLの軌道を取得する(ステップS4)。具体的には図3の軌道データを読み出す。そして図9(B)に示すように、キャラクタCHの軌道とボールBLの軌道によりヒット位置HP(ショット位置)を求める(ステップS5)。例えばボールBLの軌道データの中から、ヒット位置HPに対応するボール位置(軌道ポイント)を選択する。即ち先行入力のタイミングにおいて既に計算されている軌道データのボール位置(移動体位置)の中から、交点に対応するボール位置(交点に最も近いボール位置)を選択することで、ヒット位置HPを求める。 Next, the trajectory of the ball BL is acquired (step S4). Specifically, the trajectory data in FIG. 3 is read. Then, as shown in FIG. 9B, a hit position HP (shot position) is obtained from the trajectory of the character CH and the trajectory of the ball BL (step S5). For example, the ball position (orbit point) corresponding to the hit position HP is selected from the trajectory data of the ball BL. That is, the hit position HP is obtained by selecting the ball position corresponding to the intersection (the ball position closest to the intersection) from the ball positions (moving body positions) of the trajectory data already calculated at the timing of the prior input. .
次にヒット位置HPとキャラクタCHの間に障害物が無いか否かを判定する(ステップS6)。そして障害物が無い場合には、ヒット位置HPでのボールBLの高さが適正な高さ範囲内か否かを判断する(ステップS7)。そして適正な高さ範囲内である場合には、キャラクタCHがボールBLの到達時間tr内にヒット位置HP(ショット位置)に到達しているか否かを判断する(ステップS8)。 Next, it is determined whether or not there is an obstacle between the hit position HP and the character CH (step S6). If there is no obstacle, it is determined whether or not the height of the ball BL at the hit position HP is within an appropriate height range (step S7). If it is within the appropriate height range, it is determined whether or not the character CH has reached the hit position HP (shot position) within the arrival time tr of the ball BL (step S8).
そしてステップS6、S7、S8に示す各ショット条件(捕捉条件)の判定が「NO」であった場合には、求めたヒット位置の前後で最適なヒット位置を求める再演算処理を行う(ステップS9)。即ちヒット位置の再演算処理を行ってヒット位置を移動する。そして、ヒット条件の判定処理及びヒット位置の移動処理であるステップS6〜S9の処理を、ヒット位置がショット条件(捕捉条件)を満たす位置になるまで繰り返す。 If the determination of each shot condition (capture condition) shown in steps S6, S7, and S8 is “NO”, a recalculation process for obtaining an optimum hit position before and after the obtained hit position is performed (step S9). ). That is, the hit position is recalculated to move the hit position. Then, the process of steps S6 to S9, which is a hit condition determination process and a hit position movement process, is repeated until the hit position reaches a position that satisfies the shot condition (capture condition).
一方、ステップS6、S7、S8の各ショット条件の判定が全て「YES」であった場合には、先行入力の動作指示データと、最終的に求められたヒット位置等に基づきモーションデータを選択し(ステップS10)、選択されたモーションデータを再生する(ステップS11)。具体的には、例えば最終的に求められたヒット位置HPに基づきボールBLの到達時間trを求める。そしてプレーヤが先行入力により選択したショットのモーションの中から、到達時間tr内に再生することが可能なモーションを選択する。例えば到達時間trとモーションの再生時間の比較処理を行って、最適なモーションを選択し、必要であればモーションの再生速度の変更処理を行う。 On the other hand, when all the shot conditions in steps S6, S7, and S8 are “YES”, the motion data is selected based on the operation instruction data of the preceding input and the finally obtained hit position. (Step S10), the selected motion data is reproduced (Step S11). Specifically, for example, the arrival time tr of the ball BL is obtained based on the finally obtained hit position HP. Then, the motion that can be reproduced within the arrival time tr is selected from the shot motions selected by the player according to the preceding input. For example, a comparison process between the arrival time tr and the motion playback time is performed to select an optimal motion, and a motion playback speed changing process is performed if necessary.
図10のステップS6、S7、S8に示すように、本実施形態では、ヒット位置が、キャラクタによる移動体のショット条件(捕捉条件)を満たす位置であるか否かを判定する。そしてステップS9に示すように、ヒット位置がショット条件(捕捉条件)を満たす位置ではなかった場合には、ヒット位置の再演算処理を行う。その後、ステップS6に戻って、再演算処理後のヒット位置がショット条件を満たすか否かを再度判断し、ショット条件が満たされるまで処理を繰り返す。即ち、ヒット位置を移動する処理を、ヒット位置がショット条件を満たす位置になるまで繰り返す。つまり、ショット条件が満たされるまで、ボールの軌道上においてヒット位置を移動する。 As shown in steps S6, S7, and S8 of FIG. 10, in this embodiment, it is determined whether or not the hit position is a position that satisfies the shot condition (capture condition) of the moving object by the character. As shown in step S9, when the hit position is not a position satisfying the shot condition (capture condition), the hit position recalculation process is performed. Thereafter, returning to step S6, it is determined again whether or not the hit position after the recalculation process satisfies the shot condition, and the process is repeated until the shot condition is satisfied. That is, the process of moving the hit position is repeated until the hit position reaches a position that satisfies the shot condition. That is, the hit position is moved on the ball trajectory until the shot condition is satisfied.
このように、最終的なヒット位置を繰り返し処理により求めれば、プレーヤの先行入力により求められた初期のヒット位置を、少しずつ移動して最終的なヒット位置を取得できるようになる。従って、先行入力についてのプレーヤの意思をある程度反映させたヒット位置の再演算処理(補正処理)を実現できる。また再演算処理においてボールの軌道上でヒット位置を移動するようにすれば、再演算処理により得られたヒット位置が、キャラクタとボールのヒットイベント(ショットイベント)が発生する場所として保証できるようになる。 As described above, if the final hit position is obtained by repeated processing, the initial hit position obtained by the player's prior input can be moved little by little to obtain the final hit position. Therefore, hit position recalculation processing (correction processing) that reflects the player's intention about the prior input to some extent can be realized. In addition, if the hit position is moved on the trajectory of the ball in the recalculation process, the hit position obtained by the recalculation process can be guaranteed as a place where the hit event (shot event) of the character and the ball occurs. Become.
そしてヒット位置がショット条件を満たす位置になったと判断すると、ステップS10、S11に示すように、最終的に得られたヒット位置等に基づいてモーションデータを選択して再生する。 If it is determined that the hit position is a position that satisfies the shot condition, motion data is selected and reproduced based on the finally obtained hit position and the like as shown in steps S10 and S11.
このようにすれば、図9(B)で予測したヒット位置HPが、ショット条件を満たす位置ではなかった場合に、このヒット位置を修正し、適正なヒット位置でキャラクタCHがボールBLをショットできるようになる。即ち先行入力システムでは、予測されたヒット位置HPがボールBLのショットに適さない位置になってしまう場合があるが、本実施形態の手法によれば、このような場合にもボールBLの適正なショットが可能になる。従って先行入力システムに好適なショット処理を実現でき、リアルで高品質なモーション再生と、適正なショット処理とを両立できる。 In this way, when the hit position HP predicted in FIG. 9B is not a position that satisfies the shot condition, the hit position is corrected, and the character CH can shot the ball BL at an appropriate hit position. It becomes like this. That is, in the prior input system, the predicted hit position HP may become a position that is not suitable for the shot of the ball BL. However, according to the method of the present embodiment, the appropriateness of the ball BL is also appropriate in such a case. Shot becomes possible. Therefore, it is possible to realize shot processing suitable for the prior input system, and to realize both real and high-quality motion reproduction and appropriate shot processing.
2.3 ショット条件、捕捉条件
次にショット条件、捕捉条件の詳細について説明する。なお以下ではテニスゲームへの適用例を説明するが、テニスゲームではショット条件は、キャラクタのラケットによりボールをショット(ヒット)できるか否かの条件になる。一方、本実施形態の手法は例えばサッカー、アメリカンフットボール、野球等のゲームにも適用できる。例えばサッカーゲームでは、足でボールをキックしたり、頭でボールをヘディングできるか否かがショット条件になり、ボールをキープできるか否かが捕捉条件になる。またアメリカンフットボールのゲームでは、飛んできたボールをキャッチできるか否かが捕捉条件になる。また野球ゲームでは、バットでボールをヒットできるか否かがショット条件になり、フライやゴロをキャッチできるか否かが捕捉(捕球)条件になる。
2.3 Shot conditions and capture conditions Next, details of shot conditions and capture conditions will be described. Although an example of application to a tennis game will be described below, in the tennis game, the shot condition is a condition as to whether or not a ball can be shot (hit) by a character's racket. On the other hand, the method of the present embodiment can be applied to games such as soccer, American football, and baseball. For example, in a soccer game, whether or not a ball can be kicked with a foot or a head can be headed with a head is a shot condition, and whether or not a ball can be kept is a capture condition. In an American football game, whether or not a flying ball can be caught is a catch condition. In a baseball game, whether or not a ball can be hit with a bat is a shot condition, and whether or not a fly or a goro can be caught is a catching (catching) condition.
例えば図11(A)では、最初に計算されたヒット位置HP0とキャラクタCHとの間には、障害物である壁WOBが存在するため、判定部116は、ヒット位置HP0はショット条件を満たす位置ではないと判定する。従ってこの場合には、図11(B)に示すように再演算処理を行って、ヒット位置をHP0からHP1に移動する。即ち、ヒット位置から、先行入力のタイミングでのボール位置へと向かう方向を、第1の方向D1とした場合に、ヒット位置演算部114は、再演算処理として、ヒット位置をD1方向側に移動する処理を行う。具体的には図3の軌道データにおいて、HP0よりもBL側のボール位置であるHP1を選択する。なおキャラクタとヒット位置との間に壁が存在するか否かの判定は、キャラクタとヒット位置とを結ぶ軌道と壁のオブジェクトとの間で、公知のヒットチェック処理を行うことで実現できる。
For example, in FIG. 11A, since there is a wall WOB that is an obstacle between the hit position HP0 calculated first and the character CH, the
そして図11(B)では、再演算処理後のヒット位置HP1も、壁WOBの向こう側にあるため、ショット条件を満たすことができない。従って再演算処理が行われて、図11(C)に示すように、ヒット位置をHP1からHP2に移動する。即ちヒット位置をD1方向側に再度移動する。具体的には軌道データにおいて、HP1よりもBL側のボール位置であるHP2を選択する。この場合に再演算処理後のヒット位置HP2とキャラクタCHとの間には壁WOBは存在しないため、HP2はショット条件を満たす位置になり、最終的なヒット位置になる。そして最終的なヒット位置HP2等に基づいてモーションデータが選択されて再生されることになる。 In FIG. 11B, the hit position HP1 after the recalculation process is also located on the other side of the wall WOB, so that the shot condition cannot be satisfied. Accordingly, recalculation processing is performed, and the hit position is moved from HP1 to HP2 as shown in FIG. That is, the hit position is moved again in the direction D1. Specifically, HP2 that is the ball position on the BL side of HP1 is selected in the trajectory data. In this case, since there is no wall WOB between the hit position HP2 after the recalculation process and the character CH, HP2 becomes a position that satisfies the shot condition and becomes the final hit position. Then, the motion data is selected and reproduced based on the final hit position HP2.
図12(A)〜図13(B)に本実施形態により生成されるゲーム画像の例を示す。図12(A)では、相手キャラクタCCがボールBLをショットしている。そして図12(B)では、プレーヤが方向指示キー50と、トップスピンショットの操作ボタン61を操作して、キャラクタCHの動作指示の先行入力を行っている。
FIG. 12A to FIG. 13B show examples of game images generated by this embodiment. In FIG. 12A, the opponent character CC is shooting the ball BL. In FIG. 12B, the player operates the
この場合にプレーヤは、図12(B)のA1に示すように、深めのショットのボールBLに対して画面手前側である壁方向側の方向を、方向指示キー50により指示してしまっている。従って、このままであると、画面手前側の壁WOBをキャラクタCHがすり抜けてしまうおそれがある。即ちプレーヤは、画面奥側から飛んでくるボールBLをショットするのが難しいと判断した場合に、実際のヒット位置よりも手前側の方向を方向指示キー50により指示してしまう場合が多い。そして、このようなプレーヤの方向指示をそのまま用いて、最終的なヒット位置を求めてしまうと、壁WOBをキャラクタがすり抜けてしまう不具合が生じる。
In this case, as shown by A1 in FIG. 12B, the player has instructed the direction on the wall direction side, which is the front side of the screen, with respect to the deep shot ball BL by the
このような不具合を防止するために本実施形態では、図11(C)に示すようにヒット位置を補正する再演算処理を行う。これにより、図12(B)のA2に示すように、A1に示す方向よりも画面奥側の方向にキャラクタCHが移動するようになり、ショット条件が満たされるようになる。そして図13(A)、図13(B)に示すように、キャラクタCHが態勢を乱されながらも適正にボールBLをショットするゲーム画像を生成できる。 In order to prevent such a problem, in this embodiment, recalculation processing for correcting the hit position is performed as shown in FIG. As a result, as indicated by A2 in FIG. 12B, the character CH moves in the direction toward the back of the screen relative to the direction indicated by A1, and the shot condition is satisfied. Then, as shown in FIGS. 13A and 13B, it is possible to generate a game image in which the character CH is appropriately shot while the character CH is disturbed.
また、この場合に本実施形態では先行入力システムを用いているため、図12(B)の先行入力のタイミングから図13(B)のショットタイミング(及びフォロースイング)までの一連の動作を、1つのモーションデータを用いて再生できる。従って、これまでにないリアルで高品質なモーション表現が可能になる。 In this case, since the preceding input system is used in this embodiment, a series of operations from the timing of the preceding input in FIG. 12B to the shot timing (and follow swing) in FIG. Can be played using two motion data. Therefore, real and high-quality motion expression that has never been possible can be realized.
図14(A)では、ヒット位置演算部114は、予測されるヒット位置HP1の座標XH1、YH1、ZH1(広義には第1、第2、第3の座標)を取得する。そしてヒット位置HP1でのボールBL(移動体)の座標YH1(例えば高さ方向の座標)が所与の座標範囲内にない場合には、判定部116は、ヒット位置HP1はショット条件(捕捉条件)を満たす位置ではないと判定する。具体的にはヒット位置HP1でのボールBLの高さが所与の高さ範囲内に入らない場合に、ショット条件は満たされないと判定する。
In FIG. 14A, the hit
そして図14(B)に示すようにヒット位置演算部114は、再演算処理として、ボールBLの座標YH(高さ)が、座標範囲内(高さ範囲内)に入るように、ボールBLの軌道上においてヒット位置をHP1からHP2に移動する処理を行う。
Then, as shown in FIG. 14B, the hit
具体的には図14(C)に示すように、ボールBLの高さがキャラクタCHの身長に比べて高すぎるために座標範囲HR内に入らない場合には、ボールBLの座標YHが小さくなるようにヒット位置HPを軌道上で移動させる。即ち、ボールBLのバウンドが高すぎて、例えばボールBLがキャラクタCHの頭の高さを越えてしまうような場合には、ボールBLの高さが低くなるようにヒット位置を移動する。 Specifically, as shown in FIG. 14C, when the height of the ball BL is too high compared to the height of the character CH and does not fall within the coordinate range HR, the coordinate YH of the ball BL becomes small. Thus, the hit position HP is moved on the trajectory. That is, when the ball BL bounces too high, for example, when the ball BL exceeds the height of the head of the character CH, the hit position is moved so that the ball BL is lowered.
一方、ボールBLの高さがキャラクタCHの身長に対して低すぎるために座標範囲HR内に入らない場合には、ボールBLの座標YHが大きくなるようにヒット位置HPを軌道上で移動させる。即ち、ボールBLのバウンドが低すぎて、例えば2バウンドになってしまうような場合には、ボールBLの高さが高くなるようにヒット位置を移動する。 On the other hand, when the height of the ball BL is too low with respect to the height of the character CH and does not fall within the coordinate range HR, the hit position HP is moved on the trajectory so that the coordinate YH of the ball BL increases. That is, when the bounce of the ball BL is too low and, for example, it becomes 2 bounces, the hit position is moved so that the height of the ball BL is increased.
この場合にヒット位置の検索は図3の軌道データを用いて行うことが望ましい。即ち軌道データの複数の軌道ポイントの中から、ボールBLの高さが最適の範囲内になる軌道ポイントを検索することで、最終的なヒット位置を求める。 In this case, it is desirable to search for the hit position using the trajectory data of FIG. That is, the final hit position is obtained by searching for a trajectory point where the height of the ball BL is within the optimum range from a plurality of trajectory points of the trajectory data.
なおヒット位置を求める際には、ボールBLの放物線軌道の頂点との位置関係も考慮することが望ましい。即ちボールBLの高さを低くする場合には、頂点から遠ざける方向にヒット位置を移動させ、ボールBLの高さを高くする場合には、頂点に近づく方向にヒット位置を移動させる。また2バウンドしてしまうような場合には、2バウンドをしない位置にヒット位置を移動させる。 In determining the hit position, it is desirable to consider the positional relationship with the apex of the parabolic trajectory of the ball BL. That is, when the height of the ball BL is lowered, the hit position is moved away from the apex, and when the height of the ball BL is increased, the hit position is moved in the direction approaching the apex. In the case of two bounces, the hit position is moved to a position where two bounces are not made.
また判定部116は、キャラクタCHの身体パラメータ(身長)に基づいて、高さ範囲HRを変更することが望ましい。例えば図14(C)では、プレーヤが選択したキャラクタCHの身長が低いため、高さ範囲HRを低い場所に設定したり、高さ範囲HRを狭くする。一方、図14(D)では、キャラクタCHの身長が高いため、高さ範囲HRを高い場所に設定したり、高さ範囲HRを広くする。このようにすることでキャラクタCHの身体パラメータも考慮できるため、よりリアルなヒット位置の演算処理を実現できる。
Further, the
なおこの場合に、高さ範囲HRの変更処理は、各キャラクタCHと高さ範囲HRとを関連づけたテーブルデータなどを用いることで実現できる。即ち各キャラクタのパラメータとして、高さ範囲HRの設定位置や大きさを各キャラクタに関連づけて記憶しておけばよい。 In this case, the changing process of the height range HR can be realized by using table data in which each character CH is associated with the height range HR. That is, as the parameters of each character, the set position and size of the height range HR may be stored in association with each character.
図15(A)〜図16(B)に本実施形態により生成されるゲーム画像の例を示す。図15(A)では相手キャラクタCCがボールBLをショットしている。そして図15(B)では、プレーヤが方向指示キー50と、スライスショットの操作ボタン62を操作して、キャラクタCHの動作指示の先行入力を行っている。
FIG. 15A to FIG. 16B show examples of game images generated by this embodiment. In FIG. 15A, the opponent character CC is shooting the ball BL. In FIG. 15B, the player operates the
この場合にプレーヤは、図15(B)のB1に示すように、短めのショットのボールBLに対して画面手前側の方向を方向指示キー50により指示してしまっている。従って、このままであると、ヒット位置においてボールBLが低くなりすぎてショットできなくなるおそれがある。
In this case, as shown by B1 in FIG. 15B, the player has instructed the direction on the near side of the screen with the
このような場合にも本実施形態によれば、ヒット位置でのボールBLの高さが適正な高さ範囲内に入るように、ヒット位置を補正する再演算処理を行う。これにより図15(B)のB2に示すように、B1に示す方向よりも画面奥側の方向にキャラクタCHが移動するようになり、ショット条件が満たされるようになる。そして図16(A)、図16(B)に示すように、ボールBLが2バウンドになる前にキャラクタCHが適正にボールBLをショットする画像を生成できる。 Even in such a case, according to the present embodiment, the recalculation process for correcting the hit position is performed so that the height of the ball BL at the hit position falls within an appropriate height range. As a result, as indicated by B2 in FIG. 15B, the character CH moves in the direction toward the back of the screen relative to the direction indicated by B1, and the shot condition is satisfied. Then, as shown in FIGS. 16A and 16B, it is possible to generate an image in which the character CH appropriately shots the ball BL before the ball BL becomes two bounds.
またこの場合に本実施形態では先行入力システムを用いているため、図15(B)の先行入力のタイミングから図16(B)のショットタイミングまでの一連の動作を、1つのモーションデータを用いて再生できる。従って、これまでにないリアルで高品質なモーション表現が可能になる。 In this case, since the preceding input system is used in this embodiment, a series of operations from the timing of the preceding input in FIG. 15B to the shot timing in FIG. 16B are performed using one motion data. Can play. Therefore, real and high-quality motion expression that has never been possible can be realized.
なお図14(A)〜図16(B)ではボールBLの高さ方向でのヒット位置の補正処理について説明したが、本実施形態の手法はこれに限定されない。例えばサッカーでボールをキックする場合においては、横方向でのヒット位置の補正処理を行ってもよい。 Although FIG. 14A to FIG. 16B have described the correction processing of the hit position in the height direction of the ball BL, the method of the present embodiment is not limited to this. For example, when kicking a ball in soccer, the hit position correction process in the horizontal direction may be performed.
また図17(A)では、判定部116は、ヒット位置HP1へのボールBLの到達時間tr(到達フレーム数)を求める。例えば図3の軌道データにおいて、キャラクタCHの軌道とボールBLの軌道の交点に対応するボール位置を選択した場合には、そのボール位置のフレーム数を到達時間trとして求めることができる。
In FIG. 17A, the
そして図17(B)に示すように、判定部116は、この到達時間tr内にキャラクタCHがヒット位置HP1に到達できないと判断した場合に、ヒット位置HPがショット条件(捕捉条件)を満たす位置ではないと判定する。
Then, as shown in FIG. 17B, when the
具体的には例えばキャラクタCHの移動速度(最大速度)に基づいて、到達時間tr内でのキャラクタCHの移動距離を求める。そして、求められた移動距離では、ヒット位置HP1に到達できないと判断した場合に、ショット条件が満たされないと判断する。 Specifically, for example, the moving distance of the character CH within the arrival time tr is obtained based on the moving speed (maximum speed) of the character CH. When it is determined that the hit position HP1 cannot be reached with the obtained movement distance, it is determined that the shot condition is not satisfied.
或いはキャラクタCHのモーションにおけるボールBLのショットタイミング(捕捉タイミング)が、到達時間trよりも遅いタイミングである場合に、ヒット位置HP1がショット条件を満たす位置ではないと判定してもよい。即ち図17(A)の先行入力での動作指示データに基づいて、キャラクタCHの大まかなモーションを特定する。そして図7に示すようなモーションパラメータにより、特定されたモーションのショットフレーム数(最大ショットフレーム数)を取得する。そしてそのショットフレーム数で特定されたショットタイミングが、到達時間trよりも遅いタイミングであるか否かを判断する。即ち、例えばショットフレーム数の方が到達フレーム数よりも大幅に大きい場合には、ショットタイミングが間に合わなくなるため、ショット条件が満たされないと判断する。 Alternatively, when the shot timing (capture timing) of the ball BL in the motion of the character CH is a timing later than the arrival time tr, it may be determined that the hit position HP1 is not a position that satisfies the shot condition. That is, the rough motion of the character CH is specified based on the motion instruction data at the prior input in FIG. Then, the number of shot frames (maximum number of shot frames) of the specified motion is acquired using the motion parameters as shown in FIG. Then, it is determined whether or not the shot timing specified by the number of shot frames is later than the arrival time tr. That is, for example, when the number of shot frames is significantly larger than the number of reached frames, the shot timing is not in time, so it is determined that the shot condition is not satisfied.
そして、このようにヒット位置HP1がショット条件を満たさない位置であると判定された場合には、ヒット位置演算部114は、図17(C)に示すように、再演算処理として、ヒット位置HP1を、到達時間tr内にキャラクタCHが到達できる位置HP2に移動する処理を行う。具体的にはボールBLの軌道上において、到達時間tr内にキャラクタCHが到達できる位置が存在しないかを求める。例えば図3の軌道データのボール位置の中から、到達時間tr内にキャラクタCHが到達できるボール位置を検索する。そして最終的なヒット位置HP2が求められると、キャラクタCHをヒット位置HP2の方向に移動させる。
When it is determined that the hit position HP1 does not satisfy the shot condition as described above, the hit
この際に図17(C)に示すように、キャラクタCHによるボールBLのショット(捕捉)の準備動作(テイクバック動作等)及び準備動作に続くショット動作(捕捉動作)を再生するためのモーションデータを、最終的に求められたヒット位置HP2に基づき特定して再生する。即ち準備動作及びショット動作のモーションが一体となったモーションデータを再生する。このようにすれば、準備動作のモーションとショット動作のモーションが滑らかに繋がるようになり、リアルでスムーズなモーション再生を実現できる。 At this time, as shown in FIG. 17C, motion data for reproducing the shot operation (capture operation) of the ball BL by the character CH and the shot operation (capture operation) following the preparation operation are reproduced. Are identified and reproduced based on the finally obtained hit position HP2. That is, motion data in which the motions of the preparation operation and the shot operation are integrated is reproduced. In this way, the motion of the preparation operation and the motion of the shot operation are smoothly connected, and real and smooth motion reproduction can be realized.
また、この場合のモーションデータの選択は、最終的に求められたヒット位置HP2へのボールBLの到達時間trと、先行入力の動作指示データとに基づいて行うことができる。例えば図17(A)の先行入力の動作指示に基づいてトップスピンショットが選択された場合には、予め用意された複数のトップスピンショット用のモーションデータの中から、その再生時間が到達時間trに一致又は近いモーションデータを選択して再生する。この場合に、例えば再生時間に比べて到達時間trが長かったり短かったりした場合には、後述するようにモーションの再生速度の変更処理を行うことで、その調整を行う。 Also, the selection of motion data in this case can be performed based on the arrival time tr of the ball BL to the hit position HP2 finally obtained and the operation instruction data of the preceding input. For example, when the top spin shot is selected based on the operation instruction of the prior input in FIG. 17A, the reproduction time is the arrival time tr from a plurality of motion data for the top spin shot prepared in advance. Select and play motion data that matches or is close to. In this case, for example, when the arrival time tr is longer or shorter than the playback time, the adjustment is performed by changing the playback speed of the motion as described later.
以上のようにすれば、プレーヤが指示したキャラクタCHの移動方向(CHからHP1への方向)が、ショット条件を満たす位置の方向(CHからHP2への方向)からずれていた場合にも、その方向のずれを適正に補正できる。そしてキャラクタCHがボールBLを適正にショットするゲーム画像を生成でき、先行入力システムにおいて好適なユーザの操作アシスト機能を実現できる。 In this way, even when the moving direction of the character CH instructed by the player (the direction from CH to HP1) deviates from the direction of the position that satisfies the shot condition (the direction from CH to HP2), The deviation of direction can be corrected appropriately. A game image in which the character CH appropriately shots the ball BL can be generated, and a suitable user operation assist function can be realized in the preceding input system.
2.4 再生速度の変更
先行入力システムではプレーヤの先行入力のタイミングに応じてボールの到達時間が変化する。そして、このような到達時間の変化の全てに対応できるように多数のモーションデータを用意しようとすると、モーションデータ記憶部173の記憶容量を圧迫する。
2.4 Change of playback speed In the preceding input system, the arrival time of the ball changes according to the timing of the player's preceding input. If a large number of motion data is prepared so as to be able to cope with all such changes in arrival time, the storage capacity of the motion
そこで本実施形態ではボールの到達時間(キャラクタの移動距離)の長さに応じてモーションの再生速度を変更する手法を採用している。即ちボールの到達時間よりもキャラクタのモーションの再生時間の方が長ければ、モーションの早送り再生を行い、短ければスロー再生を行う。このようにすれば、プレーヤの先行入力のタイミングに応じてボールの到達時間が変動しても、比較的少ないデータ量のモーションデータでこれに対応できるようになる。 Therefore, in this embodiment, a technique is adopted in which the motion playback speed is changed in accordance with the length of the ball arrival time (character movement distance). That is, if the character motion playback time is longer than the ball arrival time, the motion fast-forward playback is performed, and if the character motion playback time is shorter, the slow motion playback is performed. In this way, even if the arrival time of the ball fluctuates in accordance with the player's prior input timing, it becomes possible to handle this with a relatively small amount of motion data.
しかしながら、このような再生速度の変更処理を行うとキャラクタの足が滑って見える現象が生じることが判明した。即ちモーションデータにおいて想定されているキャラクタの移動距離と、コート等のゲームフィールド上でのキャラクタの実際の移動距離とが異なると、足が滑って見えるようになってしまう。特に本実施形態の先行入力システムは、キャラクタのショット動作を、従来のシステムに比べて再生時間が長い1つのモーションデータを用いて再生することで、スムーズで高品質なモーション表現を実現している。従って、このような足滑り現象が目立ってしまうと、スムーズで高品質なモーション表現を実現した意味が損なわれてしまうという課題がある。 However, it has been found that when the reproduction speed changing process is performed, a phenomenon in which the character's feet appear to slide is caused. That is, if the moving distance of the character assumed in the motion data is different from the actual moving distance of the character on the game field such as a court, the foot will appear to slip. In particular, the preceding input system of this embodiment realizes smooth and high-quality motion expression by reproducing a character's shot motion using one motion data having a longer playback time than the conventional system. . Therefore, if such a foot slip phenomenon becomes conspicuous, there is a problem that the meaning of realizing a smooth and high-quality motion expression is impaired.
このような課題を解決するために、本実施形態では、キャラクタのモーションの再生期間を第1、第2の期間に区画し、第1、第2の期間での再生速度を変更度合い(変更倍率)を異ならせる手法を採用している。 In order to solve such a problem, in this embodiment, the character motion playback period is divided into first and second periods, and the playback speeds in the first and second periods are changed (change magnification). ) Is adopted.
具体的には図18(A)に示すように、モーション再生期間を、先行入力のタイミングから第1のタイミングTM1までの期間である第1の期間T1と、第1のタイミングTM1からキャラクタとボールのヒットイベントが発生するタイミングまでの期間である第2の期間T2に区画する。そして第1の期間T1での第1の再生速度RS1の変更度合いを、第2の期間T2での第2の再生速度RS2の変更度合いに比べて大きくする。即ち、ボールの到達時間とモーション再生時間とが一致しないため再生速度を変更しなければならない場合には、期間T1の方の再生速度を期間T2に比べて大きく変更する。そして、期間T1の方で再生速度の変更分の多くを吸収して、再生速度の変更の影響が期間T2の方になるべく及ばないようにする。 Specifically, as shown in FIG. 18A, the motion playback period is divided into a first period T1, which is a period from the timing of the preceding input to the first timing TM1, and from the first timing TM1 to the character and the ball. This is divided into a second period T2, which is a period until the timing of occurrence of the hit event. Then, the degree of change in the first reproduction speed RS1 in the first period T1 is set larger than the degree of change in the second reproduction speed RS2 in the second period T2. That is, when the playback speed has to be changed because the ball arrival time does not match the motion playback time, the playback speed in the period T1 is largely changed compared to the period T2. Then, much of the change in the reproduction speed is absorbed in the period T1, so that the influence of the change in the reproduction speed is as small as possible in the period T2.
ここで、タイミングTM1は、足滑り防止の開始タイミングとして例えばモーション毎に設定されるタイミングである。例えば図15(A)、図15(B)のようなショット動作の前半期間においてキャラクタCHの足滑り現象が生じても、それほど目立たない。しかしながら、図16(A)、図16(B)のようなショット動作の後半期間において足滑り現象が生じると、プレーヤに気づかれてしまい、仮想現実感を低下させるおそれがある。 Here, the timing TM1 is a timing set for each motion, for example, as a start timing of foot slip prevention. For example, even if the foot slip phenomenon of the character CH occurs in the first half period of the shot motion as shown in FIGS. 15A and 15B, it is not so noticeable. However, if a foot slip phenomenon occurs in the latter half of the shot operation as shown in FIGS. 16A and 16B, the player will notice it and there is a risk that the virtual reality will be reduced.
即ち、一般的に、ショット動作の前半期間ではキャラクタCHの移動速度が速いため、足が滑っていてもそれほど目立たない。一方、ショットの後半期間ではキャラクタCHの移動速度が遅くなるため、足が滑ると目立ってしまい、プレーヤに気づかれてしまう。 That is, generally, since the moving speed of the character CH is high in the first half of the shot motion, it is not so noticeable even if the foot slips. On the other hand, since the moving speed of the character CH becomes slow in the second half of the shot, it becomes noticeable when the foot slips and is noticed by the player.
そこで、この場合には例えば図16(A)のタイミングが足滑り防止開始タイミングTM1に設定される。そして足滑り防止期間T2では、なるべく足滑りが目立たないように、期間T1に比べて再生速度の変更を最小限に抑える。このようにすることで、モーション再生速度の変更処理を行った場合に、足滑りの発生により画像の品質が低下してしまう事態を防止できる。 Therefore, in this case, for example, the timing of FIG. 16A is set to the foot slip prevention start timing TM1. In the foot slip prevention period T2, the change in the reproduction speed is minimized as compared with the period T1 so that the foot slip is as inconspicuous as possible. In this way, when the motion playback speed changing process is performed, it is possible to prevent a situation in which the image quality is degraded due to the occurrence of foot slip.
具体的には図19や図6に示すように、モーションデータ記憶部173では、期間T1、T2を区間するフレームを特定するための区画フレームのデータが、各モーションに関連づけて記憶されている。例えば図19では、モーション1(モーションファイル1)に関連づけられた区画フレームDF1により、モーション1のタイミングTM1が特定され、モーション2(モーションファイル2)に関連づけられた区画フレームDF2により、モーション2のタイミングTM1が特定される。また例えば図6の「正面ボール用ショット1」では、区画フレームである32フレームが、足滑り防止開始フレームに設定される。そして32フレームから、ショットタイミングのフレームである41フレームまでは、足滑り防止期間に設定され、再生速度の変更が最小限に抑えられる。同様に、図6の「ステップからの通常ショット1」では、15フレームが足滑り防止開始フレームに設定される。そして15フレームからショットフレームである24フレームまでが、足滑り防止期間に設定され、再生速度の変更が最小限に抑えられる。
Specifically, as shown in FIGS. 19 and 6, the motion
この場合に、図18(B)に示すように、ヒット位置へのボール(移動体)の到達時間trと、モーションの再生時間tmとにより、期間T1での再生速度RS1の変更倍率である第1の変更倍率m1が設定され、期間T2での再生速度RS2の変更倍率である第2の変更倍率m2が設定される。即ち再生時間tmの方が到達時間trよりも長い場合には、早送り再生が必要になるため、変更倍率m1、m2を1以上の値に設定して、モーション再生速度を速くする。一方、再生時間tmの方が到達時間trよりも短い場合には、スロー再生が必要になるため、変更倍率m1、m2を1以下の値に設定して、モーション再生速度を遅くする。 In this case, as shown in FIG. 18B, the change rate of the reproduction speed RS1 in the period T1 is calculated based on the arrival time tr of the ball (moving body) at the hit position and the motion reproduction time tm. A change magnification m1 of 1 is set, and a second change magnification m2 that is a change magnification of the reproduction speed RS2 in the period T2 is set. That is, when the playback time tm is longer than the arrival time tr, fast-forward playback is required, so the change magnifications m1 and m2 are set to a value of 1 or more to increase the motion playback speed. On the other hand, when the playback time tm is shorter than the arrival time tr, slow playback is required, so the change magnifications m1 and m2 are set to a value of 1 or less to slow down the motion playback speed.
具体的には図20(A)、図20(B)に示すように、期間T2での再生速度の変更倍率m2を1倍に設定したときの期間T1での再生速度の変更倍率m1を求める。 Specifically, as shown in FIGS. 20A and 20B, the reproduction speed change magnification m1 in the period T1 when the reproduction speed change magnification m2 in the period T2 is set to 1 is obtained. .
例えば図20(A)では、再生時間tmの方が到達時間trよりも長いため、早送り再生が必要になっている。従ってこの場合には、期間T1での再生速度RS1の変更倍率m1を1よりも大きな値に設定して、早送りによる再生速度の変更分を、期間T1側だけで吸収し、期間T2側には及ばないようにする。このようにすれば、タイミングTM1以降の期間T2では再生速度が変更されないようになるため、早送りによる足滑り現象の発生を防止できる。 For example, in FIG. 20A, since the reproduction time tm is longer than the arrival time tr, fast-forward reproduction is necessary. Therefore, in this case, the change rate m1 of the reproduction speed RS1 in the period T1 is set to a value larger than 1, and the change in the reproduction speed due to fast-forwarding is absorbed only in the period T1 side, Do not reach. In this way, the playback speed is not changed in the period T2 after the timing TM1, so that it is possible to prevent the occurrence of a foot slip phenomenon due to fast-forwarding.
一方、図20(B)では、再生時間tmの方が到達時間trより短いため、スロー再生が必要になっている。従ってこの場合には、変更倍率m1を1よりも小さな値に設定して、スロー再生による再生速度の変更分を、期間T1側だけで吸収し、期間T2側には及ばないようにする。これにより、スロー再生による足滑り現象の発生を防止できる。 On the other hand, in FIG. 20B, since the playback time tm is shorter than the arrival time tr, slow playback is required. Therefore, in this case, the change magnification m1 is set to a value smaller than 1 so that the change in the reproduction speed due to the slow reproduction is absorbed only on the period T1 side and not on the period T2 side. As a result, the occurrence of a foot slip phenomenon due to slow playback can be prevented.
このように図20(A)、図20(B)では、期間T2での変更倍率m2を1倍のままにしながら、期間T1での変更倍率m1だけを変更している。このようにすれば、プレーヤにとって目立つ期間である期間T2での足滑り現象は防止できるが、変更倍率m1を大きくしすぎたり、小さくしすぎると、期間T1とT2の間の再生速度の差が目立ってしまい、プレーヤが不自然さを感じるおそれがある。 As described above, in FIGS. 20A and 20B, only the change magnification m1 in the period T1 is changed while the change magnification m2 in the period T2 is kept at 1. In this way, the foot slip phenomenon in the period T2, which is a conspicuous period for the player, can be prevented, but if the change magnification m1 is made too large or too small, the difference in the reproduction speed between the periods T1 and T2 will be caused. It may stand out and the player may feel unnatural.
そこで本実施形態では図21(A)に示すように、変更倍率m2を1倍に設定したときの変更倍率m1が、第1のしきい値mthよりも大きいか否かを判断する。そして大きい場合(m1>mth)には、変更倍率m1を小さくすると共に変更倍率m2を大きくする。即ち、m2が1倍の時の期間T1での変更倍率をm1とした場合に、期間T1での変更倍率をm1’<m1に設定し、期間T2での変更倍率をm2’>m2=1に設定する。 Therefore, in this embodiment, as shown in FIG. 21A, it is determined whether or not the change magnification m1 when the change magnification m2 is set to 1 is larger than the first threshold value mth. If it is large (m1> mth), the change magnification m1 is decreased and the change magnification m2 is increased. That is, when the change magnification in the period T1 when m2 is 1 is m1, the change magnification in the period T1 is set to m1 ′ <m1, and the change magnification in the period T2 is m2 ′> m2 = 1. Set to.
なお、この場合にm1’>m2’の関係が成り立つようにする。即ち変更倍率m2を1倍に設定したときの変更倍率m1が、例えばm1=1.4というように大きくなりすぎたとする。この場合には、例えばm1’=1.3(<m1=1.4)に設定すると共にm2’=1.1(>m2=1)に設定するというように、再生速度の変更分を、期間T1側のみならず期間T2側にも分担させて、再生速度を平均化する。 In this case, the relationship of m1 ′> m2 ′ is established. That is, it is assumed that the change magnification m1 when the change magnification m2 is set to 1 is too large, for example, m1 = 1.4. In this case, for example, the change in the playback speed is set such that m1 ′ = 1.3 (<m1 = 1.4) and m2 ′ = 1.1 (> m2 = 1). The reproduction speed is averaged not only for the period T1 but also for the period T2.
また図21(B)に示すように、変更倍率m2を1倍に設定したときの変更倍率m1が、第2のしきい値mtlよりも小さい場合には、変更倍率m1の方を大きくすると共に変更倍率m2の方を小さくする。即ちm2=1の時の期間T1での変更倍率をm1とした場合に、期間T1での変更倍率をm1’>m1に設定し、期間T2での変更倍率をm2’<m2=1に設定する。 As shown in FIG. 21B, when the change magnification m1 when the change magnification m2 is set to 1 is smaller than the second threshold value mtl, the change magnification m1 is increased. The change magnification m2 is reduced. That is, when the change magnification in the period T1 when m2 = 1 is m1, the change magnification in the period T1 is set to m1 ′> m1, and the change magnification in the period T2 is set to m2 ′ <m2 = 1. To do.
なお、この場合にm1’<m2’の関係が成り立つようにする。即ち変更倍率m2を1倍に設定したときの変更倍率m1が、例えばm1=0.6というように小さくなりすぎたとする。この場合には、例えばm1’=0.7(>m1=0.6)に設定すると共にm2’=0.9(<m2=1)に設定するというように、再生速度の変更分を、期間T1側のみならず期間T2側にも分担させて、再生速度を平均化する。 In this case, the relationship of m1 ′ <m2 ′ is established. That is, it is assumed that the change magnification m1 when the change magnification m2 is set to 1 is too small, for example, m1 = 0.6. In this case, for example, the change in the playback speed is set such that m1 ′ = 0.7 (> m1 = 0.6) and m2 ′ = 0.9 (<m2 = 1). The reproduction speed is averaged not only for the period T1 but also for the period T2.
図21(A)、図21(B)に示す手法によれば、期間T2での足滑りの度合いを小さくできると共に、期間T1とT2での再生速度の差が大きくなって目立ってしまう事態も防止できる。 According to the methods shown in FIGS. 21A and 21B, the degree of foot slip in the period T2 can be reduced, and the difference between the reproduction speeds in the periods T1 and T2 increases and becomes noticeable. Can be prevented.
図22、図23に再生速度の変更処理を説明するためのフローチャートを示す。 22 and 23 are flowcharts for explaining the playback speed changing process.
まずヒット位置(ショット位置)までのボールの到達時間trを求める(ステップS21)。そして先行入力の動作指示データ、到達時間tr等に基づいてモーションを選択する(ステップS22)。例えば先行入力によりトップスピン動作が指示された場合には、複数のトップスピンモーションの中から、その再生時間tmの長さが到達時間trの長さに近いモーションを選択する。 First, the arrival time tr of the ball to the hit position (shot position) is obtained (step S21). Then, a motion is selected based on the operation instruction data of the preceding input, the arrival time tr, etc. (step S22). For example, when a top spin operation is instructed by a prior input, a motion whose playback time tm is close to the arrival time tr is selected from a plurality of top spin motions.
次に、選択されたモーションは、再生速度を変更するモーション(第1のモーション)か否かを判断する(ステップS23)。例えば「スマッシュ」、「空振り」、「瞬時に打ち返すボレー」、「前方へ移動しながらのショット」などのモーション(第2のモーション)については、本実施形態では再生速度の変更処理を行わない。これらのモーションでは、再生速度の変更の必要性自体がなかったり、再生速度を変更すると不自然になるからである。 Next, it is determined whether or not the selected motion is a motion for changing the playback speed (first motion) (step S23). For example, for the motion (second motion) such as “smash”, “missing”, “volley that returns instantly”, and “shot while moving forward”, the playback speed is not changed in this embodiment. This is because in these motions, there is no need to change the playback speed itself, or it becomes unnatural if the playback speed is changed.
図22のステップS23において、選択されたモーションが再生速度を変更しないモーション(第2のモーション)であると判断された場合には、そのモーションの再生時間tmを取得する(ステップS24)。即ち、各モーションに関連づけて記憶される再生フレーム数(総フレーム数)を、再生時間tmとして取得する。そして再生時間tmがボールの到達時間trよりも長いか否かを判断する(ステップS25)。 If it is determined in step S23 of FIG. 22 that the selected motion is a motion that does not change the playback speed (second motion), the playback time tm of the motion is acquired (step S24). That is, the number of playback frames (total number of frames) stored in association with each motion is acquired as the playback time tm. Then, it is determined whether or not the reproduction time tm is longer than the ball arrival time tr (step S25).
そしてtm>trである場合には、モーションを途中から再生する(ステップS26)。即ちモーションの前半部分を再生せずに、後半部分だけを再生する。なおこの場合に、途中再生前にキャラクタが行っていたモーションと、途中再生モーション(途中再生を開始するフレームのモーション)とのモーションブレンド処理を行い、モーションが滑らかに変化するように見えるようにする。 If tm> tr, the motion is reproduced from the middle (step S26). That is, only the latter half part is reproduced without reproducing the first half part of the motion. In this case, the motion blending process of the motion that the character was performing before the midway playback and the midway playback motion (the motion of the frame that starts the midway playback) is performed so that the motion appears to change smoothly. .
一方、tm>trではない場合には、待機モーションなどの他のモーション再生を行った後に、モーションを再生する(ステップS27)。即ち、構えのモーションや普通に走っているモーションなどの他のモーションの再生を取りあえず行っておいて、残りの再生時間が到達時間trに一致したと判断された場合に、ステップS22で選択されたモーションの再生を開始する。 On the other hand, if tm> tr is not satisfied, the motion is reproduced after performing another motion reproduction such as a standby motion (step S27). In other words, when other motions such as a ready motion and a normal running motion are being played back for the time being, and it is determined that the remaining playback time matches the arrival time tr, it is selected in step S22. Starts motion playback.
このように本実施形態では、モーションデータ記憶部173は、モーションの再生速度が変更される第1のモーションと、モーションの再生速度が変更されない第2のモーション(例えばスマッシュ、空振り、ボレー)のデータを記憶する。そして再生速度変更部113は、図22のステップS23や図23の処理に示すように、先行入力によるキャラクタの動作指示に基づいて第1のモーション(第1のモーション群)が選択された場合に、再生速度変更処理を行う。
As described above, in the present embodiment, the motion
一方、ステップS23、S24に示すように、モーション再生部112は、先行入力によるキャラクタの動作指示に基づいて第2のモーション(第2のモーション群)が選択された場合には、第2のモーションの再生時間を取得する。そしてステップS25、S26に示すように、再生時間tmが、ヒット位置へのボールの到達時間trよりも長い場合には、第2のモーションの途中からモーション再生を開始する。一方、再生時間tmが到達時間trよりも短い場合には、待機モーション等の他のモーション再生を行った後に第2のモーションの再生を開始する。
On the other hand, as shown in steps S23 and S24, when the second motion (second motion group) is selected based on the character motion instruction by the prior input, the
このようにすれば、再生速度変更処理が必要な第1のモーションと再生速度変更処理が必要ではない第2のモーションをカテゴリ分けして処理することができるため、処理の効率化を図れる。 In this way, the first motion that requires the playback speed change process and the second motion that does not require the playback speed change process can be categorized and processed, so that the processing efficiency can be improved.
図22のステップS23において、選択されたモーションが再生速度変更処理が必要なモーションであると判断された場合には、そのモーション(第1のモーション)の再生時間tmを取得する(ステップS31)。また、ショット前の足滑り防止期間T2の時間t2を取得する(ステップS32)。即ち図18(A)等の期間T2の長さ(フレーム数)を取得する。これは例えば図3の軌道データのフレーム数から求めることができる。 If it is determined in step S23 of FIG. 22 that the selected motion is a motion that requires a playback speed change process, the playback time tm of the motion (first motion) is acquired (step S31). Further, a time t2 of the foot slip prevention period T2 before the shot is acquired (step S32). That is, the length (number of frames) of the period T2 shown in FIG. This can be obtained, for example, from the number of frames of the trajectory data in FIG.
次に、tr<t2か否かを判断する(ステップS33)。そしてtr<t2である場合には、ショットのインパクトに合わせて、そのままモーションを再生する(ステップS42)。即ち再生速度の変更処理を行うことなくモーションを再生する。 Next, it is determined whether tr <t2 (step S33). If tr <t2, the motion is reproduced as it is in accordance with the impact of the shot (step S42). That is, the motion is reproduced without performing the reproduction speed changing process.
このように本実施形態では、モーション再生部112は、ヒット位置へのボール(移動体)の到達時間trが、期間T2の時間t2よりも短い場合には、再生速度変更処理を行うことなくキャラクタCHのモーションを再生している。
As described above, in the present embodiment, when the arrival time tr of the ball (moving body) at the hit position is shorter than the time t2 of the period T2, the
一方、tr<t2ではない場合には、到達時間tr内でのキャラクタCHのゲームフィールド上(コート)での移動距離LCHを取得する(ステップS34)。また足滑り防止期間T2におけるキャラクタCHのモーションでの移動距離L2を取得する(ステップS35)。これら移動距離LCH、L2は、例えば到達時間tr、時間t2や、キャラクタCHの移動速度や、モーションの再生時間などに基づいて求めることができる。 On the other hand, if tr <t2, the movement distance LCH of the character CH on the game field (court) within the arrival time tr is acquired (step S34). Further, the movement distance L2 in the motion of the character CH in the foot slip prevention period T2 is acquired (step S35). These movement distances LCH and L2 can be obtained based on, for example, the arrival time tr and time t2, the moving speed of the character CH, the playback time of motion, and the like.
次に、LCH<L2か否かを判断する(ステップS36)。そしてLCH<L2である場合には、ショットのインパクトに合わせて、そのままモーションを再生する(ステップS42)。 Next, it is determined whether LCH <L2 (step S36). If LCH <L2, the motion is reproduced as it is in accordance with the impact of the shot (step S42).
このように本実施形態では、モーション再生部112は、到達時間tr内でのキャラクタCHのゲームフィールド上での移動距離LCHが、期間T2でのキャラクタCLのモーションでの移動距離L2よりも短い場合には、再生速度変更処理を行うことなくキャラクタCHのモーションを再生している。
As described above, in the present embodiment, the
一方、LCH<L2ではない場合には、図20(A)、図20(B)で説明したように、期間T2での再生速度の変更倍率m2を1倍に設定した場合の、期間T1での再生速度の変更倍率m1を求める(ステップS37)。 On the other hand, if LCH <L2 is not satisfied, as described in FIGS. 20A and 20B, the period T1 when the reproduction speed change magnification m2 in the period T2 is set to 1 is used. The reproduction speed change magnification m1 is obtained (step S37).
次に、m1>mthか否かを判断する(ステップS38)。即ち、変更倍率m1により設定される期間T1でのモーション再生速度RS1が速すぎないか否かを判断する。そしてm1>mthである場合には、図21(A)で説明したように、変更倍率m1を小さくする(遅くする)と共に、変更倍率m2を大きくして(速くして)、全体の再生速度を平均化する(ステップS39)。 Next, it is determined whether m1> mth (step S38). That is, it is determined whether or not the motion playback speed RS1 in the period T1 set by the change magnification m1 is too fast. If m1> mth, as described with reference to FIG. 21A, the change magnification m1 is reduced (slowed down) and the change magnification m2 is increased (fastened), so that the overall reproduction speed is increased. Are averaged (step S39).
次に、m1<mtlか否かを判断する(ステップS40)。即ち、変更倍率m1により設定される期間T1でのモーション再生速度RS1が遅すぎないか否かを判断する。そしてm1<mtlである場合には、図21(B)で説明したように、変更倍率m1を大きくする(速くする)と共に、変更倍率m2を小さくして(遅くして)、全体の再生速度を平均化する(ステップS41)。 Next, it is determined whether m1 <mtl (step S40). That is, it is determined whether or not the motion playback speed RS1 in the period T1 set by the change magnification m1 is too slow. If m1 <mtl, as described with reference to FIG. 21B, the change magnification m1 is increased (fastened) and the change magnification m2 is decreased (slowed down), so that the overall reproduction speed is increased. Are averaged (step S41).
3.ハードウェア構成
図24(A)に本実施形態を実現できるハードウェアの構成例を示す。
3. Hardware Configuration FIG. 24A shows a hardware configuration example that can realize the present embodiment.
CPU900(メインプロセッサ)は、複数のCPUコア1、CPUコア2、CPUコア3を含むマルチコアプロセッサである。またCPU900は図示しないキャッシュメモリを含む。CPUコア1、2、3の各々にはベクタ演算器等が設けられている。そしてCPUコア1、2、3の各々は、例えば2つのH/Wスレッド処理をコンテクストスイッチをすることなしに並列実行でき、マルチスレッド機能がハードウェアでサポートされている。そして3つのCPUコア1、2、3の合計で、6つのH/Wスレッド処理を並列実行できる。
The CPU 900 (main processor) is a multi-core processor including a plurality of
GPU910(描画プロセッサ)は、頂点処理やピクセル処理を行って、描画(レンダリング)処理を実現する。具体的には、シェーダプログラムに従って、頂点データの作成・変更やピクセル(フラグメント)の描画色の決定を行う。1フレーム分の画像がVRAM920(フレームバッファ)に書き込まれると、その画像はビデオ出力を介してTVなどのディスプレイに表示される。なおメインメモリ930はCPU900やGPU910のワークメモリとして機能する。またGPU910では、複数の頂点スレッド、複数のピクセルスレッドが並列実行され、描画処理のマルチスレッド機能がハードウェアでサポートされている。またGPU910にはハードウェアのテッセレータも備えられている。またGPU910は、頂点シェーダとピクセルシェーダとがハードウェア的に区別されていないユニファイド・シェーダ・タイプとなっている。
The GPU 910 (drawing processor) performs vertex processing and pixel processing to realize drawing (rendering) processing. Specifically, according to the shader program, the vertex data is created / changed and the drawing color of the pixel (fragment) is determined. When an image for one frame is written into the VRAM 920 (frame buffer), the image is displayed on a display such as a TV via a video output. The
ブリッジ回路940(サウスブリッジ)は、システム内部の情報流通を制御する回路であり、USBコントローラ(シリアルインターフェース)、ネットワークの通信コントローラ、IDEコントローラ、或いはDMAコントローラなどのコントローラを内蔵する。そしてこのブリッジ回路940により、ゲームコントローラ942、メモリーカード944、HDD946、DVDドライブ948との間のインターフェース機能が実現される。
The bridge circuit 940 (south bridge) is a circuit that controls the flow of information inside the system, and incorporates a controller such as a USB controller (serial interface), a network communication controller, an IDE controller, or a DMA controller. The
なお本実施形態を実現できるハードウェア構成は図24(A)に限定されず、例えば図24(B)のような構成であってもよい。 Note that the hardware configuration capable of realizing this embodiment is not limited to FIG. 24A, and may be, for example, a configuration as shown in FIG.
図24(B)ではCPU902が、プロセッサエレメントPPと8つのプロセッサエレメントPE1〜PE8を含む。プロセッサエレメントPPは汎用的なプロセッサコアであり、プロセッサエレメントPE1〜PE8は比較的シンプルな構成のプロセッサコアである。そしてプロセッサエレメントPPとプロセッサエレメントPE1〜PE8のアーキテクチャは異なっており、プロセッサエレメントPE1〜PE8は、複数のデータに対して1命令で同じ処理を同時にできるSIMD型のプロセッサコアとなっている。これによりストリーミング処理などのマルチメディア処理を効率的に実行できる。プロセッサエレメントPPは、2つのH/Wスレッド処理を並列実行でき、プロセッサエレメントPE1〜PE8の各々は、1つのH/Wスレッド処理を実行できる。従って、CPU902では、合計で10個のH/Wスレッド処理の並列実行が可能になる。
In FIG. 24B, the
図24(B)では、GPU912とCPU902の連携が密になっており、GPU912は、CPU902側のメインメモリ930に直接にレンダリング処理を行うことができる。また例えばCPU902がジオメトリ処理を行って、頂点データを転送したり、GPU912からCPU902にデータを戻すことも容易にできる。またCPU902が、レンダリングのプリプロセッシング処理やポストプロセッシング処理を行うことも容易であり、テッセレーション(平面分割)やドットフィルをCPU902が実行できる。例えば抽象度の高い処理はCPU902が行い、抽象度が低い細かな処理はGPU912が行うというような役割分担が可能である。
In FIG. 24B, the
なお本実施形態の各部の処理をハードウェアとプログラムにより実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアであるプロセッサ(CPU、GPU)に処理を指示すると共に、必要であればデータを渡す。そして、プロセッサは、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。 When the processing of each unit of the present embodiment is realized by hardware and a program, a program for causing the hardware (computer) to function as each unit of the present embodiment is stored in the information storage medium. More specifically, the program instructs a processor (CPU, GPU), which is hardware, to pass data if necessary. And a processor implement | achieves the process of each part of this invention based on the instruction | indication and the passed data.
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(移動体、第1、第2、第3の座標等)と共に記載された用語(ボール、X、Y、Z座標等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。 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, in the specification or drawings, terms (ball, X, Y, Z coordinates, etc.) described at least once together with different terms (moving body, first, second, third coordinates, etc.) having a broader meaning or the same meaning May be replaced by the different terms anywhere in the specification or drawings.
また、先行入力処理、ヒット位置の演算処理、ショット条件や捕捉条件の判定処理、モーション再生処理、再生速度の変更処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明はテニスゲーム以外の種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。 In addition, the preceding input process, the hit position calculation process, the shot condition / capture condition determination process, the motion playback process, the playback speed change process, and the like are not limited to those described in the present embodiment, and techniques equivalent to these can also be used. It is included in the scope of the present invention. The present invention can be applied to various games other than tennis 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 game images, and a mobile phone. it can.
100 処理部、102 入力受け付け部、104 オブジェクト空間設定部、
106 ゲーム演算部、108 移動体制御部、110 キャラクタ制御部、
112 モーション再生部、113 再生速度変更部、114 ヒット位置演算部、
116 判定部、118 仮想カメラ制御部、120 画像生成部、130 音生成部、
160 操作部、170 記憶部、171 形状データ記憶部、
172 オブジェクトデータ記憶部、173 モーションデータ記憶部、
174 モーションパラメータ記憶部、175 軌道データ記憶部、
176 ヒット位置記憶部、177 描画バッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 補助記憶装置、196 通信部
100 processing unit, 102 input receiving unit, 104 object space setting unit,
106 game calculation unit, 108 moving body control unit, 110 character control unit,
112 motion playback unit, 113 playback speed change unit, 114 hit position calculation unit,
116 determination unit, 118 virtual camera control unit, 120 image generation unit, 130 sound generation unit,
160 operation unit, 170 storage unit, 171 shape data storage unit,
172 Object data storage unit, 173 Motion data storage unit,
174 Motion parameter storage unit, 175 orbit data storage unit,
176 hit position storage unit, 177 drawing buffer, 180 information storage medium,
190 Display unit, 192 Sound output unit, 194 Auxiliary storage device, 196 Communication unit
Claims (22)
前記キャラクタによりショット又は捕捉される前記移動体の制御処理を行う移動体制御部と、
受け付けられた前記先行入力の操作データに基づいて、前記キャラクタの制御処理を行うキャラクタ制御部と、
前記キャラクタと前記移動体とのヒットイベントが発生する位置であるヒット位置を求めるヒット位置演算部と、
求められたヒット位置が、前記キャラクタによる前記移動体のショット条件又は捕捉条件を満たす位置であるか否かを判定する判定部として、
コンピュータを機能させ、
前記ヒット位置演算部は、
ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではなかった場合には、ヒット位置の再演算処理を行ってヒット位置を移動することを特徴とするプログラム。 An input receiving unit that receives an input prior input when a player performs prior input instructing the movement of the character prior to the timing at which the moving object is shot or captured by the character;
A moving body control unit that performs control processing of the moving body shot or captured by the character;
A character control unit that performs control processing of the character based on the received operation data of the preceding input;
A hit position calculation unit for obtaining a hit position that is a position where a hit event occurs between the character and the moving body;
As a determination unit that determines whether the obtained hit position is a position that satisfies the shot condition or capture condition of the moving object by the character,
Make the computer work,
The hit position calculation unit
When the hit position is not a position satisfying the shot condition or the capturing condition, the hit position is recalculated to move the hit position.
前記ヒット位置演算部は、
前記先行入力のタイミングでの前記キャラクタの位置及び移動方向により特定される軌道と、前記移動体の軌道との交点を求めることで、ヒット位置を求めることを特徴とするプログラム。 In claim 1,
The hit position calculation unit
A program for obtaining a hit position by obtaining an intersection of a trajectory specified by the position and movement direction of the character at the timing of the preceding input and a trajectory of the moving body.
前記ヒット位置演算部は、
前記先行入力のタイミングにおいて既に計算されている前記移動体の軌道データの移動体位置の中から、前記交点に対応する移動体位置を選択することで、ヒット位置を求めることを特徴とするプログラム。 In claim 2,
The hit position calculation unit
A program for obtaining a hit position by selecting a moving body position corresponding to the intersection from the moving body positions of trajectory data of the moving body that has already been calculated at the timing of the preceding input.
前記ヒット位置演算部は、
ヒット位置を移動する処理を、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置になるまで繰り返すことを特徴とするプログラム。 In any one of Claims 1 thru | or 3,
The hit position calculation unit
A program that repeats the process of moving the hit position until the hit position reaches a position that satisfies the shot condition or the capture condition.
前記ヒット位置演算部は、
ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置になるまで、前記移動体の軌道上においてヒット位置を移動することを特徴とするプログラム。 In claim 4,
The hit position calculation unit
A program for moving a hit position on a trajectory of the moving body until the hit position becomes a position satisfying the shot condition or the capture condition.
前記判定部は、
前記キャラクタとヒット位置の間に障害物が存在した場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定することを特徴とするプログラム。 In any one of Claims 1 thru | or 5,
The determination unit
A program characterized in that, when an obstacle exists between the character and a hit position, the hit position is determined not to be a position satisfying the shot condition or the capture condition.
ヒット位置から、前記先行入力のタイミングでの前記移動体の位置へと向かう方向を、第1の方向とした場合に、
前記ヒット位置演算部は、
前記再演算処理として、ヒット位置を前記第1の方向側に移動する処理を行うことを特徴とするプログラム。 In claim 6,
When the direction from the hit position to the position of the moving body at the timing of the preceding input is the first direction,
The hit position calculation unit
As the recalculation process, a program for performing a process of moving a hit position to the first direction side.
前記ヒット位置演算部は、
ヒット位置の第1、第2、第3の座標を求め、
前記判定部は、
ヒット位置での前記移動体の前記第2の座標が所与の座標範囲内にない場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定することを特徴とするプログラム。 In any one of Claims 1 thru | or 7,
The hit position calculation unit
Find the first, second and third coordinates of the hit position,
The determination unit
A program for determining that a hit position is not a position that satisfies the shot condition or the capture condition when the second coordinate of the moving body at the hit position is not within a given coordinate range.
前記第2の座標は高さ方向の座標であり、
前記判定部は、
ヒット位置での前記移動体の高さが所与の高さ範囲内にない場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定することを特徴とするプログラム。 In claim 8,
The second coordinate is a coordinate in the height direction,
The determination unit
A program that determines that a hit position is not a position that satisfies the shot condition or the capture condition when the height of the moving object at the hit position is not within a given height range.
前記判定部は、
前記キャラクタの身体パラメータに基づいて前記座標範囲を変更して判定処理を行うことを特徴とするプログラム。 In claim 8 or 9,
The determination unit
A program for performing determination processing by changing the coordinate range based on a body parameter of the character.
前記ヒット位置演算部は、
前記再演算処理として、前記移動体の前記第2の座標が前記座標範囲内に入るように、前記移動体の軌道上においてヒット位置を移動する処理を行うことを特徴とするプログラム。 In any one of Claims 8 thru | or 10.
The hit position calculation unit
As the recalculation process, a program for performing a process of moving a hit position on a trajectory of the moving body so that the second coordinates of the moving body fall within the coordinate range.
前記判定部は、
ヒット位置への前記移動体の到達時間内に、前記キャラクタがヒット位置に到達できないと判断した場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定することを特徴とするプログラム。 In any one of Claims 1 thru | or 11,
The determination unit
When it is determined that the character cannot reach the hit position within the arrival time of the moving body at the hit position, it is determined that the hit position is not a position that satisfies the shot condition or the capture condition. program.
前記キャラクタのモーションデータを記憶するモーションデータ記憶部と、
前記モーションデータに基づいて前記キャラクタのモーション再生を行うモーション再生部として、
コンピュータを機能させ、
前記モーション再生部は、
前記先行入力が受け付けられた場合に、前記先行入力の動作指示データにより指示される動作を前記キャラクタに行わせるモーション再生を行い、
前記判定部は、
前記キャラクタのモーションにおける前記移動体のショットタイミング又は捕捉タイミングが、前記到達時間よりも遅いタイミングである場合に、ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではないと判定することを特徴とするプログラム。 In claim 12,
A motion data storage unit for storing the motion data of the character;
As a motion playback unit that performs motion playback of the character based on the motion data,
Make the computer work,
The motion playback unit
When the preceding input is received, motion playback is performed to cause the character to perform an action instructed by the action instruction data of the preceding input.
The determination unit
When the shot timing or capture timing of the moving body in the motion of the character is a timing later than the arrival time, it is determined that the hit position is not a position satisfying the shot condition or the capture condition Program to do.
前記ヒット位置演算部は、
前記再演算処理として、ヒット位置を、前記到達時間内に前記キャラクタが到達できる位置に移動する処理を行うことを特徴とするプログラム。 In claim 12 or 13,
The hit position calculation unit
As the recalculation process, a program for performing a process of moving a hit position to a position where the character can reach within the arrival time.
前記キャラクタのモーションデータを記憶するモーションデータ記憶部と、
前記モーションデータに基づいて前記キャラクタのモーション再生を行うモーション再生部として、
コンピュータを機能させ、
前記モーション再生部は、
前記キャラクタによる前記移動体のショット又は捕捉の準備動作及び前記準備動作に続くショット動作又は捕捉動作を再生するためのモーションデータであって、前記再演算処理により最終的に求められたヒット位置に基づき特定されるモーションデータを選択して再生することを特徴とするプログラム。 In any one of Claims 1 thru | or 14.
A motion data storage unit for storing the motion data of the character;
As a motion playback unit that performs motion playback of the character based on the motion data,
Make the computer work,
The motion playback unit
Motion data for reproducing a shot or capture operation of the moving object by the character and a shot operation or capture operation following the preparation operation, based on the hit position finally obtained by the recalculation process A program characterized by selecting and reproducing specified motion data.
前記モーション再生部は、
最終的に求められたヒット位置への前記移動体の到達時間と、前記先行入力の動作指示データとに基づき、モーションデータを選択することを特徴とするプログラム。 In claim 15,
The motion playback unit
A program for selecting motion data on the basis of the arrival time of the moving body at the finally obtained hit position and the operation instruction data of the preceding input.
前記キャラクタのモーションデータを記憶するモーションデータ記憶部と、
前記モーションデータに基づいて前記キャラクタのモーション再生を行うモーション再生部と、
前記キャラクタのモーションの再生速度変更処理を行う再生速度変更部として、
コンピュータを機能させ、
前記再生速度変更部は、
前記先行入力のタイミングから第1のタイミングまでの期間である第1の期間での第1の再生速度の変更度合いを、前記第1のタイミングから前記キャラクタと前記移動体のヒットイベントが発生するタイミングまでの期間である第2の期間での第2の再生速度の変更度合いに比べて大きくする再生速度変更処理を行うことを特徴とするプログラム。 In any one of Claims 1 thru | or 16.
A motion data storage unit for storing the motion data of the character;
A motion playback unit that performs motion playback of the character based on the motion data;
As a playback speed changing unit for performing the playback speed changing process of the motion of the character,
Make the computer work,
The playback speed changing unit
The degree of change in the first reproduction speed in the first period, which is the period from the preceding input timing to the first timing, is the timing at which the hit event between the character and the moving object occurs from the first timing. A program characterized by performing a reproduction speed changing process that is larger than the degree of change of the second reproduction speed in the second period, which is a period up to.
前記再生速度変更部は、
前記ヒットイベントの発生位置であるヒット位置への前記移動体の到達時間と、モーションの再生時間とにより、前記第1の期間での前記第1の再生速度の変更倍率である第1の変更倍率と、前記第2の期間での前記第2の再生速度の変更倍率である第2の変更倍率を設定することを特徴とするプログラム。 In claim 17,
The playback speed changing unit
A first change magnification that is a change magnification of the first reproduction speed in the first period based on the arrival time of the moving body at the hit position where the hit event is generated and the reproduction time of the motion And a second change magnification which is a change magnification of the second reproduction speed in the second period.
前記再生速度変更部は、
前記第2の変更倍率を1倍に設定したときの前記第1の変更倍率を求め、求められた前記第1の変更倍率が第1のしきい値よりも大きい場合には、前記第1の変更倍率を小さくすると共に前記第2の変更倍率を大きくし、求められた前記第1の変更倍率が第2のしきい値よりも小さい場合には、前記第1の変更倍率を大きくすると共に前記第2の変更倍率を小さくすることを特徴とするプログラム。 In claim 18,
The playback speed changing unit
The first change magnification when the second change magnification is set to 1 is obtained, and when the obtained first change magnification is larger than a first threshold value, the first change magnification is calculated. When the change magnification is decreased and the second change magnification is increased, and the obtained first change magnification is smaller than a second threshold value, the first change magnification is increased and the first change magnification is increased. A program for reducing the second change magnification.
前記モーションデータ記憶部は、
前記第1、第2の期間を区画するフレームを特定するための区画フレームのデータを、各モーションに関連づけて記憶し、
前記再生速度変更部は、
前記区画フレームのデータに基づいて前記第1のタイミングを特定して、前記再生速度変更処理を行うことを特徴とするプログラム。 In any of claims 17 to 19,
The motion data storage unit
Storing partition frame data for identifying a frame partitioning the first and second periods in association with each motion;
The playback speed changing unit
A program for specifying the first timing based on data of the partition frame and performing the reproduction speed changing process.
キャラクタにより移動体がショット又は捕捉されるタイミングに先行して、前記キャラクタの動作を指示する先行入力をプレーヤが行った場合に、入力された先行入力を受け付ける入力受け付け部と、
前記キャラクタによりショット又は捕捉される前記移動体の制御処理を行う移動体制御部と、
受け付けられた前記先行入力の操作データに基づいて、前記キャラクタの制御処理を行うキャラクタ制御部と、
前記キャラクタと前記移動体とのヒットイベントが発生する位置であるヒット位置を求めるヒット位置演算部と、
求められたヒット位置が、前記キャラクタによる前記移動体のショット条件又は捕捉条件を満たす位置であるか否かを判定する判定部と、
を含み、
前記ヒット位置演算部は、
ヒット位置が前記ショット条件又は前記捕捉条件を満たす位置ではなかった場合には、ヒット位置の再演算処理を行ってヒット位置を移動することを特徴とする画像生成システム。 An image generation system for generating an image,
An input receiving unit that receives an input prior input when a player performs prior input instructing the movement of the character prior to the timing at which the moving object is shot or captured by the character;
A moving body control unit that performs control processing of the moving body shot or captured by the character;
A character control unit that performs control processing of the character based on the received operation data of the preceding input;
A hit position calculation unit for obtaining a hit position that is a position where a hit event occurs between the character and the moving body;
A determination unit that determines whether the obtained hit position is a position that satisfies a shot condition or a capture condition of the moving object by the character;
Including
The hit position calculation unit
When the hit position is not a position satisfying the shot condition or the capture condition, the hit position is recalculated to move the hit position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007156254A JP5220349B2 (en) | 2007-06-13 | 2007-06-13 | Program, information storage medium, and image generation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007156254A JP5220349B2 (en) | 2007-06-13 | 2007-06-13 | Program, information storage medium, and image generation system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008307165A JP2008307165A (en) | 2008-12-25 |
JP5220349B2 true JP5220349B2 (en) | 2013-06-26 |
Family
ID=40235330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007156254A Active JP5220349B2 (en) | 2007-06-13 | 2007-06-13 | Program, information storage medium, and image generation system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5220349B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5363452B2 (en) * | 2010-11-19 | 2013-12-11 | 株式会社スクウェア・エニックス | GAME DEVICE, GAME PROGRAM, AND INFORMATION STORAGE MEDIUM |
JP5918184B2 (en) * | 2013-09-05 | 2016-05-18 | 株式会社スクウェア・エニックス | Game system and game server |
JP6142034B2 (en) * | 2016-04-07 | 2017-06-07 | 株式会社スクウェア・エニックス | Game system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3594400B2 (en) * | 1996-03-19 | 2004-11-24 | 株式会社ナムコ | Game device |
JP3753350B2 (en) * | 1997-09-17 | 2006-03-08 | 株式会社ナムコ | Information storage medium and image generation apparatus |
JP4801854B2 (en) * | 2001-08-03 | 2011-10-26 | 株式会社バンダイナムコゲームス | Program, information storage medium, and game device |
EP1498161B1 (en) * | 2002-04-24 | 2009-06-03 | SSD Company Limited | Tennis game system |
-
2007
- 2007-06-13 JP JP2007156254A patent/JP5220349B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008307165A (en) | 2008-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8123600B2 (en) | Storage medium storing game program and game apparatus | |
US6947046B2 (en) | Image generation method, program, and information storage medium | |
US20100245365A1 (en) | Image generation system, image generation method, and computer program product | |
US7275986B2 (en) | Method for performing game, information storage medium, game device, data signal and program | |
JP2003126548A (en) | Game device and game system | |
JP2009000383A (en) | Program, information recording medium and image generating system | |
JP4962978B2 (en) | GAME IMAGE DISPLAY CONTROL PROGRAM, GAME DEVICE, AND GAME IMAGE DISPLAY CONTROL METHOD | |
JP2012181616A (en) | Program, information storage medium, game device and server system | |
JP2012101025A (en) | Program, information storage medium, game device, and server system | |
US9827495B2 (en) | Simulation device, simulation method, program, and information storage medium | |
JP5220349B2 (en) | Program, information storage medium, and image generation system | |
JP5220350B2 (en) | Program, information storage medium, and image generation system | |
JP4320352B2 (en) | GAME DEVICE, GAME CONTROL PROGRAM, AND RECORDING MEDIUM CONTAINING THE SAME | |
JP2009131291A (en) | Game device, game control method, game control program, and computer readable recording medium on which the program is recorded | |
JP2010233752A (en) | Program, information storage medium, and image generation system | |
JP3686070B2 (en) | Program, information storage medium, and image generation system | |
JPH10302088A (en) | Image generator and information storage medium | |
JP2010088562A (en) | Game program, match-up game apparatus, and match-up game control method | |
JPH10216357A (en) | Recording medium on which game program having game replay function is recorded | |
JP2010233751A (en) | Program, information storage medium, and image generation system | |
JP4975720B2 (en) | GAME PROGRAM, GAME CONTROL METHOD, AND GAME DEVICE | |
JP2003067773A (en) | Image generation system, program and information storage medium | |
JP2002200348A (en) | Control method for baseball game, storage medium, and game device | |
JP4545545B2 (en) | GAME PROGRAM AND GAME DEVICE | |
JP3686069B2 (en) | Program, information storage medium, and image generation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100521 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130306 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5220349 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |