JP2020035446A - Image processing device, image processing system, and program - Google Patents
Image processing device, image processing system, and program Download PDFInfo
- Publication number
- JP2020035446A JP2020035446A JP2019156369A JP2019156369A JP2020035446A JP 2020035446 A JP2020035446 A JP 2020035446A JP 2019156369 A JP2019156369 A JP 2019156369A JP 2019156369 A JP2019156369 A JP 2019156369A JP 2020035446 A JP2020035446 A JP 2020035446A
- Authority
- JP
- Japan
- Prior art keywords
- character
- motion
- frame
- motion data
- data
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
本発明は、画像処理装置、画像処理システム、及びプログラムに関する。 The present invention relates to an image processing device, an image processing system, and a program.
複数のモーションデータのうちから選択されたモーションデータに基づいて、キャラクタに動作を実行させる画像処理装置(例えばゲーム制御装置等)が知られている。 2. Description of the Related Art There is known an image processing device (for example, a game control device or the like) that causes a character to perform an action based on motion data selected from a plurality of motion data.
第1モーションデータに基づく第1動作を実行中のキャラクタの動作を第2モーションデータに基づく第2動作に切り替える場合、第1動作の実行中のキャラクタの足(フィールドに接地している足)の位置と、第2動作の開始時のキャラクタの上記足の位置(第2モーションデータの先頭フレームにおけるキャラクタの上記足の位置)とがずれていることによって、第1動作から第2動作への動作切替時にキャラクタの足がフィールド(地面又は床等)上で滑っているかのように見えてしまい、ユーザに違和感を与えてしまう場合がある。 In a case where the motion of the character performing the first motion based on the first motion data is switched to the second motion based on the second motion data, the foot of the character performing the first motion (the foot touching the field) An operation from the first operation to the second operation is performed because the position is shifted from the position of the character's foot at the start of the second operation (the position of the character's foot in the first frame of the second motion data). At the time of switching, the character's feet may look as if they are sliding on a field (the ground or the floor), giving the user a sense of discomfort.
このような問題の発生を抑制するための手法としては、第1モーションデータのフレームのうちの、上記のような足の位置ずれが生じないようなフレームを基準フレームとして予め設定しておき、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合には、基準フレームになるまで第1動作をキャラクタに継続させ、基準フレームになったら、先頭フレームから第2モーションデータに基づいてキャラクタに動作を実行させるような手法が考えられる。 As a technique for suppressing the occurrence of such a problem, among the frames of the first motion data, a frame that does not cause the above-described foot displacement is set in advance as a reference frame. When switching the motion of the character performing the first motion to the second motion, the first motion is continued by the character until the reference frame is reached, and when the reference frame is reached, the character is started from the first frame based on the second motion data. There is a method of causing a computer to execute an operation.
しかしながら、ユーザによる第2動作の実行指示操作に応じて、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合、上記手法では、実行指示操作に応じて直ちにキャラクタの動作を切り替えるのではなく、基準フレームになるまで第1動作をキャラクタに継続させ、基準フレームになってからキャラクタの動作を切り替えるため、キャラクタの動作切替が遅れる(すなわち、キャラクタの反応が遅い)との不満をユーザに感じさせてしまう場合がある。 However, in the case where the action of the character performing the first action is switched to the second action in response to the user's execution instruction operation of the second action, the above-described technique switches the action of the character immediately in response to the execution instruction operation. Rather, the first action is continued by the character until the reference frame is reached, and the action of the character is switched after the reference frame, so that the user complains that the switching of the action of the character is delayed (that is, the response of the character is slow). You may feel it.
本発明は上記課題に鑑みてなされたものであって、その目的は、第1モーションデータに基づく第1動作を実行中のキャラクタの動作を第2モーションデータに基づく第2動作に切り替えることを好適に実行することが可能な画像処理装置、画像処理システム、及びプログラムを提供することである。 The present invention has been made in view of the above problem, and has as its object to switch the motion of a character performing a first motion based on first motion data to a second motion based on second motion data. The present invention provides an image processing apparatus, an image processing system, and a program that can be executed on a computer.
上記課題を解決するために、本発明の一態様に係る画像処理装置は、キャラクタに第1動作を実行させるための第1モーションデータを取得する第1取得手段と、前記キャラクタに第2動作を実行させるための第2モーションデータを取得する第2取得手段と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1モーションデータの動作切替時フレームにおける前記キャラクタの特定部位の位置を特定する第1特定手段と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々における前記キャラクタの前記特定部位の位置を特定する第2特定手段と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1特定手段によって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定手段によって特定された前記複数の候補フレームの各々における前記特定部位の位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから前記第2モーションデータに基づいて前記キャラクタに動作を実行させる実行手段と、を含む。 In order to solve the above problem, an image processing device according to an aspect of the present invention includes a first acquisition unit configured to acquire first motion data for causing a character to perform a first operation, and a second operation performed on the character. A second acquisition unit for acquiring second motion data to be executed, and when the motion of the character during the execution of the first motion is switched to the second motion, the motion of the first motion data in the motion switching frame is changed. First specifying means for specifying the position of a specific part of the character; and setting from among the frames of the second motion data when switching the motion of the character performing the first motion to the second motion. Second specifying means for specifying the position of the specific portion of the character in each of the plurality of candidate frames thus determined, and a position before executing the first operation. When switching the motion of the character to the second motion, the position of the specific part in the motion switching frame specified by the first specifying means and the position of the plurality of candidate frames specified by the second specifying means. Selecting one of the plurality of candidate frames based on the position of the specific part in each of the plurality of candidate frames, and performing an action on the character based on the second motion data from a frame based on the selected candidate frame Execution means for causing
本発明の一態様に係る画像処理システムは、キャラクタに第1動作を実行させるための第1モーションデータを取得する第1取得手段と、前記キャラクタに第2動作を実行させるための第2モーションデータを取得する第2取得手段と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1モーションデータの動作切替時フレームにおける前記キャラクタの特定部位の位置を特定する第1特定手段と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々における前記キャラクタの前記特定部位の位置を特定する第2特定手段と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1特定手段によって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定手段によって特定された前記複数の候補フレームの各々における前記特定部位の位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから前記第2モーションデータに基づいて前記キャラクタに動作を実行させる実行手段と、を含む。 An image processing system according to an aspect of the present invention includes a first obtaining unit that obtains first motion data for causing a character to perform a first motion, and a second motion data for causing the character to perform a second motion. And a second acquisition unit for acquiring the position of the specific portion of the character in the operation switching frame of the first motion data when the operation of the character performing the first operation is switched to the second operation. First specifying means for specifying, and when switching the motion of the character performing the first motion to the second motion, each of a plurality of candidate frames set from each frame of the second motion data A second specifying means for specifying the position of the specific part of the character in the above, and an operation of the character during the execution of the first operation. When switching to the second operation, the position of the specific portion in the operation switching frame specified by the first specifying unit, and the specific portion in each of the plurality of candidate frames specified by the second specifying unit Execution means for selecting any of the plurality of candidate frames based on the position of the character, and causing the character to execute an action based on the second motion data from a frame based on the selected candidate frame; including.
以下、本発明の実施形態を図面に基づいて説明する。以下では、画像処理システムの一例であるゲームシステムに本発明を適用した例について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. Hereinafter, an example in which the present invention is applied to a game system which is an example of an image processing system will be described.
[1.ゲームシステムの構成]図1は、本発明の実施形態に係るゲームシステムの構成を示す。図1に示すように、本実施形態に係るゲームシステム1はゲーム端末10とサーバ30とを含む。ゲーム端末10とサーバ30とはネットワークNに接続されている。このため、ゲーム端末10とサーバ30との間で相互にデータ通信が可能である。
[1. Configuration of Game System] FIG. 1 shows a configuration of a game system according to an embodiment of the present invention. As shown in FIG. 1, the
ゲーム端末10は、ユーザが操作するコンピュータである。具体的には、ゲーム端末10は、ユーザがゲームをプレイするために使用するコンピュータである。例えば、ゲーム端末10は、家庭用ゲーム機(据置型ゲーム機)、携帯用ゲーム機、遊戯施設等に設置される業務用ゲーム機、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、デスクトップ型コンピュータ、又はラップトップ型コンピュータである。
The
図1に示すように、ゲーム端末10は制御部11、記憶部12、光ディスクドライブ部13、通信部14、操作部15、表示部16、及び音声出力部17を含む。制御部11は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部12に記憶されたオペレーティングシステムやその他のプログラムに従って情報処理を実行する。記憶部12は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含む。記憶部12はプログラムやデータを記憶するためのものである。光ディスクドライブ部13は光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。通信部14は、ネットワークNを介して他の装置とデータ通信するためのものである。
As shown in FIG. 1, the
操作部15は、ユーザが各種操作を行うためのものである。操作部15は、例えばボタン(キー)、レバー(スティック)、タッチパネル、又はマウス等を含む。操作部15は、ユーザが音声又はジェスチャによって操作を行うためのものであってもよい。なお、操作部15は、ゲーム端末10に接続された外部装置として設けられてもよいし、ゲーム端末10自体に設けられていてもよい。また、ボタンやレバーは、タッチパネルに表示された仮想的なボタン又はレバーであってもよい。
The
表示部16は、例えば液晶ディスプレイ又は有機ELディスプレイ等であり、画像を表示する。音声出力部17は、例えばスピーカ又はヘッドホン等であり、音声を出力する。なお、表示部16や音声出力部17は、ゲーム端末10に接続された外部装置として設けられてもよいし、ゲーム端末10自体に設けられていてもよい。
The
サーバ30は例えばサーバコンピュータである。図1に示すように、サーバ30は制御部31、記憶部32、光ディスクドライブ部33、及び通信部34を含む。制御部31、記憶部32、光ディスクドライブ部33、及び通信部34は、ゲーム端末10の制御部11、記憶部12、光ディスクドライブ部13、及び通信部14と同様である。サーバ30はデータベース35にアクセス可能である。データベース35はサーバ30内に構築されていてもよいし、サーバ30とは別のサーバ内に構築されていてもよい。
The
プログラムやデータは光ディスクを介してゲーム端末10又はサーバ30に供給される。すなわち、光ディスクに記憶されたプログラムやデータが光ディスクドライブ部13又は33によって読み出されて、記憶部12又は32に記憶される。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラムやデータを読み取るための構成要素(例えばメモリーカードスロット)がゲーム端末10又はサーバ30に備えられてもよい。そして、プログラムやデータが光ディスク以外の情報記憶媒体を介してゲーム端末10又はサーバ30に供給されてもよい。または、プログラムやデータはネットワークNを介して遠隔地からゲーム端末10又はサーバ30に供給されてもよい。
The programs and data are supplied to the
[2.ゲームの概要]ゲームシステム1では、ゲーム端末10でプログラムを実行することによって各種ゲームを実行可能である。例えば、スポーツゲーム(サッカー、野球、テニス、アメリカンフットボール、バスケットボール、バレーボール等を題材としたゲーム)、アクションゲーム、格闘ゲーム、又はロールプレイングゲームのように、ゲーム形式・ジャンルを問わず様々なゲームを実行可能である。これらのゲームは、ゲーム端末10単体(スタンドアロン)で実行されてもよいし、ゲーム端末10がサーバ30又は他のゲーム端末10との間でデータ通信を行うことによって実行されてもよい。なお、ゲーム端末10単体でゲームを実行する場合、サーバ30を設けなくてもよい。
[2. Overview of Game] In the
ゲームシステム1では、複数のモーションデータのうちから選択されたモーションデータに基づいてキャラクタに動作を実行させるゲームが実行される。
In the
なお、「キャラクタ」とは、仮想空間内に配置されるオブジェクトであって、仮想空間内で動作を行うオブジェクトである。「仮想空間」とは、表示部16に表示される仮想的な空間である。言い換えれば、「仮想空間」とは、主記憶(又はVRAM)に構築される仮想的な空間である。「仮想空間」は、3次元空間であってもよいし、2次元空間であってもよい。
Note that a “character” is an object arranged in a virtual space and an object that performs an action in the virtual space. The “virtual space” is a virtual space displayed on the
例えば、「キャラクタ」とは、人を表すオブジェクトである。「人」は実在の人物であってもよいし、架空の人物であってもよい。また例えば、「キャラクタ」とは、人以外の生物を表すオブジェクトであってもよい。「生物」は実在の生物であってもよいし、架空の生物であってもよい。また例えば、「キャラクタ」とは、生物以外を表すオブジェクトであってもよい。例えば、「キャラクタ」とは、ロボットを表すオブジェクトであってもよい。「キャラクタ」は複数の部位を有し、複数の部位にそれぞれ対応する複数の部位オブジェクトを含んで構成される。 For example, a “character” is an object representing a person. The “person” may be a real person or a fictional person. Further, for example, a “character” may be an object representing a creature other than a human. The “creature” may be a real organism or a fictional organism. Further, for example, a “character” may be an object representing a non-creature. For example, the “character” may be an object representing a robot. The “character” has a plurality of parts and is configured to include a plurality of part objects respectively corresponding to the plurality of parts.
「モーションデータ」とは、キャラクタに動作を実行させる場合の各フレームにおけるキャラクタの姿勢を特定するためのデータである。言い換えれば、「モーションデータ」とは、キャラクタに動作を実行させる場合のフレームごとのキャラクタの姿勢の変化を特定するためのデータである。なお、「フレーム」とは、コンピュータにおける処理単位である。例えば、フレームレートが60fpsであれば、1フレームの長さは1/60秒となる。 “Motion data” is data for specifying the posture of the character in each frame when the character performs an action. In other words, “motion data” is data for specifying a change in the posture of the character for each frame when the character performs an action. The “frame” is a processing unit in a computer. For example, if the frame rate is 60 fps, the length of one frame is 1/60 second.
例えば、「モーションデータ」とは、キャラクタに動作を実行させる場合の全フレームのうちの複数の特定フレーム(キーフレーム)におけるキャラクタの姿勢を定めたデータである。この場合、特定フレームと他の特定フレームとの間のフレームにおけるキャラクタの姿勢は、それら特定フレームにおけるキャラクタの姿勢に基づいて補間を行うことによって特定される。また例えば、「モーションデータ」とは、キャラクタに動作を実行させる場合の全フレームにおけるキャラクタの姿勢を定めたデータであってもよい。「キャラクタの姿勢を定めたデータ」とは、例えば、キャラクタ内に設定されたボーンの位置及び回転角度を定めたデータである。 For example, “motion data” is data that defines the posture of the character in a plurality of specific frames (key frames) of all frames when the character performs an action. In this case, the posture of the character in a frame between the specific frame and another specific frame is specified by performing interpolation based on the posture of the character in those specific frames. Further, for example, the “motion data” may be data defining the posture of the character in all frames when the character performs an action. The “data defining the posture of the character” is, for example, data defining the position and rotation angle of the bone set in the character.
「モーションデータに基づいて、キャラクタに動作を実行させる」とは、キャラクタを対象としてモーションデータを再生することによって、キャラクタに動作を実行させることである。「モーションデータを再生する」とは、モーションデータに従ってキャラクタの姿勢を変化させることである。すなわち、「モーションデータを再生する」とは、フレームごとに、当該フレームにおける姿勢をモーションデータに基づいて特定し、キャラクタの姿勢を当該特定した姿勢に設定することである。 “To cause a character to perform an action based on motion data” means to cause a character to perform an action by reproducing motion data for the character. “To reproduce the motion data” means to change the posture of the character according to the motion data. That is, “reproducing the motion data” means to specify, for each frame, a posture in the frame based on the motion data, and set the posture of the character to the specified posture.
なお、「モーションデータ(第2モーションデータ)に基づいて、キャラクタに動作を実行させる」には、キャラクタの動作を、他のモーションデータ(第1モーションデータ)に基づく動作(第1動作)から、モーションデータ(第2モーションデータ)に基づく動作(第2動作)に切り替える場合に、所定数フレームの期間において、キャラクタの動作を、第1動作と第2動作とをブレンドしてなる動作とし、第1動作のブレンド比率を徐々に下げ、第2動作のブレンド比率を徐々に上げることによって、キャラクタの動作を第1動作から第2動作へと徐々に切り替えることも含まれる。言い換えれば、「モーションデータ(第2モーションデータ)に基づいて、キャラクタに動作を実行させる」には、キャラクタの動作を、他のモーションデータ(第1モーションデータ)に基づく動作から、モーションデータ(第2モーションデータ)に基づく動作に切り替える場合に、所定数フレームの期間において、キャラクタの姿勢を、第1モーションデータの示す姿勢と第2モーションデータの示す姿勢とをブレンドしてなる姿勢とし、第1モーションデータの示す姿勢のブレンド比率を徐々に下げ、第2モーションデータの示す姿勢のブレンド比率を徐々に上げることによって、キャラクタの姿勢を、第1モーションデータの示す姿勢から、第2モーションデータの示す姿勢へと徐々に切り替えることも含まれる。 In addition, “to make a character perform an action based on motion data (second motion data)” means that a motion of a character is changed from an action (first action) based on another motion data (first motion data). When switching to an action (second action) based on motion data (second motion data), the action of the character is an action obtained by blending the first action and the second action during a predetermined number of frames. This includes gradually lowering the blending ratio of one motion and gradually increasing the blending ratio of the second motion, thereby gradually switching the motion of the character from the first motion to the second motion. In other words, “to cause the character to perform an action based on the motion data (second motion data)” means that the motion of the character is changed from the motion based on other motion data (first motion data) to the motion data (second motion data). When switching to the motion based on (2 motion data), the posture of the character is set to a posture obtained by blending the posture indicated by the first motion data and the posture indicated by the second motion data during a predetermined number of frames. By gradually lowering the blend ratio of the posture indicated by the motion data and gradually increasing the blend ratio of the posture indicated by the second motion data, the posture of the character is changed from the posture indicated by the first motion data to the position indicated by the second motion data. Includes gradually switching to a posture.
以下では、複数のモーションデータのうちから選択されたモーションデータに基づいてキャラクタに動作を実行させるゲームの一例として、サッカーゲームについて主に説明する。例えば、サッカーゲームでは、ユーザのサッカーチーム(第1チーム)と、対戦相手のサッカーチーム(第2チーム)との間のサッカーの試合が行われる。なお、対戦相手はコンピュータであってもよいし、他のユーザであってもよいが、以下では、説明の簡便のため、対戦相手がコンピュータである場合を想定する。 Hereinafter, a soccer game will be mainly described as an example of a game in which a character performs an action based on motion data selected from a plurality of motion data. For example, in a soccer game, a soccer game between a user's soccer team (first team) and an opponent's soccer team (second team) is performed. The opponent may be a computer or another user. However, in the following, it is assumed that the opponent is a computer for simplicity of explanation.
[2−1]図2は、サッカーゲームを実行する際に設定される仮想空間(ゲーム空間)の一例を示す。図2に示す仮想空間50は、互いに直交する三つの座標軸であるXw軸、Yw軸、及びZw軸が設定された仮想的な3次元空間である。下記に説明するように、仮想空間50にはオブジェクトが配置される。各オブジェクトの位置はXwYwZw座標系(ワールド座標系)の3次元座標で特定される。
[2-1] FIG. 2 shows an example of a virtual space (game space) set when a soccer game is executed. The
図2に示すように、仮想空間50には、サッカーフィールドを表すオブジェクトであるフィールド51が配置される。例えばフィールド51は、Yw軸座標値が0であるような平面に相当するオブジェクトである。フィールド51上には、2本のタッチライン52、2本のゴールライン53、及び1本のセンターライン54が表される。サッカーの試合は、タッチライン52及びゴールライン53によって囲まれたピッチ55内で行われる。
As shown in FIG. 2, a
また、フィールド51上には、サッカーのゴールを表すオブジェクトであるゴール56が配置される。さらに、フィールド51上には、サッカーボールを表すオブジェクトであるボール57と、サッカー選手を表すオブジェクトである選手キャラクタ60とが配置される。選手キャラクタ60は、歩行動作、走行動作、ステップ動作、パス動作、シュート動作、プレス動作、タックル動作等の各種動作を行う。試合中においては、所定条件の下、選手キャラクタ60とボール57とが関連付けられる。この場合、選手キャラクタ60の歩行動作や走行動作はドリブル動作となる。
Also, on the
図2では省略しているが、第1チーム(ユーザのサッカーチーム)と第2チーム(対戦相手であるコンピュータのサッカーチーム)とのサッカーの試合が行われる場合には、第1チームに所属する11体の選手キャラクタ60と、第2チームに所属する11体の選手キャラクタ60とがフィールド51上に配置される。
Although omitted in FIG. 2, when a soccer match is played between the first team (the user's soccer team) and the second team (the opponent's computer soccer team), they belong to the first team.
例えば、試合においては、第1チームに所属する複数の選手キャラクタ60のうちのいずれか1名の選手キャラクタ60がユーザの操作対象として設定される。ユーザの操作対象になっている選手キャラクタ60は、ユーザによって行われた動作指示操作に基づいて各種動作を行う。一方、第1チームに所属する複数の選手キャラクタ60のうちの、ユーザの操作対象になっていない選手キャラクタ60や、第2チームに所属する複数の選手キャラクタ60は、コンピュータの動作指示に基づいて各種動作を行う。なお、ユーザの操作対象は、第1チームに所属する複数の選手キャラクタ60のうちで、試合状況(例えばボール57の位置)又はユーザの切替指示操作に基づいて、試合中に切り替わるようにしてもよいし、第1チームに所属する複数の選手キャラクタ60のうちから予め設定された特定の1名の選手キャラクタ60に固定されていてもよい。
For example, in a match, any one of a plurality of
また、仮想空間50には、仮想的な視点58が設定される。視点58から視線方向Vを見た場合の仮想空間50を表すゲーム画像が表示部16に表示される。例えば、ユーザの操作対象になっている選手キャラクタ60又はボール57がゲーム画像に含まれるように、視点58の位置や視線方向Vは、ユーザの操作対象になっている選手キャラクタ60又はボール57の位置に基づいて設定される。
In the
[2−2]ここで、選手キャラクタ60について詳しく説明する。図3は選手キャラクタ60の一例を示す。図3に示すように、選手キャラクタ60は、複数の部位の各々を示す複数の部位オブジェクトを含む。例えば、選手キャラクタ60は、複数の部位オブジェクトとして、頭601、首602、胸603、腰604、左上腕605L、右上腕605R、左前腕606L、右前腕606R、左手607L、右手607R、左腿608L、右腿608R、左脛609L、右脛609R、左足610L、及び右足610Rを含む。
[2-2] Here, the
また、左足610Lはヌルオブジェクト611Lを含み、右足610Rはヌルオブジェクト611Rを含む。例えば、ヌルオブジェクト611L,611Rは不可視のオブジェクトであり、点に相当するオブジェクトである。また、ヌルオブジェクト611L,611Rは、通常のオブジェクトと同様にジオメトリ演算等の対象になるが、通常のオブジェクトとは異なり、描画処理の対象にはならないオブジェクトである。ヌルオブジェクト611L,611Rは、左足610L及び右足610Rの足裏に相当する位置に配置される。ヌルオブジェクト611L,611Rを設定する意義については後述する。
The
選手キャラクタ60は複数のポリゴンによって構成される。「ポリゴン」とは、3以上の頂点によって構成される平面である。複数のポリゴンによって立体を構成することによって、選手キャラクタ60の各部位オブジェクトが構成される。
The
また、選手キャラクタ60の内部にはボーンが設定される。「ボーン」とは、選手キャラクタ60の骨格に相当するものである。選手キャラクタ60の内部には複数のボーンが設定されており、これら複数のボーンは、特定のボーン(例えば腰骨に対応するボーン)をルートとする階層構造で管理される。あるボーンの位置又は回転角度が変化した場合、当該ボーンの下の階層のボーンも連動するようになっており、ボーンの位置は、当該ボーンよりも上の階層のボーンの位置及び回転角度によって特定される。
Further, a bone is set inside the
選手キャラクタ60を構成する複数のポリゴンの各頂点には、少なくとも1つのボーンが関連付けられている。頂点の位置は当該ボーンの状態(位置又は回転角度)の変化に基づいて変化する。すなわち、ボーンの状態が変化すると、頂点が従動し、その結果、選手キャラクタ60の姿勢が変化する。このように、各ボーンの状態を制御することによって、選手キャラクタ60の姿勢を制御できる。
At least one bone is associated with each vertex of a plurality of polygons constituting the
サッカーゲームでは、選手キャラクタ60を対象としてモーションデータを再生することによって、モーションデータに基づく動作を選手キャラクタ60に実行させる。すなわち、モーションデータに従ってフレームごとに選手キャラクタ60の姿勢を変化させることによって、当該モーションデータに基づく動作を選手キャラクタ60に実行させる。
In the soccer game, the
選手キャラクタ60は複数種類の動作を実行し得るため、それら複数種類の動作にそれぞれ対応する複数種類のモーションデータが用意される。例えば、選手キャラクタ60に歩行動作を実行させる場合には、それら複数種類のモーションデータのうちから、歩行動作に対応するモーションデータを選択し、当該モーションデータを再生することによって、選手キャラクタ60に歩行動作を実行させることになる。
Since the
[2−3]図4Aは、選手キャラクタ60の歩行動作の一例を示す。すなわち、図4Aは、歩行動作を実行する際の選手キャラクタ60の姿勢の変化の一例を示す。歩行動作は複数のフレームにわたって行われるところ、図4Aは、それら複数のフレームのうちのいくつかのフレームにおける選手キャラクタ60の姿勢の一例を示している。
[2-3] FIG. 4A shows an example of the walking motion of the
図4Aに示す歩行動作は、歩行動作に対応するモーションデータに基づいて実行される。以下では、歩行動作に対応するモーションデータを「歩行モーションデータ」と記載する。歩行動作を実行する際の各フレームにおける選手キャラクタ60の姿勢は歩行モーションデータに基づいて特定される。
The walking motion shown in FIG. 4A is executed based on motion data corresponding to the walking motion. Hereinafter, motion data corresponding to a walking motion is referred to as “walking motion data”. The posture of the
図4Aに示す例では、第1フレーム(先頭フレーム)における選手キャラクタ60の姿勢が、右足610R及び左足610Lがフィールド51に接触し、右足610Rが左足610Lの前方に位置するような姿勢になっている(A1)。また、第48フレームにおける選手キャラクタ60の姿勢が、右足610Rの踵部分がフィールド51から離れた状態で右足610Rが左足610Lの後方に位置するような姿勢になっている(A2)。さらに、第96フレームにおける選手キャラクタ60の姿勢が、右足610Rの踵部分がフィールド51に接触し、左足610Lが右足610Rの前方に位置するような姿勢になっている(A3)。また、第144フレームにおける選手キャラクタ60の姿勢が、左足610Lが第96フレームにおける位置よりもさらに前方に位置するような姿勢になっている(A4)。図4Aに示すように、歩行動作では、選手キャラクタ60の左足610L及び右足610Rがフィールド51と接触したり離れたりするようになっている。なお、歩行動作が継続される場合、歩行モーションデータが最終フレームまで再生されると、再度、歩行モーションデータが先頭フレームから再生される。
In the example illustrated in FIG. 4A, the posture of the
図4Bは、選手キャラクタ60のステップ動作の一例を示す。すなわち、図4Bは、ステップ動作を実行する際の選手キャラクタ60の姿勢の変化の一例を示す。ステップ動作は複数のフレームにわたって行われるところ、図4Bは、それら複数のフレームのうちのいくつかのフレームにおける選手キャラクタ60の姿勢の一例を示す。
FIG. 4B shows an example of the step operation of the
図4Bに示すステップ動作は、ステップ動作に対応するモーションデータに基づいて実行される。以下では、ステップ動作に対応するモーションデータを「ステップモーションデータ」と記載する。ステップ動作を実行する際の各フレームにおける選手キャラクタ60の姿勢はステップモーションデータに基づいて特定される。
The step operation shown in FIG. 4B is executed based on motion data corresponding to the step operation. Hereinafter, the motion data corresponding to the step operation is referred to as “step motion data”. The posture of the
図4Bに示す例では、第1フレーム(先頭フレーム)における選手キャラクタ60の姿勢が、右足610R及び左足610Lがフィールド51に接触し、右足610Rが左足610Lの前方に位置するような姿勢になっている(B1)。また、第48フレームにおける選手キャラクタ60の姿勢が、両膝が屈折し右足610Rが左足610Lの付近に位置するような姿勢になっている(B2)。さらに、第96フレームにおける選手キャラクタ60の姿勢が、両膝が伸びて右足610R及び左足610Lがフィールド51から離れているような姿勢になっている(B3)。また、第144フレームにおける選手キャラクタ60の姿勢が、右足610R及び左足610Lがフィールド51に再度接触するような姿勢になっている(B4)。図4Bに示すように、ステップ動作では、選手キャラクタ60の左足610L及び右足610Rがフィールド51と接触したり離れたりするようになっている。
In the example illustrated in FIG. 4B, the posture of the
[2−4]サッカーゲームでは、第1モーションデータに基づく第1動作を実行中の選手キャラクタ60の動作を第2モーションデータに基づく第2動作に切り替える場合がある。例えば、ユーザの操作対象になっている選手キャラクタ60が歩行動作を実行している状態で、ステップ動作の実行指示操作がユーザによって行われた場合には、歩行動作を実行中の選手キャラクタ60の動作がステップ動作に切り替えられる。なお、ユーザの操作対象になっていない選手キャラクタ60(すなわち、コンピュータによる動作指示に基づいて動作する選手キャラクタ60)に関しても、このような動作切替が実行される場合がある。
[2-4] In a soccer game, the action of the
第1動作を実行中の選手キャラクタ60の動作を第2動作に切り替える場合、下記に説明するような「足滑り」の発生を抑制する必要がある。図5は、動作切替時の「足滑り」の一例について説明するための図である。なお図5では、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合を想定している。また図5では、選手キャラクタ60の姿勢が歩行モーションデータの第96フレームにおける姿勢(A3)である時点で、選手キャラクタ60の動作を歩行動作からステップ動作へと切り替える場合を想定している。
When switching the action of the
図5に示す例において、単にステップモーションデータの再生を先頭フレームから開始させた場合、選手キャラクタ60の姿勢は、歩行モーションデータの第96フレームにおける姿勢(A3)から、ステップモーションデータの先頭フレームにおける姿勢(B1)へと変化することになる。
In the example shown in FIG. 5, when the reproduction of the step motion data is simply started from the top frame, the posture of the
これらの姿勢(A3,B1)の間では、フィールド51に接触している右足610Rの位置がずれている。具体的には、動作切替後の姿勢(B1)における右足610Rの位置は、動作切替前の姿勢(A3)における右足610Rの位置よりもXw軸正方向にずれている。その結果、動作切替時に、右足610Rがフィールド51上でXw軸正方向に移動することによって、選手キャラクタ60の右足610Rがフィールド51上で滑っているかのようにユーザに見えてしまい、ユーザに違和感を与えてしまう可能性がある。
Between these postures (A3, B1), the position of the
なお、図5に示す例では、動作切替前後の姿勢(A3,B1)において、左足610Lの位置もずれている。しかしながら、動作切替前の姿勢(A3)では左足610Lがフィールド51に接触していないため、動作切替前後の姿勢(A3,B1)において、左足610Lの位置がずれていたとしても、動作切替時に、選手キャラクタ60の左足610Lがフィールド51上で滑っているかのようにユーザに見えないため、ユーザに違和感を与えてしまう可能性は低い。
In the example shown in FIG. 5, the position of the
[2−5]以下、「足滑り」の発生を抑制しつつ、第1動作を実行中の選手キャラクタ60の動作を第2動作に切り替えるための手法について説明する。図6は、当該手法の概要について説明するための図である。なお図6では、図5と同様、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合を想定している。また図6でも、選手キャラクタ60の姿勢が歩行モーションデータの第96フレームにおける姿勢(A3)である時点で、選手キャラクタ60の動作を歩行動作からステップ動作へと切り替える場合を想定している。
[2-5] Hereinafter, a method for switching the motion of the
この場合、まず、動作切替時点における姿勢(A3)において、選手キャラクタ60の左足610L及び右足610Rのうちで、どちらがフィールド51に近いかを判定する。例えば、図2に示す仮想空間50では、フィールド51が、Yw軸座標値が0であるような平面に相当しているため、左足610Lのヌルオブジェクト611Lと右足610Rのヌルオブジェクト611RとのYw軸座標値を比較する。すなわち、ヌルオブジェクト611LのYw軸座標値がヌルオブジェクト611RのYw軸座標値よりも小さい場合には、左足610Lの方がフィールド51に近いと判定する。一方、ヌルオブジェクト611RのYw軸座標値がヌルオブジェクト611LのYw軸座標値よりも小さい場合には、右足610Rの方がフィールド51に近いと判定する。動作切替時点における姿勢(A3)の場合、ヌルオブジェクト611RのYw軸座標値がヌルオブジェクト611LのYw軸座標値よりも小さいため、右足610Rの方がフィールド51に近いと判定する。
In this case, first, it is determined which of the
次に、ステップモーションデータの複数のフレームのうちから設定された複数の候補フレームCF[1],CF[2],CF[3],・・・・,CF[N]の各々について、当該候補フレームにおける右足610Rの位置と、動作切替時点における姿勢(A3)の右足610Rの位置とを比較する。具体的には、複数の候補フレームCF[1]〜CF[N]の各々について、当該候補フレームにおける右足610Rのヌルオブジェクト611Rの位置と、動作切替時点における姿勢(A3)の右足610Rのヌルオブジェクト611Rの位置との間の距離を算出する。そして、複数の候補フレームCF[1]〜CF[N]のうちから、上記距離が最も小さい候補フレームを選択する。
Next, for each of the plurality of candidate frames CF [1], CF [2], CF [3],..., CF [N] set from among the plurality of frames of the step motion data, The position of the
ここで、複数の候補フレームCF[1]〜CF[N]とは、選手キャラクタ60の動作をステップ動作に切り替える場合に、ステップモーションデータの再生開始フレームとして選択され得る候補のフレームである。例えば、ステップモーションデータのキーフレームが複数の候補フレームCF[1]〜CF[N]として設定される。なお、複数の候補フレームCF[1]〜CF[N]には、ステップモーションデータのキーフレーム以外のフレームが含まれていてもよい。図6に示す例では、候補フレームCF[1]は図4Bに示した第1フレームに相当し、候補フレームCF[3]は図4Bに示した第48フレームに相当している。
Here, the plurality of candidate frames CF [1] to CF [N] are candidate frames that can be selected as the reproduction start frame of the step motion data when the operation of the
複数の候補フレームCF[1]〜CF[N]のうちからいずれかを選択した後、当該選択された候補フレームから、ステップモーションデータに基づいて、ステップ動作を選手キャラクタ60に実行させる。例えば、候補フレームCF[3](第48フレーム)が選択された場合には、当該フレームから、ステップモーションデータに基づいて、ステップ動作を選手キャラクタ60に実行させる。
After selecting any one of the plurality of candidate frames CF [1] to CF [N], the
この場合、選手キャラクタ60の姿勢は、歩行モーションデータの第96フレームにおける姿勢(A3)から、ステップモーションデータの第48フレームにおける姿勢(B2)へと変化することになる。これらの姿勢(A3,B2)の間では、フィールド51に接触している右足610Rの位置のずれが小さいため、動作切替時に、選手キャラクタ60の右足610Rがフィールド51上で滑っているかのようにユーザに見えないように図ることができる。すなわち、「足滑り」の発生を抑制できる。
In this case, the posture of the
なお、選手キャラクタ60の姿勢を、歩行モーションデータの示す姿勢から、ステップモーションデータの示す姿勢へと切り替える場合、一つのフレームにおいて瞬時に切り替えるのではなく、所定数フレームの期間において、選手キャラクタ60の姿勢を、歩行モーションデータの示す姿勢とステップモーションデータの示す姿勢とをブレンドしてなる姿勢とし、歩行モーションデータの示す姿勢のブレンド比率を徐々に下げ、ステップモーションデータの示す姿勢のブレンド比率を徐々に上げることによって、選手キャラクタ60の姿勢を、歩行モーションデータの示す姿勢から、ステップモーションデータの示す姿勢へと徐々に切り替えるようにしてもよい。
When the posture of the
また、複数の候補フレームCF[1]〜CF[N]は、先頭フレームから特定の範囲内にあるフレームのうちで設定するのが好ましい場合がある。例えば、ステップモーションデータのうちの先頭フレームから大きく離れたフレームが候補フレームとして設定されており、かつ、当該候補フレームが選択された場合には、選手キャラクタ60のステップ動作が途中から実行されることによって、選手キャラクタ60の動作が不自然であるとユーザが感じてしまう場合がある。この点、先頭フレームから特定の範囲内にあるフレームのうちで候補フレームを設定しておくことによって、このような不都合の発生を抑制できるようになる。
In some cases, it is preferable to set the plurality of candidate frames CF [1] to CF [N] among frames within a specific range from the first frame. For example, if a frame of the step motion data that is far away from the first frame is set as a candidate frame, and the candidate frame is selected, the step motion of the
[2−6]以上に説明した手法によれば、歩行モーションデータに基づく歩行動作を実行中の選手キャラクタ60の動作をステップモーションデータに基づくステップ動作に切り替える場合に、フィールド51に接触している足の位置ずれを軽減でき、「足滑り」の発生を抑制できる。
[2-6] According to the method described above, the
また、以上に説明した手法によれば、ユーザによるステップ動作の実行指示操作に応じて、直ちに、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替えることができる。例えば、「足滑り」の発生を抑制する他の手法としては、歩行モーションデータのフレームのうちで、「足滑り」が発生しないようなフレーム(すなわち、選手キャラクタ60の足の位置が、ステップモーションデータの先頭フレームにおける選手キャラクタ60の足の位置に近いフレーム)を基準フレームとして予め設定しておき、歩行動作を実行中のキャラクタの動作をステップ動作に切り替える際には、基準フレームになるまで歩行動作を選手キャラクタ60に継続させ、基準フレームになったら、先頭フレームからステップモーションデータに基づいて選手キャラクタ60にステップ動作を実行させるような手法も考えられる。しかしながら、この手法では、実行指示操作に応じて直ちに選手キャラクタ60の動作をステップ動作に切り替えるのではなく、基準フレームになるのを待ち、基準フレームになってから選手キャラクタ60の動作をステップ動作に切り替えるため、選手キャラクタ60の動作切替が遅れる(すなわち、選手キャラクタ60の反応が遅い)との不満をユーザに感じさせてしまう可能性がある。これに対し、本実施形態に係る手法によれば、ステップ動作の実行指示操作に応じて、直ちに、選手キャラクタ60の動作を歩行動作からステップ動作に切り替えることができるため、選手キャラクタ60の動作切替が遅れる(すなわち、選手キャラクタ60の反応が遅い)との不満をユーザに感じさせないように図ることができる。
Further, according to the above-described method, the action of the
また、本実施形態に係る手法では、選手キャラクタ60の左足610L及び右足610Rのうちで、フィールド51に近い方の足を判定し、フィールド51に近い方の足の位置に基づいて、ステップモーションデータの複数の候補フレームCF[1]〜CF[N]のうちからいずれかを選択するようになっている。このようにすることによって、選手キャラクタ60の左足610L及び右足610Rのうちで、「足滑り」が発生させてしまう可能性が高い方の足に関して、動作切替時の位置ずれを軽減できるようになる。
Further, in the method according to the present embodiment, of the
また、本実施形態に係る手法では、選手キャラクタ60の左足610L及び右足610Rにヌルオブジェクト611L,611Rをそれぞれ設定し、選手キャラクタ60の左足610L及び右足610Rの位置としてヌルオブジェクト611L,611Rの位置を用いるようにしている。このようにすることによって、ヌルオブジェクト611L,611Rの位置のみについて着目すればよくなるため、処理を簡略化できる。また、ヌルオブジェクト611L,611Rは非表示のオブジェクトであるため、余計なオブジェクトが表示部16に表示されるという不都合も発生しない。
In the method according to the present embodiment,
なお、以上では、「足滑り」の発生を抑制する場合について主に説明したが、本実施形態に係る手法は、「手滑り」の発生を抑制するために用いることもできる。例えば、キャラクタが逆立ちをした状態が各種動作を行うようなゲーム等、キャラクタが他のオブジェクト(例えば、フィールド、壁、又はテーブル等)に手を付いた状態で各種動作を行うようなゲームの場合、「手滑り」が発生する場合がある。すなわち、動作切替前後で他のオブジェクトに接触しているキャラクタの左手又は右手の位置ずれが発生することによって、動作切替時にキャラクタの左手又は右手が他のオブジェクト上で移動し、キャラクタの左手又は右手が他のオブジェクト上で滑っているかのようにユーザに見えてしまい、ユーザに違和感を与えてしまう可能性がある。この点、本実施形態に係る手法をキャラクタの左手又は右手を対象として実行することによって、「手滑り」の発生を抑制しつつ、キャラクタの動作を切り替えることもできる。なお、この場合、キャラクタの左手や右手にヌルオブジェクトを設定するようにすればよい。 In addition, although the case where the occurrence of “foot slip” is suppressed has been mainly described above, the method according to the present embodiment can also be used to suppress the occurrence of “hand slip”. For example, in a game such as a game in which the character stands upside down and performs various operations, such as a game in which the character performs various operations while holding a hand on another object (for example, a field, a wall, a table, or the like). , "Hand slip" may occur. That is, the left hand or right hand of the character that is in contact with another object before and after the motion switching occurs, so that the character's left hand or right hand moves on another object at the time of the motion switching, and the character's left hand or right hand. May appear to the user as if it is sliding on another object, giving the user a sense of discomfort. In this regard, by executing the method according to the present embodiment on the left hand or the right hand of the character, it is also possible to switch the motion of the character while suppressing the occurrence of “hand slip”. In this case, a null object may be set on the left or right hand of the character.
[3.機能ブロック]次に、以上に説明した機能を実現するための構成について説明する。図7は、ゲームシステム1で実現される機能ブロックの一例を示す機能ブロック図である。図7に示すように、ゲームシステム1は、データ記憶部100と、第1モーションデータ取得部110と、第2モーションデータ取得部120と、第1動作実行部130と、特定部位選択部140と、第1特定部150と、第2特定部160と、第2動作実行部170とを含む。このうち、データ記憶部100は記憶部12、記憶部32、及びデータベース35のうちの少なくとも一つによって実現される。また、データ記憶部100以外の機能ブロックは、制御部11及び制御部31の少なくとも一つによって実現される。すなわち、データ記憶部100以外の機能ブロックのすべてを制御部11によって実現してもよいし、これらのすべてを制御部31によって実現してもよいし、これらの一部を制御部11によって実現し、残りを制御部31によって実現してもよい。
[3. Functional Block] Next, a configuration for realizing the functions described above will be described. FIG. 7 is a functional block diagram illustrating an example of functional blocks realized in the
[3−1]データ記憶部100は、ゲームを実行するために必要なデータを記憶する。ここでは、データ記憶部100に記憶されるデータの一例として、先述のサッカーゲームを実行するために必要なデータについて説明する。図7に示すように、先述のサッカーゲームを実行するために必要なデータとして、例えば、モデルデータD101と、モーションデータD102と、候補フレームデータD103と、キャラクタ状態データD104とがデータ記憶部100に記憶される。
[3-1] The
[3−1−1]モデルデータD101は、選手キャラクタ60の形状を示すデータである。モデルデータD101は、選手キャラクタ60の姿勢が基準姿勢である場合の選手キャラクタ60の各頂点(すなわち、選手キャラクタ60を構成する各ポリゴンの各頂点)の位置を示す頂点データを含む。頂点データは、ヌルオブジェクト611L,611Rの頂点の位置を示すデータも含む。例えば、各頂点の位置はローカル座標系で示される。「ローカル座標系」とは、例えば、選手キャラクタ60の基準点(例えば腰に相当する点等)を原点とし、上下方向に対応する軸であって、上方向を正方向とする第1軸と、左右方向に対応する軸であって、左方向を正方向とする第2軸と、前後方向に対応する軸であって、正面方向を正方向とする第3軸とを有する座標系である。なお、「基準姿勢」とは、ボーンが適用されていない姿勢(すなわち、ボーンの位置や回転角度が設定(変更)される前における基本の姿勢)である。また、頂点データは、頂点とボーンとの関連付けを示すデータも含む。
[3-1-1] The model data D101 is data indicating the shape of the
また、モデルデータD101は、選手キャラクタ60内に設定される各ボーンに関するボーンデータも含む。例えば、ボーンデータは、ボーンの階層構造に関するデータや、選手キャラクタ60の姿勢が基準姿勢である場合の各ボーンの位置及び回転角度を示すデータを含む。なお、ボーンの階層構造を示すデータ自体を記憶するのではなく、プログラムが扱うメモリ上で階層構造を展開するようにしてもよい。または、シェーダプログラムにおいてルールを定めて処理するようにし、ルールの異なるボーンを扱う場合にはシェーダプログラムを切り替えるという手法を採用してもよい。
The model data D101 also includes bone data relating to each bone set in the
[3−1−2]モーションデータD102は、選手キャラクタ60に動作を実行させる場合の各フレームにおける選手キャラクタ60の姿勢を制御するためのデータである。データ記憶部100は、選手キャラクタ60が実行可能な複数種類の動作にそれぞれ対応する複数種類のモーションデータD102を記憶する。
[3-1-2] The motion data D102 is data for controlling the attitude of the
図8はモーションデータD102の一例を示す。モーションデータD102はモーションIDに関連付けて記憶される。モーションIDは、モーションデータ(又は動作)を一意に識別するための識別情報である。 FIG. 8 shows an example of the motion data D102. The motion data D102 is stored in association with the motion ID. The motion ID is identification information for uniquely identifying motion data (or motion).
モーションデータD102は、複数のキーフレームの各々ごとに、選手キャラクタ60に設定された各ボーンのボーン行列が定められたデータである。ボーン行列はボーンの位置及び回転角度を示す行列である。図8に示すように、モーションデータD102は「キーフレーム」及び「ボーン」フィールドを含む。「キーフレーム」フィールドは、モーションデータにおけるキーフレームのフレーム番号を示す。図8に示す例では、モーションIDが「M1」であるモーションデータD102に関して、第1フレーム、第48フレーム、第96フレーム、第144フレーム等がキーフレームになっている。「ボーン」フィールドには、選手キャラクタ60に設定されたすべてのボーンB1,B2,B3,B4,・・・の各々に関連付けて、当該ボーンの位置及び回転角度を示すボーン行列が登録される。
The motion data D102 is data in which a bone matrix of each bone set in the
図8に示す例では、モーションIDが「M1」であるモーションデータD102において、第1フレームにおけるボーンB1,B2,B3,B4,・・・のボーン行列としてそれぞれBM11,BM21,BM31,BM41,・・・が設定されている。また、第48フレームにおけるボーンB1,B2,B3,B4,・・・のボーン行列としてそれぞれBM148,BM248,BM348,BM448,・・・が設定されている。 In the example shown in FIG. 8, in the motion data D102 having the motion ID "M1", the bone matrices BM11, BM21, BM31, BM41,.・ ・ Is set. Also, BM148, BM248, BM348, BM448,... Are set as the bone matrices of the bones B1, B2, B3, B4,.
このため、モーションIDが「M1」であるモーションデータD102を再生する場合には、第1フレームにおいて、選手キャラクタ60のボーンB1,B2,B3,B4,・・・の位置及び回転角度がそれぞれボーン行列BM11,BM21,BM31,BM41,・・・に基づいて設定されることによって、選手キャラクタ60の姿勢が設定される。また、第48フレームにおいて、選手キャラクタ60のボーンB1,B2,B3,B4,・・・の位置及び回転角度がそれぞれボーン行列BM148,BM248,BM348,BM448,・・・に基づいて設定されることによって、選手キャラクタ60の姿勢が設定される。
Therefore, when the motion data D102 having the motion ID “M1” is reproduced, in the first frame, the positions and the rotation angles of the bones B1, B2, B3, B4,. By setting based on the matrices BM11, BM21, BM31, BM41,..., The posture of the
[3−1−3]候補フレームデータD103は候補フレームを示すデータである。図9は候補フレームデータD103の一例を示す。候補フレームデータD103はモーションIDに関連付けて(モーションデータD102ごとに)記憶される。なお、図7では、モーションデータD102と候補フレームデータD103とを別個のデータとして示しているが、モーションデータD102と候補フレームデータD103とを一つのデータにまとめてもよい。 [3-1-3] The candidate frame data D103 is data indicating a candidate frame. FIG. 9 shows an example of the candidate frame data D103. The candidate frame data D103 is stored in association with the motion ID (for each motion data D102). Although FIG. 7 shows the motion data D102 and the candidate frame data D103 as separate data, the motion data D102 and the candidate frame data D103 may be combined into one data.
図9に示すように、候補フレームデータD103は「候補フレーム」フィールドを含む。「候補フレーム」フィールドは、モーションデータD102の複数のフレーム(選手キャラクタ60がモーションデータD102に基づく動作を実行する場合の複数のフレーム)のうちから設定された複数の候補フレームを示す。例えば、候補フレームとして設定されたフレームのフレーム番号のリストが「候補フレーム」フィールドに登録される。図9に示す例では、モーションIDが「M1」であるモーションデータD102に関しては、第1フレーム、第24フレーム、第48フレーム等が候補フレームとして設定されている。なお、図9では、候補フレームのフレーム番号を「候補フレーム」フィールドに登録しているが、先頭フレームから特定の範囲にあるフレームが候補フレームとして設定される場合には、当該特定範囲を示す情報を「候補フレーム」フィールドに登録してもよい。
As shown in FIG. 9, the candidate frame data D103 includes a “candidate frame” field. The “candidate frame” field indicates a plurality of candidate frames set from among a plurality of frames of the motion data D102 (a plurality of frames when the
[3−1−4]キャラクタ状態データD104は、仮想空間50に配置される各選手キャラクタ60の現在の状態を示すデータである。図10はキャラクタ状態データD104の一例を示す。図10に示すように、キャラクタ状態データD104は、「キャラクタID」、「位置」、「向き」、「再生モーション」、及び「再生フレーム」フィールド等を含む。
[3-1-4] Character state data D104 is data indicating the current state of each
「キャラクタID」フィールドは、選手キャラクタ60を一意に識別するための識別情報を示す。「位置」フィールドは、仮想空間50における選手キャラクタ60の現在位置を示す。例えば、選手キャラクタ60の基準点(例えばローカル座標系における原点)の現在位置を示すワールド座標系(XwYwZw座標系)における座標値が「位置」フィールドに登録される。「向き」フィールドは、選手キャラクタ60が現在向いている方向を示す。
The “character ID” field indicates identification information for uniquely identifying the
「再生モーション」フィールドは、選手キャラクタ60に関して現在再生されているモーションデータD102を示す。すなわち、「再生モーション」フィールドは、選手キャラクタ60が現在実行している動作の種類を示す。例えば、選手キャラクタ60に関して現在再生されているモーションデータD102のモーションIDが「再生モーション」フィールドに登録される。「再生フレーム」フィールドは、モーションデータD102の現在再生位置を示す。例えば、モーションデータD102の何フレーム目を現在再生中であるのかが「再生フレーム」に登録される。
The “playback motion” field indicates the motion data D102 that is currently being played for the
図10に示す例では、キャラクタIDが「C101」である選手キャラクタ60の「再生モーション」フィールドに「M1」が登録され、「再生フレーム」フィールドに「40」が登録されている。これは、キャラクタIDが「C101」である選手キャラクタ60に関して、現在、モーションIDが「M1」であるモーションデータD102が再生されており、現在再生中のフレームが「第40フレーム」であることを示す。すなわち、これは、キャラクタIDが「C101」である選手キャラクタ60の現在の姿勢が、モーションIDが「M1」であるモーションデータD102の第40フレームの姿勢であることを示す。
In the example shown in FIG. 10, “M1” is registered in the “playback motion” field of the
なお、キャラクタ状態データD104は、以上に説明したフィールドの他に、例えば、選手キャラクタ60の移動速度を示すフィールド、選手キャラクタ60がボール57を保有しているか否かを示すフィールドや、選手キャラクタ60がユーザの操作対象になっているか否かを示すフィールド等を含む。
In addition to the fields described above, the character state data D104 includes, for example, a field indicating the moving speed of the
[3−1−5]先述のサッカーゲームを実行するために必要なデータは、以上に説明したデータに限られず、他のデータもデータ記憶部100に記憶される。例えば、ボール57の現在の状態(例えば位置、移動方向、及び移動速度等)を示すボール状態データ、視点58の現在の状態(例えば位置、視線方向、及び画角等)を示す視点状態データや、試合の戦況(例えば、両チームの得点や経過時間等)を示す戦況データ等もデータ記憶部100に記憶される。
[3-1-5] The data necessary to execute the above-described soccer game is not limited to the data described above, and other data is also stored in the
[3−2]第1モーションデータ取得部110は、キャラクタに第1動作を実行させるための第1モーションデータを取得する。第1動作実行部130は、第1モーションデータに基づいて、キャラクタに第1動作を実行させる。
[3-2] The first motion
「第1動作」とは、キャラクタによって実行される動作の一つである。例えば、「第1動作」は、キャラクタを操作するユーザ(又はコンピュータ)によって指示された動作である。 The “first operation” is one of the operations performed by the character. For example, the “first operation” is an operation instructed by a user (or a computer) operating a character.
例えば、「第1動作」では、キャラクタの特定部位が他のオブジェクトと接触する。すなわち、「第1動作」では、キャラクタの特定部位が他のオブジェクトと接触したり、他のオブジェクトから離れたりする。または、「第1動作」が開始されてから終了するまで、キャラクタの特定部位が他のオブジェクトに接触し続けてもよい。 For example, in the “first operation”, a specific part of the character comes into contact with another object. That is, in the “first operation”, the specific part of the character comes into contact with another object or moves away from the other object. Alternatively, the specific portion of the character may keep in contact with another object from the start to the end of the “first operation”.
「第1モーションデータ」とは、第1動作に対応するモーションデータである。「第1モーションデータ」とは、キャラクタに第1動作を実行させるためのモーションデータである。すなわち、「第1モーションデータ」とは、キャラクタに第1動作を実行させる場合の各フレームにおけるキャラクタの姿勢を特定するためのモーションデータである。 “First motion data” is motion data corresponding to the first operation. “First motion data” is motion data for causing a character to execute a first motion. That is, the “first motion data” is motion data for specifying the posture of the character in each frame when the character performs the first motion.
「モーションデータを取得する」とは、例えば、補助記憶部に記憶されたモーションデータを読み出すことである。または、「モーションデータを取得する」とは、例えば、他の装置から通信ネットワークを介してモーションデータを受信することであってもよい。 “Acquiring motion data” means, for example, reading out motion data stored in the auxiliary storage unit. Alternatively, “acquiring motion data” may be, for example, receiving motion data from another device via a communication network.
先述のサッカーゲームの場合、例えば、歩行動作が「第1動作」の一例に相当し、歩行モーションデータが「第1モーションデータ」の一例に相当する。また、選手キャラクタ60が「キャラクタ」の一例に相当し、選手キャラクタ60の左足610L又は右足610Rが上述の「特定部位」の一例に相当し、フィールド51が上述の「他のオブジェクト」の一例に相当する。
In the case of the above-mentioned soccer game, for example, the walking motion corresponds to an example of “first motion”, and the walking motion data corresponds to an example of “first motion data”. In addition, the
先述のサッカーゲームの場合、第1モーションデータ取得部110は、歩行モーションデータをデータ記憶部100から取得する。また、第1動作実行部130は、歩行モーションデータを再生することによって、歩行モーションデータに基づく歩行動作を選手キャラクタ60に実行させる。
In the case of the soccer game described above, the first motion
[3−3]第2モーションデータ取得部120は、キャラクタに第2動作を実行させるための第2モーションデータを取得する。
[3-3] The second motion
「第2動作」とは、キャラクタによって実行される動作の一つであって、第1動作とは異なる動作である。例えば、「第2動作」は、キャラクタを操作するユーザ(又はコンピュータ)によって指示された動作である。 The “second action” is one of actions performed by the character, and is different from the first action. For example, the “second action” is an action instructed by a user (or a computer) operating the character.
例えば、「第2動作」では、キャラクタの特定部位が他のオブジェクトと接触する。すなわち、「第2動作」では、キャラクタの特定部位が他のオブジェクトと接触したり、他のオブジェクトから離れたりする。または、「第2動作」が開始されてから終了するまで、キャラクタの特定部位が他のオブジェクトに接触し続けてもよい。 For example, in the “second operation”, a specific part of the character comes into contact with another object. That is, in the “second operation”, the specific part of the character comes into contact with another object or moves away from the other object. Alternatively, the specific part of the character may keep in contact with another object from the start to the end of the “second operation”.
「第2モーションデータ」とは、第2動作に対応するモーションデータである。「第2モーションデータ」とは、キャラクタに第2動作を実行させるためのモーションデータである。すなわち、「第2モーションデータ」とは、キャラクタに第2動作を実行させる場合の各フレームにおけるキャラクタの姿勢を特定するためのモーションデータである。 “Second motion data” is motion data corresponding to the second operation. “Second motion data” is motion data for causing a character to execute a second motion. That is, the “second motion data” is motion data for specifying the posture of the character in each frame when the character performs the second motion.
先述のサッカーゲームの場合、例えば、ステップ動作が「第2動作」の一例に相当し、ステップモーションデータが「第2モーションデータ」の一例に相当する。第2モーションデータ取得部120はステップモーションデータをデータ記憶部100から取得する。
In the case of the soccer game described above, for example, the step motion corresponds to an example of “second motion”, and the step motion data corresponds to an example of “second motion data”. The second motion
[3−4]特定部位選択部140は、キャラクタが有する複数の部位のうちのいずれかを特定部位として選択する。例えば、キャラクタが、第1動作及び第2動作において、他のオブジェクト上に接触したり、他のオブジェクト上から離れたりする複数の部位を有する場合、特定部位選択部140は、当該複数の部位の各々と他のオブジェクトとの間の距離に基づいて、複数の部位のうちのいずれかを特定部位として選択する。
[3-4] The specific
「特定部位」とは、キャラクタの複数の部位のうちの特定の部位である。「特定部位」とは、第1動作及び第2動作において、他のオブジェクトと接触し得る部位である。例えば、左足又は右足が「特定部位」の一例に相当し得る。また例えば、左手又は右手が「特定部位」の一例に相当し得る。「他のオブジェクト」とは、キャラクタの部位によって接触され得るオブジェクトである。 The “specific part” is a specific part among a plurality of parts of the character. The “specific part” is a part that can come into contact with another object in the first operation and the second operation. For example, the left foot or the right foot may correspond to an example of the “specific part”. Further, for example, the left hand or the right hand may correspond to an example of the “specific portion”. The “other object” is an object that can be touched by a part of the character.
例えば、「他のオブジェクト」とは、キャラクタの左足又は右足によって接触され得るオブジェクトである。すなわち、「他のオブジェクト」とは、例えば、キャラクタの左足又は右足によって接触され得る面を有するオブジェクトである。具体的には、「他のオブジェクト」とは、キャラクタが立つことが可能な面を有するようなオブジェクトである。例えば、フィールド、地面、床等が「他のオブジェクト」の一例に相当する。なお、「面」は、平面であってもよいし、曲面であってもよいし、凹凸のある面であってもよい。 For example, "another object" is an object that can be touched by the character's left or right foot. That is, the “other object” is, for example, an object having a surface that can be touched by the left foot or the right foot of the character. Specifically, the “other object” is an object having a surface on which the character can stand. For example, a field, a ground, a floor, and the like correspond to an example of “another object”. The “surface” may be a flat surface, a curved surface, or a surface having irregularities.
また例えば、「他のオブジェクト」とは、キャラクタの左手又は右手によって接触され得るオブジェクトである。すなわち、「他のオブジェクト」とは、例えば、キャラクタの左手又は右手によって接触され得る面を有するオブジェクトである。具体的には、「他のオブジェクト」とは、例えば、壁、崖、テーブル、フィールド、地面、床等である。なお、「面」は、平面であってもよいし、曲面であってもよいし、凹凸のある面であってもよい。また例えば、キャラクタの左手又は右手によって掴まれるオブジェクトであってもよい。具体的には、例えば、ロープやはしご等であってもよい。 Further, for example, “another object” is an object that can be touched by the left or right hand of the character. That is, the “other object” is, for example, an object having a surface that can be touched by the left or right hand of the character. Specifically, “other objects” are, for example, walls, cliffs, tables, fields, ground, floors, and the like. The “surface” may be a flat surface, a curved surface, or a surface having irregularities. Further, for example, the object may be an object that is grasped by the left or right hand of the character. Specifically, for example, a rope or a ladder may be used.
「複数の部位の各々と他のオブジェクトとの間の距離」とは、例えば、複数の部位の各々の基準点から他のオブジェクトの基準点までの距離である。ここで、「他のオブジェクトの基準点」は予め定められた点であってもよいし、複数の部位の各々の基準点から他のオブジェクトへ垂らした垂線の足を「他のオブジェクトの基準点」としてもよい。 The “distance between each of the plurality of parts and another object” is, for example, the distance from the reference point of each of the plurality of parts to the reference point of another object. Here, the “reference point of another object” may be a predetermined point, or a perpendicular foot dropped from each reference point of a plurality of parts to another object may be referred to as a “reference point of another object”. ".
例えば、キャラクタが左足と右足とを有している場合、左足と右足とが「複数の部位」の一例に相当し、特定部位選択部140は、キャラクタの左足と右足との各々と他のオブジェクトとの間の距離に基づいて、左足と右足とのうちのいずれかを特定部位として選択する。
For example, when the character has a left foot and a right foot, the left foot and the right foot correspond to an example of “plurality of parts”, and the specific
また例えば、キャラクタが左手と右手とを有している場合、左手と右手とが「複数の部位」の一例に相当し、特定部位選択部140は、キャラクタの左手と右手との各々と他のオブジェクトとの間の距離に基づいて、左手と右手とのうちのいずれかを特定部位として選択する。
In addition, for example, when the character has a left hand and a right hand, the left hand and the right hand correspond to an example of “a plurality of parts”, and the specific
例えば、特定部位選択部140は、複数の部位のうちで、他のオブジェクトとの距離が最も小さい部位を特定部位として選択する。または、特定部位選択部140は、複数の部位のうちで、他のオブジェクトとの距離が閾値以下である部位を特定部位として選択してもよい。すなわち、特定部位選択部140は、複数の部位の各々について順番に、上記距離が閾値以下であるか否かを判定し、上記距離が閾値以下である部位が見つかったら、残りの部位について判定を行うことなく、当該部位を特定部位として選択してもよい。
For example, the specific
先述のサッカーゲームの場合、選手キャラクタ60の左足610L及び右足610Rが「複数の部位」の一例に相当し、フィールド51が「他のオブジェクト」の一例に相当する。特定部位選択部140は、選手キャラクタ60の左足610L及び右足610Rの各々とフィールド51との間の距離に基づいて、選手キャラクタ60の左足610L及び右足610Rのうちのいずれかを特定部位として選択する。
In the case of the aforementioned soccer game, the
具体的には、選手キャラクタ60の左足610Lのヌルオブジェクト611Lとフィールド51との距離(すなわち、ヌルオブジェクト611LのYw軸座標値)が、選手キャラクタ60の右足610Rのヌルオブジェクト611Rとフィールド51との距離(すなわち、ヌルオブジェクト611RのYw軸座標値)よりも小さい場合に、特定部位選択部140は選手キャラクタ60の左足610Lを特定部位として選択する。
Specifically, the distance between the
一方、選手キャラクタ60の右足610Rのヌルオブジェクト611Rとフィールド51との距離(すなわち、ヌルオブジェクト611RのYw軸座標値)が選手キャラクタ60の左足610Lのヌルオブジェクト611Lとフィールド51との距離(すなわち、ヌルオブジェクト611LのYw軸座標値)よりも小さい場合に、特定部位選択部140は選手キャラクタ60の右足610Rを特定部位として選択する。
On the other hand, the distance between the
[3−5]第1特定部150は、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合に、第1モーションデータの動作切替時フレームにおけるキャラクタの特定部位の位置を特定する。
[3-5] The first specifying
「第1動作を実行中のキャラクタの動作を第2動作に切り替える」とは、第1動作を実行しているキャラクタに実行させる動作を第1動作から第2動作に切り替えることである。言い換えれば、「第1動作を実行中のキャラクタの動作を第2動作に切り替える」とは、第1動作を実行中のキャラクタに第2動作を開始させることである。すなわち、「第1動作を実行中のキャラクタの動作を第2動作に切り替える」とは、キャラクタによって実行されている第1動作の実行(続行)を中止させ、当該キャラクタに第2動作を開始させることである。 "Switching the action of the character performing the first action to the second action" means switching the action performed by the character performing the first action from the first action to the second action. In other words, "switching the motion of the character performing the first motion to the second motion" means to cause the character performing the first motion to start the second motion. That is, "switching the motion of the character performing the first motion to the second motion" means to stop the execution (continuation) of the first motion performed by the character and to cause the character to start the second motion. That is.
「動作切替時フレーム」とは、第1動作を実行中のキャラクタの動作を第2動作に切り替えるタイミングにおけるフレームである。「動作切替時フレーム」は、予め定められたフレームではなく、例えば、ユーザによる第2動作の実行指示操作に応じて、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合であれば、実行指示操作が行われたと判定されたフレームが「動作切替時フレーム」に相当する。 The “motion switching frame” is a frame at a timing at which the motion of the character performing the first motion is switched to the second motion. The “frame at the time of motion switching” is not a predetermined frame, but may be, for example, a case where the motion of the character performing the first motion is switched to the second motion in response to a user's execution instruction operation of the second motion. For example, a frame determined that the execution instruction operation has been performed corresponds to an “operation switching frame”.
例えば、キャラクタは、複数の部位オブジェクトを含んで構成され、当該複数の部位オブジェクトのうちの、特定部位に対応する部位オブジェクトは、非表示の基準オブジェクトを含んで構成される。そして、第1特定部150は、動作切替時フレームにおけるキャラクタの基準オブジェクトの位置を特定する。
For example, the character is configured to include a plurality of part objects, and of the plurality of part objects, the part object corresponding to the specific part is configured to include a non-display reference object. Then, the first specifying
「複数の部位オブジェクト」とは、キャラクタを構成する複数のオブジェクトである。例えば、個々の部位オブジェクトは複数のポリゴンを含んで構成される。 "A plurality of body objects" are a plurality of objects that make up a character. For example, each part object includes a plurality of polygons.
「非表示のオブジェクト」とは、表示部16に表示されないオブジェクトである。例えば、「非表示のオブジェクト」とは、透明に設定されたオブジェクトである。言い換えれば、「非表示のオブジェクト」とは、表示部16への表示対象(VRAMへの描画対象)から除外されるオブジェクトである。
“Hidden objects” are objects that are not displayed on the
「基準オブジェクト」とは、第1特定部150や第2特定部160による位置の特定の対象として用いられるオブジェクトであり、それ以外の用途のないオブジェクトである。例えば、ヌルオブジェクトが「基準オブジェクト」として設定される。
The “reference object” is an object used as a position specifying target by the first specifying
先述のサッカーゲームの場合、選手キャラクタ60の左足610L及び右足610Rにそれぞれ設定されたヌルオブジェクト611L及びヌルオブジェクト611Rが「基準オブジェクト」の一例に相当する。
In the case of the above-mentioned soccer game, the
先述のサッカーゲームでは、例えば、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合に、第1特定部150は、動作切替時フレームにおける選手キャラクタ60の左足610L又は右足610Rの位置を特定する。具体的には、特定部位選択部140によって特定部位として選択された部位が左足610Lである場合に、第1特定部150は、動作切替時フレームにおけるヌルオブジェクト611Lの位置を特定する。一方、特定部位選択部140によって特定部位として選択された部位が右足610Rである場合に、第1特定部150は、動作切替時フレームにおけるヌルオブジェクト611Rの位置を特定する。
In the above-described soccer game, for example, when the action of the
[3−6]第2特定部160は、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合に、第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々におけるキャラクタの特定部位の位置を特定する。
[3-6] When switching the motion of the character performing the first motion to the second motion, the second specifying
「複数の候補フレーム」とは、第2動作実行部170(フレーム選択部172)による選択の候補となるフレームである。すなわち、「複数の候補フレーム」とは、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合にどのフレームから第2モーションデータに基づいてキャラクタに動作させるのかを決定するための基準として第2動作実行部170(フレーム選択部172)によって選択され得る候補となるフレームである。 The “plurality of candidate frames” are frames that are candidates for selection by the second operation execution unit 170 (frame selection unit 172). That is, the “plurality of candidate frames” is a criterion for determining from which frame the character is to be operated based on the second motion data when the operation of the character performing the first operation is switched to the second operation. Is a candidate frame that can be selected by the second operation execution unit 170 (frame selection unit 172).
「複数の候補フレーム」とは、第2モーションデータの各フレームのうちから設定された複数のフレームである。言い換えれば、「複数の候補フレーム」とは、キャラクタに第2動作を実行させる場合の各フレームのうちから設定された複数のフレームである。例えば、第2モーションデータの全フレーム(言い換えれば、キャラクタに第2動作を実行させる場合の全フレーム)のうちの複数のフレームが「複数の候補フレーム」として設定される。第2モーションデータの全フレームのうちの一部である複数のフレームが「複数の候補フレーム」として設定されてもよいし、第2モーションデータの全フレームが「複数の候補フレーム」として設定されてもよい。 The “plurality of candidate frames” are a plurality of frames set from among the frames of the second motion data. In other words, the “plurality of candidate frames” are a plurality of frames set from among the respective frames when the character performs the second action. For example, a plurality of frames among all frames of the second motion data (in other words, all frames when the character performs the second motion) are set as “plurality of candidate frames”. A plurality of frames that are part of all frames of the second motion data may be set as “plurality of candidate frames”, or all frames of the second motion data may be set as “plurality of candidate frames”. Is also good.
例えば、「複数の候補フレーム」は、第2モーションデータの各フレームのうちからゲーム開発者によって予め設定された複数のフレームである。なお、「複数の候補フレーム」は、第2モーションデータの各フレームのうちからコンピュータによって予め設定された複数のフレームであってもよい。 For example, the “plurality of candidate frames” are a plurality of frames preset by the game developer from among the frames of the second motion data. The “plurality of candidate frames” may be a plurality of frames preset by a computer from among the frames of the second motion data.
例えば、第2モーションデータが、キャラクタに第2動作を実行させる場合の全フレームのうちの複数の特定フレーム(キーフレーム)におけるキャラクタの姿勢を定めたデータである場合、複数の特定フレーム(キーフレーム)の全部又は一部が「複数の候補フレーム」として設定される。なお、第2モーションデータが、キャラクタに第2動作を実行させる場合の全フレームのうちの複数の特定フレーム(キーフレーム)におけるキャラクタの姿勢を定めたデータであっても、特定フレーム以外のフレームが「複数の候補フレーム」に含まれてもよい。 For example, when the second motion data is data defining the posture of the character in a plurality of specific frames (key frames) of all the frames when the character performs the second motion, a plurality of specific frames (key frames) ) Are set as “plurality of candidate frames”. In addition, even if the second motion data is data defining the posture of the character in a plurality of specific frames (key frames) of all the frames in the case where the character performs the second motion, frames other than the specific frame may be used. It may be included in “a plurality of candidate frames”.
なお、「複数の候補フレーム」は、第2モーションデータの先頭フレームから特定の範囲内にあるフレームのうちで設定される。例えば、第2モーションデータのあるフレーム(ここではフレームXと呼ぶ)から第2モーションデータの再生を開始させたとしても、キャラクタの第2動作が不自然であるとはユーザに感じさせてしまうおそれがないが、フレームXよりも後のフレームから第2モーションデータの再生を開始させると、キャラクタの第2動作が不自然であるとユーザに感じさせてしまうおそれがあるような場合、先頭フレームからフレームXまでが「特定の範囲」に相当する。 The “plurality of candidate frames” are set among frames within a specific range from the first frame of the second motion data. For example, even if the reproduction of the second motion data is started from a certain frame of the second motion data (herein referred to as frame X), the user may feel that the second motion of the character is unnatural. However, if the reproduction of the second motion data is started from a frame later than the frame X, the user may feel that the second motion of the character is unnatural. The frame up to frame X corresponds to a “specific range”.
「複数の候補フレームの各々におけるキャラクタの特定部位の位置」とは、第2モーションデータに基づいてキャラクタに第2動作を実行させたと仮定した場合の複数の候補フレームの各々におけるキャラクタの特定部位の位置である。 “The position of the specific part of the character in each of the plurality of candidate frames” refers to the position of the specific part of the character in each of the plurality of candidate frames when it is assumed that the character has performed the second action based on the second motion data. Position.
先述したように、例えば、キャラクタは、複数の部位オブジェクトを含んで構成され、当該複数の部位オブジェクトのうちの、特定部位に対応する部位オブジェクトは、非表示の基準オブジェクトを含んで構成される。そして、第2特定部160は、複数の候補フレームの各々におけるキャラクタの基準オブジェクトの位置を特定する。
As described above, for example, a character is configured to include a plurality of part objects, and a part object corresponding to a specific part of the plurality of part objects is configured to include a non-display reference object. Then, the second specifying
先述のサッカーゲームでは、例えば、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合に、第2特定部160は、ステップモーションデータの各フレームのうちから設定された複数の候補フレームCF[1]〜CF[N]の各々における選手キャラクタ60の左足610L又は右足610Rの位置を特定する。具体的には、特定部位選択部140によって特定部位として選択された部位が左足610Lである場合に、第2特定部160は、複数の候補フレームCF[1]〜CF[N]の各々におけるヌルオブジェクト611Lの位置を特定する。一方、特定部位選択部140によって特定部位として選択された部位が右足610Rである場合に、第2特定部160は、複数の候補フレームCF[1]〜CF[N]の各々におけるヌルオブジェクト611Rの位置を特定する。
In the above-described soccer game, for example, when the action of the
[3−7]第2動作実行部170は、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合に、第1特定部150によって特定された動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された複数の候補フレームの各々における特定部位の位置とに基づいて、複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから第2モーションデータに基づいてキャラクタに動作を実行させる。
[3-7] The second
例えば、第2動作実行部170は、第1特定部150によって特定された動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された複数の候補フレームの各々における特定部位の位置とを比較し、その比較結果に基づいて、複数の候補フレームのうちからいずれかを選択する。
For example, the second
図7に示すように、第2動作実行部170は、距離取得部171とフレーム選択部172とを含む。距離取得部171は、第1特定部150によって特定された動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された複数の候補フレームの各々における特定部位の位置との間の距離を取得する。フレーム選択部172は、複数の候補フレームのうちから、距離取得部171によって取得された距離が最も小さい候補フレームを選択する。そして、第2動作実行部170は、フレーム選択部172によって選択された候補フレームに基づくフレームから第2モーションデータに基づいてキャラクタに動作を実行させる。
As shown in FIG. 7, the second
「距離」は、特定部位の位置が座標値(x,y,z)で示される場合であれば、Δx2+Δy2+Δz2の平方根として算出することができ、特定部位の位置が座標値(x,y)で示される場合であれば、Δx2+Δy2の平方根として算出することができる。 The “distance” can be calculated as the square root of Δx2 + Δy2 + Δz2 if the position of the specific part is indicated by the coordinate value (x, y, z), and the position of the specific part is represented by the coordinate value (x, y). In the case shown, it can be calculated as the square root of Δx2 + Δy2.
「選択された候補フレームに基づくフレーム」とは、例えば、選択された候補フレーム自体である。または、「選択された候補フレームに基づくフレーム」とは、選択された候補フレーム以外のフレームであって、選択された候補フレームに基づいて選択されたフレームであってもよい。例えば、「選択された候補フレームに基づくフレーム」とは、選択された候補フレームの前又は/及び後の所定範囲にあるフレームであってもよい。 The “frame based on the selected candidate frame” is, for example, the selected candidate frame itself. Alternatively, the “frame based on the selected candidate frame” may be a frame other than the selected candidate frame, and may be a frame selected based on the selected candidate frame. For example, the “frame based on the selected candidate frame” may be a frame in a predetermined range before or / and after the selected candidate frame.
「選択された候補フレームに基づくフレームから第2モーションデータに基づいてキャラクタに動作を実行させる」とは、例えば、選択された候補フレームに基づくフレームにおけるキャラクタの姿勢を第2モーションデータに基づいて特定し、キャラクタの姿勢を、上記特定された姿勢から、第2モーションデータに従って変化させることである。 “To cause the character to perform an action based on the second motion data from a frame based on the selected candidate frame” means, for example, to specify the posture of the character in a frame based on the selected candidate frame based on the second motion data Then, changing the posture of the character from the specified posture in accordance with the second motion data.
なお、第2動作実行部170は、キャラクタの姿勢を第1モーションデータに基づく姿勢から第2モーションデータに基づく姿勢へと動作切替時フレームにおいて瞬時に切り替えるのではなく、動作切替時フレームから所定数フレームの期間においては、キャラクタの姿勢を、第1モーションデータに基づく姿勢と第2モーションデータに基づく姿勢とをブレンドしてなる姿勢とし、第1モーションデータに基づく姿勢のブレンド比率を徐々に下げ、第2モーションデータに基づく姿勢のブレンド比率を徐々に上げることによって、キャラクタの姿勢を、第1モーションデータに基づく姿勢から第2モーションデータに基づく姿勢へと徐々に切り替えるようにしてもよい。
Note that the second
「第1モーションデータに基づく姿勢と第2モーションデータに基づく姿勢とをブレンドする」とは、第1モーションデータに基づく姿勢におけるキャラクタの頂点座標を(x1,y1,z1)とし、第2モーションデータに基づく姿勢におけるキャラクタの頂点座標(x2,y2,z2)とし、第2モーションデータに基づく姿勢のブレンド比率をα(α:0〜1の数値)とすると、キャラクタの頂点座標を((x1*(1−α))+(x2*α),(y1*(1−α))+(y2*α),(z1*(1−α))+(z2*α))とすることである。 “Blending the posture based on the first motion data and the posture based on the second motion data” means that the vertex coordinates of the character in the posture based on the first motion data are (x1, y1, z1) and the second motion data Assuming that the vertex coordinates (x2, y2, z2) of the character in the posture based on the character and the blend ratio of the posture based on the second motion data are α (α: 0 to 1), the vertex coordinates of the character are ((x1 * (1-α)) + (x2 * α), (y1 * (1-α)) + (y2 * α), (z1 * (1-α)) + (z2 * α)) .
先述したように、例えば、キャラクタは、複数の部位オブジェクトを含んで構成され、当該複数の部位オブジェクトのうちの、特定部位に対応する部位オブジェクトは、非表示の基準オブジェクトを含んで構成される。そして、第2動作実行部170は、第1特定部150によって特定された動作切替時フレームにおける基準オブジェクトの位置と、第2特定部160によって特定された複数の候補フレームの各々における基準オブジェクトの位置とに基づいて、複数の候補フレームのうちのいずれかを選択する。
As described above, for example, a character is configured to include a plurality of part objects, and a part object corresponding to a specific part of the plurality of part objects is configured to include a non-display reference object. Then, the second
先述のサッカーゲームでは、例えば、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合に、第2動作実行部170は、歩行モーションデータの動作切替時フレームにおける左足610L又は右足610Rの位置と、ステップモーションデータの複数の候補フレームCF[1]〜CF[N]の各々における左足610L又は右足610Rの位置とに基づいて、複数の候補フレームCF[1]〜CF[N]のうちのいずれかを選択する。
In the above-mentioned soccer game, for example, when switching the action of the
具体的には、特定部位選択部140によって特定部位として選択された部位が左足610Lである場合に、距離取得部171は、歩行モーションデータの動作切替時フレームにおけるヌルオブジェクト611Lの位置と、ステップモーションデータの複数の候補フレームCF[1]〜CF[N]の各々におけるヌルオブジェクト611Lの位置との間の距離を取得する。すなわち、図11に示すように、距離取得部171は、ステップモーションデータの各候補フレームCF[i](i=1,2,・・・,N)について、歩行モーションデータの動作切替時フレームにおけるヌルオブジェクト611Lの位置と、ステップモーションデータの候補フレームCF[i]におけるヌルオブジェクト611Lの位置との間の距離Diを取得する。また、フレーム選択部172は、複数の候補フレームCF[1]〜CF[N]のうちから、距離取得部171によって取得された距離が最も小さい候補フレームを選択する。そして、第2動作実行部170は、フレーム選択部172によって選択された候補フレームからステップモーションデータに基づいて選手キャラクタ60に動作を実行させる。
Specifically, when the part selected as the specific part by the specific
一方、特定部位選択部140によって特定部位として選択された部位が右足610Rである場合に、距離取得部171は、歩行モーションデータの動作切替時フレームにおけるヌルオブジェクト611Rの位置と、ステップモーションデータの複数の候補フレームCF[1]〜CF[N]の各々におけるヌルオブジェクト611Rの位置との間の距離を取得する。すなわち、図11に示すように、距離取得部171は、ステップモーションデータの各候補フレームCF[i](i=1,2,・・・,N)について、歩行モーションデータの動作切替時フレームにおけるヌルオブジェクト611Rの位置と、ステップモーションデータの候補フレームCF[i]におけるヌルオブジェクト611Rの位置との間の距離Diを取得する。また、フレーム選択部172は、複数の候補フレームCF[1]〜CF[N]のうちから、距離取得部171によって取得された距離が最も小さい候補フレームを選択する。そして、第2動作実行部170は、フレーム選択部172によって選択された候補フレームからステップモーションデータに基づいて選手キャラクタ60に動作を実行させる。
On the other hand, when the part selected as the specific part by the specific
[4.処理]次に、ゲームシステム1(ゲーム端末10)で実行される処理について説明する。 [4. Processing] Next, processing executed in the game system 1 (game terminal 10) will be described.
図12は、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合に実行される処理の一例を示す。例えば、ユーザの操作対象になっている選手キャラクタ60が歩行動作を実行している間に、ステップ動作の実行指示操作がユーザによって行われた場合に、図12に示す処理が実行される。また例えば、ユーザの操作対象になっていない選手キャラクタ60が歩行動作を実行している間に、当該選手キャラクタ60に対するステップ動作の実行指示がコンピュータによって行われた場合に、図12に示す処理が実行される。ゲーム端末10の制御部11が図12に示す処理をプログラムに従って実行することによって、制御部11が図7に示す機能ブロック(データ記憶部100を除く)として機能するようになる。
FIG. 12 shows an example of a process executed when the operation of the
図12に示すように、まず、制御部11は、歩行モーションデータの動作切替時フレーム(歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替えるタイミングのフレーム)における選手キャラクタ60の左足610Lのヌルオブジェクト611Lの位置を取得する(S100)。
As shown in FIG. 12, first, the control unit 11 sets the left foot 610 </ b> L of the
例えば、制御部11は、キャラクタ状態データD104(再生フレームフィールド)に基づいて、現在再生中のフレームのフレーム番号を特定する。また、制御部11は、歩行モーションデータに基づいて、当該フレームにおける選手キャラクタ60の各ボーンのボーン行列を取得する。そして、制御部11は、選手キャラクタ60の各ボーンの位置及び回転角度を、取得したボーン行列に基づいて設定することによって、選手キャラクタ60のヌルオブジェクト611Lの位置を示すローカル座標系の座標値(すなわち、選手キャラクタ60の基準点に対するヌルオブジェクト611Lの相対的位置)を特定する。また、制御部11は、キャラクタ状態データD104(位置フィールド)に基づいて、選手キャラクタ60の基準点の位置を示すワールド座標系の座標値を特定する。そして、制御部11は、これらに基づいて、ヌルオブジェクト611Lの位置を示すワールド座標系の座標値を特定する。
For example, the control unit 11 specifies the frame number of the currently reproduced frame based on the character state data D104 (reproduction frame field). Further, the control unit 11 acquires a bone matrix of each bone of the
同様に、制御部11は、歩行モーションデータの動作切替時フレームにおける選手キャラクタ60の右足610Rのヌルオブジェクト611Rの位置を取得する(S102)。この処理はステップS100と同様である。
Similarly, the control unit 11 acquires the position of the
ステップS100及びS102の実行後、制御部11は、選手キャラクタ60の左足610L及び右足610Rのうちで、フィールド51に近い方の足を特定部位として選択する(S104)。
After execution of steps S100 and S102, the control unit 11 selects, as a specific part, a foot closer to the
例えば、制御部11は、ステップS100で取得した左足610Lのヌルオブジェクト611Lの位置とフィールド51との距離(第1距離)を取得する。具体的には、制御部11は、ヌルオブジェクト611Lからフィールド51へ垂らした垂線の長さを上記第1距離として取得する。なお、フィールド51がワールド座標系のYw軸座標値が0となるような平面に相当している場合、制御部11は、ヌルオブジェクト611LのYw軸座標値を上記第1距離として取得してもよい。同様に、制御部11は、ステップS102で取得した右足610Rのヌルオブジェクト611Rの位置とフィールド51との距離(第2距離)を取得する。そして、第1距離が第2距離よりも短い場合に、制御部11は左足610Lを特定部位として選択する。一方、第2距離が第1距離よりも短い場合に、制御部11は右足610Rを特定部位として選択する。
For example, the control unit 11 acquires the distance (first distance) between the position of the
また、制御部11はステップモーションデータを取得する(S106)。例えば、ステップモーションデータが記憶部12に記憶されている場合、制御部11はステップモーションデータを記憶部12から読み出す。
Further, the control unit 11 acquires step motion data (S106). For example, when the step motion data is stored in the
さらに、制御部11は変数iを1に初期化し(S108)、第i番目の候補フレームCF[i]における選手キャラクタ60の特定部位の位置を取得する(S110)。
Further, the control unit 11 initializes the variable i to 1 (S108), and acquires the position of the specific part of the
例えば、制御部11は、ステップモーションデータの候補フレームデータD103を参照し、第i番目の候補フレームCF[i]として設定されているフレームのフレーム番号を取得する。また、制御部11は、ステップモーションデータに基づいて、当該フレームにおける選手キャラクタ60の各ボーンのボーン行列を取得する。
For example, the control unit 11 refers to the candidate frame data D103 of the step motion data and acquires the frame number of the frame set as the i-th candidate frame CF [i]. Further, the control unit 11 acquires a bone matrix of each bone of the
そして、ステップS104で選択された特定部位が左足610Lである場合、制御部11は、選手キャラクタ60の各ボーンの位置及び回転角度を、取得したボーン行列に基づいて設定することによって、選手キャラクタ60の左足610Lのヌルオブジェクト611Lの位置を示すローカル座標系の座標値(すなわち、選手キャラクタ60の基準点に対するヌルオブジェクト611Lの相対的位置)を特定する。
When the specific part selected in step S104 is the
一方、ステップS104で選択された特定部位が右足610Rである場合、制御部11は、選手キャラクタ60の各ボーンの位置及び回転角度を、取得したボーン行列に基づいて設定することによって、選手キャラクタ60の右足610Rのヌルオブジェクト611Rの位置を示すローカル座標系の座標値(すなわち、選手キャラクタ60の基準点に対するヌルオブジェクト611Rの相対的位置)を特定する。
On the other hand, when the specific part selected in step S104 is the
ステップS110の実行後、制御部11は、第i番目の候補フレームCF[i]における特定部位の位置(すなわち、ステップS112で取得された位置)と、動作切替時フレームにおける特定部位の位置(ステップS100又はS102で取得された位置のうち、ステップS104で特定部位として特定された足の位置)との間の距離を取得する(S112)。 After execution of step S110, the control unit 11 determines the position of the specific part in the i-th candidate frame CF [i] (that is, the position acquired in step S112) and the position of the specific part in the operation switching frame (step S110). Among the positions acquired in S100 or S102, the distance to the position of the foot identified as the specific part in step S104 is acquired (S112).
例えば、ステップS104で選択された特定部位が左足610Lである場合、制御部11は、ステップS110で取得されたヌルオブジェクト611Lの位置(ローカル座標系の座標値)と、ステップS100で取得されたヌルオブジェクト611Lの位置(ローカル座標系の座標値)との間の距離を算出する。一方、ステップS104で選択された特定部位が右足610Rである場合、制御部11は、ステップS110で取得されたヌルオブジェクト611Rの位置(ローカル座標系の座標値)と、ステップS102で取得されたヌルオブジェクト611Rの位置(ローカル座標系の座標値)との間の距離を算出する。そして、制御部11は、以上のようにして算出された距離を、第i番目の候補フレームCF[i]を識別する情報と関連付けて記憶部12に記憶させる(図11)。
For example, when the specific part selected in step S104 is the
ステップS112の実行後、制御部11は変数iに「1」を加算する(S114)。また、制御部11は変数iがN以下であるか否かを判定する(S116)。ここで、「N」は、ステップモーションデータにおける候補フレームの総数を示している(図6)。 After execution of step S112, the control unit 11 adds “1” to the variable i (S114). The control unit 11 determines whether the variable i is equal to or less than N (S116). Here, “N” indicates the total number of candidate frames in the step motion data (FIG. 6).
変数iがN以下である場合(S116:Yes)、制御部11は、ステップS110〜S114の処理を再度実行する。一方、変数iがN以下でない場合(S116:No)とは、すべての候補フレームCF[1]〜CF[N]について上記距離を取得し終えた場合である。この場合、制御部11は、複数の候補フレームCF[1]〜CF[N]のうちで、ステップS112において取得した距離が最も小さい候補フレームを選択する(S118)。 When the variable i is equal to or smaller than N (S116: Yes), the control unit 11 executes the processing of steps S110 to S114 again. On the other hand, the case where the variable i is not equal to or smaller than N (S116: No) is a case where the above distance has been acquired for all the candidate frames CF [1] to CF [N]. In this case, the control unit 11 selects a candidate frame having the smallest distance acquired in step S112 from among the plurality of candidate frames CF [1] to CF [N] (S118).
ステップS118の実行後、制御部11は、ステップS118で選択した候補フレームからステップモーションデータに基づいて選手キャラクタ60に動作を実行させる(S120)。
After execution of step S118, the control unit 11 causes the
例えば、制御部11は、歩行モーションデータの再生を中止し、ステップS118で選択した候補フレームからステップモーションデータを再生することによって選手キャラクタ60にステップ動作を開始させる。
For example, the control unit 11 causes the
また例えば、制御部11は、動作切替時フレームから所定数フレームの期間において、歩行モーションデータと、ステップS118で選択した候補フレームからのステップモーションデータとのブレンド再生を実行するようにしてもよい。すなわち、制御部11は、動作切替時フレームから所定数フレームの期間において、選手キャラクタ60の姿勢を、歩行モーションデータに基づく姿勢とステップモーションデータに基づく姿勢とをブレンドしてなる姿勢とし、歩行モーションデータに基づく姿勢のブレンド比率を徐々に下げ、ステップモーションデータに基づく姿勢のブレンド比率を徐々に上げることによって、選手キャラクタ60の姿勢を、歩行モーションデータに基づく姿勢からステップモーションデータに基づく姿勢へと徐々に切り替えるようにしてもよい。つまり、制御部11は、動作切替時フレームから所定数フレームの期間において、選手キャラクタ60の動作を、歩行動作とステップ動作とをブレンドしてなる動作とし、歩行動作のブレンド比率を徐々に下げ、ステップ動作のブレンド比率を徐々に上げることによって、選手キャラクタ60の動作を歩行動作からステップ動作へと徐々に切り替えるようにしてもよい。
Further, for example, the control unit 11 may execute blend reproduction of the walking motion data and the step motion data from the candidate frame selected in step S118 in a period of a predetermined number of frames from the motion switching frame. That is, the control unit 11 sets the posture of the
なお、ステップS112において、制御部11はワールド座標系における距離を取得してもよい。すなわち、ステップS104で選択された特定部位が左足610Lである場合には、ステップS110において、制御部11は、キャラクタ状態データD104(位置フィールド)に基づいて、選手キャラクタ60の基準点の位置を示すワールド座標系の座標値を特定し、ヌルオブジェクト611Lの位置を示すローカル座標系の座標値と、選手キャラクタ60の基準点の位置を示すワールド座標系の座標値とに基づいて、ヌルオブジェクト611Lの位置を示すワールド座標系の座標値を特定してもよい。そして、ステップS112において、制御部11は、ステップS110で取得されたヌルオブジェクト611Lの位置(ワールド座標系の座標値)と、ステップS100で取得されたヌルオブジェクト611Lの位置(ワールド座標系の座標値)との間の距離を算出してもよい。同様に、ステップS104で選択された特定部位が右足610Rである場合には、ステップS110において、制御部11は、ヌルオブジェクト611Rの位置を示すワールド座標系の座標値を特定してもよい。そして、ステップS112において、制御部11は、ステップS110で取得されたヌルオブジェクト611Rの位置(ワールド座標系の座標値)と、ステップS100で取得されたヌルオブジェクト611Rの位置(ワールド座標系の座標値)との間の距離を算出してもよい。
In step S112, the control unit 11 may acquire the distance in the world coordinate system. That is, when the specific part selected in step S104 is the
また、ステップS104において、制御部11は、左足610Lのヌルオブジェクト611Lの位置を示すローカル座標系の座標値と、右足610Rのヌルオブジェクト611Rの位置を示すローカル座標系の座標値とを比較することによって、フィールド51に近い方の足を特定するようにしてもよい。例えば、制御部11は、ヌルオブジェクト611Lの位置を示すローカル座標系の座標値と所定の座標値(フィールド51に対応するローカル座標系の座標値)との間の距離を第1距離として算出してもよい。同様に、制御部11は、ヌルオブジェクト611Rの位置を示すローカル座標系の座標値と所定の座標値(フィールド51に対応するローカル座標系の座標値)との間の距離を第2距離として算出してもよい。そして、第1距離が第2距離よりも短い場合に、制御部11は左足610Lを特定部位として選択し、第2距離が第1距離よりも短い場合に、制御部11は右足610Rを特定部位として選択してもよい。
Further, in step S104, the control unit 11 compares the coordinate value of the local coordinate system indicating the position of the
[5.まとめ]以上に説明したゲームシステム1によれば、例えば、歩行動作を実行中のキャラクタの動作をステップ動作に切り替える場合に、動作切替時における選手キャラクタ60の左足610L又は右足610R(例えばフィールド51に接触している方の足)の位置ずれを軽減でき、その結果、「足滑り」の発生を抑制できる。
[5. Conclusion] According to the
なお、「足滑り」は、フィールド51に接触している足又はフィールド51に近い位置にある足について発生しやすい。一方、フィールド51から離れている足に関しては、動作切替時に位置ずれが生じていたとしても、ユーザに違和感を与えてしまう可能性は低い。この点、ゲームシステム1によれば、選手キャラクタ60の左足610L又は右足610Rのうち、フィールド51に近い方の足がどちらであるかを判定し、フィールド51に近い方の足について、動作切替時の位置ずれを軽減するため、「足滑り」が発生する可能性が高い足に関して、動作切替時の位置ずれを軽減できる。
Note that “foot slip” is likely to occur for a foot in contact with the
また、ゲームシステム1によれば、例えば、ユーザによるステップ動作の実行指示操作に応じて、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合に、実行指示操作に応じて、直ちに、選手キャラクタの動作を切り替えることができ、選手キャラクタ60の動作切替が遅れる(すなわち、選手キャラクタ60の反応が遅い)との不満をユーザに感じさせないように図ることができる。
Further, according to the
また、ゲームシステム1によれば、左足610Lにヌルオブジェクト611Lを設定し、右足610Rにヌルオブジェクト611Rを設定したことによって、第1特定部150、第2特定部160、及び第2動作実行部170において、左足610L又は右足610Rの位置としてヌルオブジェクト611L,611Rの位置のみに着目すればよくなるため、処理を簡略化できる。また、ヌルオブジェクト611L,611Rは非表示のオブジェクトであるため、余計なオブジェクトが表示部16に表示されるという不都合も発生しない。
According to the
[6.変形例]本発明は以上に説明した実施形態に限定されるものではない。 [6. Modifications] The present invention is not limited to the embodiment described above.
[6−1]例えば、第2動作実行部170は、第2モーションデータの複数の候補フレームの各々について、順番に、第1特定部150によって特定された第1モーションデータの動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された当該候補フレームにおける特定部位の位置との間の距離が閾値よりも小さい否かを判定していき、当該距離が閾値よりも小さい候補フレームが見つかったら、残りの候補フレームについて判定を行うことなく当該候補フレームを選択するようにしてもよい。
[6-1] For example, for each of the plurality of candidate frames of the second motion data, the second
すなわち、図12に示す処理では、ステップS112の実行後において、ステップS112で取得された距離が閾値よりも小さいか否かを判定するようにしてもよい。そして、距離が閾値よりも小さければ、第i番目の候補フレームCF[i]を選択して、ステップS120を実行し、一方、距離が閾値よりも小さくなければ、ステップS114を実行するようにしてもよい。このようにすれば、候補フレームCF[1]〜CF「N」のすべてについて距離を取得しなくても、いずれかの候補フレームを選択できる場合があるため、複数の候補フレームCF[1]〜CF「N」のうちからいずれかを選択するための処理負荷を軽減できる。 That is, in the process shown in FIG. 12, after the execution of step S112, it may be determined whether or not the distance acquired in step S112 is smaller than the threshold. If the distance is smaller than the threshold, the i-th candidate frame CF [i] is selected, and step S120 is executed. On the other hand, if the distance is not smaller than the threshold, step S114 is executed. Is also good. By doing so, there is a case where any one of the candidate frames CF [1] to CF “N” can be selected without acquiring the distance, so that a plurality of candidate frames CF [1] to CF [1] to CF “N” can be selected. The processing load for selecting any one of CF “N” can be reduced.
[6−2]また例えば、第2動作実行部170は、第1特定部150によって特定された第1モーションデータの動作切替時フレームにおける特定部位(例えば左足又は右足)の位置に基づいて設定される判定領域(例えば、第1動作を実行中のキャラクタの特定部位の位置から閾値以下の領域)内に、第2特定部160によって特定された、第2モーションデータの複数の候補フレームのいずれかにおける特定部位の位置が含まれる場合に、当該候補フレームを選択するようにしてもよい。
[6-2] Also, for example, the second
すなわち、図12に示す処理では、ステップS104において特定部位として特定された足が左足610Lであれば、ステップS110の実行後において、ステップS100で取得された位置に基づいて設定される判定領域内に、ステップS110で取得された位置が含まれているか否かを判定するようにしてもよい。一方、ステップS104において特定部位として特定された足が右足610Rであれば、ステップS110の実行後において、ステップS102で取得された位置に基づいて設定される判定領域内に、ステップS110で取得された位置が含まれているか否かを判定するようにしてもよい。そして、ステップS110で取得された位置が判定領域に含まれていれば、第i番目の候補フレームCF[i]を選択して、ステップS120を実行し、一方、ステップS110で取得された位置が判定領域に含まれていなければ、ステップS114を実行するようにしてもよい。このようにしても、候補フレームCF[1]〜CF「N」のすべてについて距離を取得しなくても、いずれかの候補フレームを選択できる場合があるため、処理負荷を軽減できる。
That is, in the process shown in FIG. 12, if the foot specified as the specific part in step S104 is the
[6−3]また例えば、第2動作実行部170は、第1特定部150によって特定された第1モーションデータの動作切替時フレームにおける特定部位(例えば左足又は右足)の位置が、第2特定部160によって特定された、第2モーションデータの複数の候補フレームのいずれかにおけるキャラクタの特定部位の位置に基づいて設定される判定領域(例えば、複数の候補フレームの各々におけるキャラクタの特定部位の位置から閾値以下の領域)内に含まれる場合に、当該候補フレームを選択するようにしてもよい。
[6-3] Further, for example, the second
すなわち、図12に示す処理では、ステップS104において特定部位として特定された足が左足610Lであれば、ステップS110の実行後において、ステップS110で取得された位置に基づいて設定される判定領域内に、ステップS100で取得された位置が含まれているか否かを判定するようにしてもよい。一方、ステップS104において特定部位として特定された足が右足610Rであれば、ステップS110の実行後において、ステップS110で取得された位置に基づいて設定される判定領域内に、ステップS102で取得された位置が含まれているか否かを判定するようにしてもよい。そして、ステップS100又はS102で取得された位置が判定領域に含まれていれば、第i番目の候補フレームCF[i]を選択して、ステップS120を実行し、一方、ステップS100又はS102で取得された位置が判定領域に含まれていなければ、ステップS114を実行するようにしてもよい。このようにしても、候補フレームCF[1]〜CF「N」のすべてについて距離を取得しなくても、いずれかの候補フレームを選択できる場合があるため、処理負荷を軽減できる。
That is, in the processing shown in FIG. 12, if the foot specified as the specific part in step S104 is the
[6−4]また例えば、ゲーム端末10(画像処理装置の一例)の制御部11によって実行されることとして説明した処理の全部又は一部がサーバ30(画像処理装置の他の一例)で実行されてもよい。この場合、サーバ30で処理を実行するために必要なデータを記憶部32又はデータベース35に格納したり、ゲーム端末10からサーバ30に送信したりするようにすればよい。また、各種画像を表示部16に表示するために必要なデータ(画像自体を示すデータ又は画像を生成するためのデータ等)をサーバ30からゲーム端末10に送信するようにすればよい。
[6-4] For example, all or a part of the processing described as being executed by the control unit 11 of the game terminal 10 (an example of the image processing apparatus) is executed by the server 30 (another example of the image processing apparatus). May be done. In this case, data necessary for executing the processing in the
[6−5]以上では、主に、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合について主に説明したが、本発明は、歩行動作以外の動作を実行中の選手キャラクタ60の動作をステップ動作以外の動作に切り替える場合に用いることもできる。
[6-5] In the above description, the case where the operation of the
また、以上では、サッカーゲームにおいて、「足滑り」の発生を抑制しつつ、選手キャラクタ60の動作を切り替える場合について主に説明したが、本発明は、サッカーゲーム以外のゲームにも適用できる。
In the above description, the case where the action of the
また、以上では、「足滑り」の発生を抑制する場合について主に説明したが、先述したように、本発明は、「手滑り」の発生を抑制するために用いることもできる。例えば、キャラクタが逆立ちをした状態が各種動作を行うようなゲーム等、キャラクタが他のオブジェクト(例えば、フィールド、壁、又はテーブル等)に手を付いた状態で各種動作を行うようなゲームでは、動作切替前後で他のオブジェクトに接触しているキャラクタの左手又は右手の位置ずれが発生することによって、動作切替時にキャラクタの左手又は右手が他のオブジェクト上で滑っているかのようにユーザに見えてしまう可能性がある。この点、本発明に係る手法をキャラクタの左手又は右手を対象として実行することによって、「手滑り」の発生を抑制しつつ、キャラクタの動作を切り替えることもできる。 In the above, the case where the occurrence of “foot slip” is suppressed has been mainly described. However, as described above, the present invention can also be used to suppress the occurrence of “hand slip”. For example, in a game such as a game in which the character stands upside down and performs various operations, such as a game in which the character performs various operations while holding a hand on another object (for example, a field, a wall, a table, or the like), The displacement of the left or right hand of the character that is in contact with another object before and after the movement switching causes the user to look as if the left or right hand of the character is sliding on another object at the time of the movement switching. May be lost. In this regard, by executing the method according to the present invention for the left hand or the right hand of the character, it is also possible to switch the movement of the character while suppressing the occurrence of “hand slip”.
[6−6]以上では、本発明を画像処理システム(画像処理装置)の一例であるゲームシステム1(ゲーム端末10)に適用した場合について説明したが、本発明は、ゲームシステム1以外の画像処理システムにも適用できる。本発明は、第1モーションデータに基づく第1動作を実行中のキャラクタを第2モーションデータに基づく第2動作に切り替えるような各種画像処理システム(画像処理装置)に適用できる。 [6-6] In the above, the case where the present invention is applied to the game system 1 (game terminal 10) as an example of the image processing system (image processing apparatus) has been described. It can also be applied to processing systems. The present invention can be applied to various image processing systems (image processing devices) that switch a character performing a first motion based on first motion data to a second motion based on second motion data.
[7.付記]以上のような記載から、本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために、適宜図面に記載された符号を括弧書きで記載するが、それにより本発明が図示の態様に限定されるものではない。 [7. Supplementary Note] From the above description, the present invention is grasped, for example, as follows. Note that, in order to facilitate understanding of the present invention, reference numerals described in the drawings are appropriately written in parentheses, but the present invention is not limited to the illustrated embodiments.
1)本発明の一態様に係る画像処理装置(10)は、キャラクタ(例えば選手キャラクタ60)に第1動作(例えば歩行動作)を実行させるための第1モーションデータ(例えば歩行モーションデータ)を取得する第1取得手段(110)と、前記キャラクタに第2動作(例えばステップ動作)を実行させるための第2モーションデータ(例えばステップモーションデータ)を取得する第2取得手段(120)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1モーションデータの動作切替時フレームにおける前記キャラクタの特定部位(例えば左足610L又は右足610R)の位置を特定する第1特定手段(150)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々における前記キャラクタの前記特定部位の位置を特定する第2特定手段(160)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1特定手段(150)によって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定手段(160)によって特定された前記複数の候補フレームの各々における前記特定部位の位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから前記第2モーションデータに基づいて前記キャラクタに動作を実行させる実行手段(170)と、を含む。
1) The image processing device (10) according to one embodiment of the present invention acquires first motion data (for example, walking motion data) for causing a character (for example, a player character 60) to execute a first motion (for example, walking motion). A first obtaining unit (110) for performing a second motion (for example, step motion) on the character; a second obtaining unit (120) for obtaining second motion data (for example, step motion data); In a case where the motion of the character performing one motion is switched to the second motion, a position of a specific portion (for example, the
6)本発明の一態様に係る画像処理システム(1)は、キャラクタに第1動作を実行させるための第1モーションデータを取得する第1取得手段(110)と、前記キャラクタに第2動作を実行させるための第2モーションデータを取得する第2取得手段(120)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1モーションデータの動作切替時フレームにおける前記キャラクタの特定部位の位置を特定する第1特定手段(150)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々における前記キャラクタの前記特定部位の位置を特定する第2特定手段(160)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1特定手段(150)によって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定手段(160)によって特定された前記複数の候補フレームの各々における前記特定部位の位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから前記第2モーションデータに基づいて前記キャラクタに動作を実行させる実行手段(170)と、を含む。 6) An image processing system (1) according to an aspect of the present invention includes a first acquisition unit (110) for acquiring first motion data for causing a character to perform a first operation, and a second operation performed on the character. A second acquisition unit for acquiring second motion data to be executed, and an operation switching of the first motion data when the operation of the character performing the first operation is switched to the second operation. A first specifying unit (150) for specifying a position of a specific portion of the character in a time frame; and a step of switching the motion of the character performing the first motion to the second motion. A second specifying unit configured to specify a position of the specific portion of the character in each of a plurality of candidate frames set from each frame; When switching the motion of the character performing the first motion to the second motion, the position of the specific portion in the motion switching frame specified by the first specifying means (150); (2) selecting one of the plurality of candidate frames based on the position of the specific portion in each of the plurality of candidate frames specified by the specifying unit (160), and selecting the selected candidate frame based on the selected candidate frame; Executing means (170) for causing the character to execute an action based on the second motion data from a frame.
7)また、本発明の一態様に係るプログラムは、1)〜5)のいずれかに記載の画像処理装置(10)、又は、6)に記載の画像処理システム(1)としてコンピュータを機能させるためのプログラムである。 7) Further, a program according to one embodiment of the present invention causes a computer to function as the image processing device (10) according to any one of 1) to 5) or the image processing system (1) according to 6). It is a program for.
8)また、本発明の一態様に係る情報記憶媒体は、7)に記載のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。 8) Further, an information storage medium according to one embodiment of the present invention is a computer-readable information storage medium storing the program described in 7).
9)また、本発明の一態様に係る画像処理方法(画像処理装置(10)又は画像処理システム(1)の制御方法)は、キャラクタに第1動作を実行させるための第1モーションデータを取得する第1取得ステップ(S100,S102)と、前記キャラクタに第2動作を実行させるための第2モーションデータを取得する第2取得ステップ(S106)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1モーションデータの動作切替時フレームにおける前記キャラクタの特定部位の位置を特定する第1特定ステップ(S100,S102,S104)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々における前記キャラクタの前記特定部位の位置を特定する第2特定ステップ(S110)と、前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1特定ステップによって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定ステップによって特定された前記複数の候補フレームの各々における前記特定部位の位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから前記第2モーションデータに基づいて前記キャラクタに動作を実行させる実行ステップ(S118,S120)と、を含む。 9) In addition, the image processing method (the image processing device (10) or the control method of the image processing system (1)) according to one embodiment of the present invention acquires first motion data for causing a character to perform a first motion. A first obtaining step (S100, S102), a second obtaining step (S106) of obtaining second motion data for causing the character to perform a second motion, and a first obtaining step (S106) of the character performing the first motion. A first specifying step (S100, S102, S104) of specifying a position of a specific portion of the character in a motion switching frame of the first motion data when the motion is switched to the second motion; When switching the motion of the character being executed to the second motion, setting is performed from among the frames of the second motion data. A second specifying step (S110) of specifying a position of the specific portion of the character in each of the plurality of candidate frames obtained, and a case where the motion of the character performing the first motion is switched to the second motion. Based on the position of the specific portion in the operation switching frame specified by the first specifying step and the position of the specific portion in each of the plurality of candidate frames specified by the second specifying step, Executing one of the plurality of candidate frames and causing the character to execute an action based on the second motion data from a frame based on the selected candidate frame (S118, S120). .
上記1)、6)〜9)に記載の発明によれば、第1モーションデータに基づく第1動作を実行中のキャラクタの動作を第2モーションデータに基づく第2動作に切り替える場合に、第1モーションデータの動作切替時フレームにおけるキャラクタの特定部位の位置と、第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々におけるキャラクタの特定部位の位置とに基づいて、複数の候補フレームのうちのいずれかを選択し、選択された候補フレームに基づくフレームから第2モーションデータに基づいてキャラクタに動作を実行させる。 According to the inventions described in 1), 6) to 9) above, when the motion of the character performing the first motion based on the first motion data is switched to the second motion based on the second motion data, the first motion is performed. Based on the position of the specific part of the character in the motion switching frame of the motion data and the position of the specific part of the character in each of the plurality of candidate frames set from each frame of the second motion data, a plurality of candidates are determined. One of the frames is selected, and the character performs an action based on the second motion data from a frame based on the selected candidate frame.
以上のようにしたことによって、第1動作から第2動作への動作切替時の特定部位(例えばフィールド、地面、又は床に接地している足、又は、壁又はテーブル等に接触している手等)の位置ずれを軽減できる。その結果、第1動作から第2動作への動作切替時にキャラクタの特定部位が他のオブジェクト(例えば、フィールド、地面、床、壁、又はテーブル等)上で滑っているかのように見えてしまうことを抑制できる。 With the above configuration, a specific portion (for example, a foot that is in contact with the field, the ground, or the floor, or a hand that is in contact with a wall, a table, or the like when switching the operation from the first operation to the second operation) ) Can be reduced. As a result, when the motion is switched from the first motion to the second motion, the specific portion of the character may appear to be sliding on another object (for example, a field, the ground, a floor, a wall, or a table). Can be suppressed.
また、以上のようにしたことにとって、ユーザによる第2動作の実行指示操作に応じて、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合に、実行指示操作に応じて直ちにキャラクタの動作を切り替えることができる。その結果、キャラクタの動作切替が遅れる(すなわち、キャラクタの反応が遅い)との不満をユーザに感じさせないように図ることができる。 Further, in the above-described manner, when the action of the character performing the first action is switched to the second action according to the user's execution instruction operation of the second action, the character is immediately changed in response to the execution instruction operation. Operation can be switched. As a result, it is possible to prevent the user from feeling dissatisfied that the switching of the motion of the character is delayed (that is, the response of the character is slow).
以上のように、上記1)、6)〜9)に記載の発明によれば、第1モーションデータに基づく第1動作を実行中のキャラクタの動作を第2モーションデータに基づく第2動作に切り替えることを、動作切替時にキャラクタの特定部位が他のオブジェクト(例えば、フィールド、地面、床、壁、又は壁等)上で滑っているかのように見えてしまわないようにしつつ、かつ、キャラクタの動作切替が遅れる(すなわち、キャラクタの反応が遅い)との不満をユーザに感じさせないようにしつつ実現することができる。すなわち、第1モーションデータに基づく第1動作を実行中のキャラクタの動作を第2モーションデータに基づく第2動作に切り替えることを好適に実行することが可能になる。 As described above, according to the inventions described in the above 1), 6) to 9), the motion of the character performing the first motion based on the first motion data is switched to the second motion based on the second motion data. This is done so that the specific part of the character does not look as if sliding on another object (for example, a field, the ground, a floor, a wall, a wall, or the like) at the time of switching the motion, and the motion of the character is performed. This can be realized while preventing the user from feeling dissatisfied that the switching is delayed (that is, the response of the character is slow). That is, it is possible to preferably execute switching of the motion of the character performing the first motion based on the first motion data to the second motion based on the second motion data.
2)本発明の一態様に係る画像処理装置(10)では、前記実行手段(170)は、前記第1特定手段(150)によって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定手段(160)によって特定された前記複数の候補フレームの各々における前記特定部位の位置との間の距離を取得する距離取得手段(171)と、前記複数の候補フレームのうちから、前記距離が最も小さい候補フレームを選択するフレーム選択手段(172)と、を含むようにしてもよい。 2) In the image processing device (10) according to an aspect of the present invention, the execution unit (170) includes: a position of the specific portion in the operation switching frame specified by the first specifying unit (150); A distance acquisition unit (171) for acquiring a distance between the position of the specific part in each of the plurality of candidate frames identified by the second identification unit (160); Frame selecting means (172) for selecting a candidate frame having the smallest distance.
2)に記載の発明によれば、第1特定手段によって特定された動作切替時フレームにおける特定部位の位置と、第2特定手段によって特定された複数の候補フレームの各々における特定部位の位置との間の距離を取得し、複数の候補フレームのうちから、当該距離が最も小さい候補フレームを選択するため、第1動作から第2動作への動作切替時の特定部位の位置ずれをできる限り小さくできる。 According to the invention described in (2), the position of the specific portion in the operation switching frame specified by the first specifying device and the position of the specific portion in each of the plurality of candidate frames specified by the second specifying device are determined. Since the distance between the frames is obtained and the candidate frame having the smallest distance is selected from the plurality of candidate frames, the positional displacement of the specific part when the operation is switched from the first operation to the second operation can be minimized. .
3)本発明の一態様に係る画像処理装置(10)では、前記キャラクタは、前記第1動作及び前記第2動作において、他のオブジェクト(例えばフィールド51)上に接触したり、前記他のオブジェクト上から離れたりする複数の部位(例えば左足610L及び右足610R)を有し、前記画像処理装置(10)は、前記複数の部位の各々と前記他のオブジェクトとの間の距離に基づいて、前記複数の部位のうちのいずれかを前記特定部位として選択する特定部位選択手段(140)をさらに含むようにしてもよい。
3) In the image processing device (10) according to an aspect of the present invention, in the first motion and the second motion, the character may touch another object (for example, the field 51) or may not touch the other object. The image processing device (10) includes a plurality of parts (for example, a
3)に記載の発明によれば、第1動作から第2動作への動作切替時に他のオブジェクト上で滑っているかのように見えてしまうという不都合を発生させてしまう可能性が高い部位に関して、動作切替時の位置ずれを軽減できるようになる。第1動作から第2動作への動作切替時にキャラクタの部位が他のオブジェクト上で滑っているかのように見えてしまうという不都合は、他のオブジェクト上に接触している部位又は他のオブジェクトに近い位置にある部位について発生しやすい。一方、他のオブジェクトから離れている部位に関しては、動作切替時に位置ずれが生じていたとしても、ユーザに違和感を与えてしまう可能性は低い。この点、本発明によれば、キャラクタの複数の部位の各々と他のオブジェクトとの間の距離に基づいて、当該複数の部位のうちのいずれかを特定部位として選択するようにしたため、上記不都合を発生させてしまう可能性が高い部位に関して、第1動作から第2動作への動作切替時の位置ずれを軽減できるようになる。 According to the invention described in 3), when a motion is switched from the first motion to the second motion, with respect to a portion that is highly likely to cause an inconvenience of appearing as if sliding on another object, The displacement at the time of operation switching can be reduced. The inconvenience that the part of the character appears as if sliding on another object when the operation is switched from the first operation to the second operation is close to the part in contact with another object or the other object. It is easy to occur for a part at a position. On the other hand, with respect to a part that is distant from another object, it is unlikely that the user will feel uncomfortable even if a position shift occurs when the operation is switched. In this regard, according to the present invention, any one of the plurality of parts is selected as the specific part based on the distance between each of the plurality of parts of the character and another object. It is possible to reduce the positional deviation at the time of switching the operation from the first operation to the second operation with respect to a portion that is highly likely to cause the motion.
4)本発明の一態様に係る画像処理装置(10)では、前記キャラクタは、複数の部位オブジェクトを含んで構成され、前記複数の部位オブジェクトのうちの、前記特定部位に対応する部位オブジェクト(例えば左足610L又は右足610R)は、非表示の基準オブジェクト(例えばヌルオブジェクト611L又は611R)を含んで構成され、前記第1特定手段(150)は、前記動作切替時フレームにおける前記キャラクタの前記基準オブジェクトの位置を特定し、前記第2特定手段(160)は、前記複数の候補フレームの各々における前記キャラクタの前記基準オブジェクトの位置を特定し、前記実行手段(170)は、前記第1特定手段(150)によって特定された前記動作切替時フレームにおける前記基準オブジェクトの位置と、前記第2特定手段(160)によって特定された前記複数の候補フレームの各々における前記基準オブジェクトの位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択するようにしてもよい。
4) In the image processing device (10) according to one aspect of the present invention, the character is configured to include a plurality of part objects, and a part object corresponding to the specific part (for example, The
4)に記載の発明によれば、第1特手手段、第2特定手段や、実行手段において、基準オブジェクトの位置のみについて着目すればよくなるため、処理を簡略化できる。また、基準オブジェクトは非表示のオブジェクトであるため、余計なオブジェクトが表示部に表示されるという不都合も発生しない。 According to the invention described in 4), since the first special means, the second specifying means, and the execution means only need to pay attention to the position of the reference object, the processing can be simplified. Further, since the reference object is a non-display object, there is no inconvenience that an unnecessary object is displayed on the display unit.
5)本発明の一態様に係る画像処理装置(10)では、前記複数の候補フレームは、前記第2モーションデータの先頭フレームから特定の範囲内にあるフレームのうちで設定されるようにしてもよい。 5) In the image processing device (10) according to an aspect of the present invention, the plurality of candidate frames may be set in frames within a specific range from the first frame of the second motion data. Good.
5)に記載の発明によれば、下記に説明するような不都合の発生を抑制できる。第2モーションデータの先頭フレームから離れたフレームから第2モーションデータに基づいてキャラクタに動作を実行させた場合、キャラクタの動作が第2動作の途中から実行されることによって、キャラクタの動作が不自然であるとユーザが感じてしまうおそれがある。この点、5)に記載の発明によれば、このような不都合の発生を抑制できる。 According to the invention described in 5), the occurrence of inconvenience as described below can be suppressed. When the character performs an action based on the second motion data from a frame far from the first frame of the second motion data, the action of the character is unnatural because the action of the character is performed in the middle of the second action. May be felt by the user. In this regard, according to the invention described in 5), the occurrence of such inconvenience can be suppressed.
10)本発明の一態様に係る画像処理装置(10)では、前記キャラクタは左足と右足とを有し、前記複数の部位は前記左足と前記右足とであってもよい。 10) In the image processing device (10) according to one aspect of the present invention, the character may have a left foot and a right foot, and the plurality of parts may be the left foot and the right foot.
10)に記載の発明によれば、キャラクタの左足及び右足のうち、第1動作から第2動作への動作切替時に他のオブジェクト(例えばフィールド、地面、又は床等)上で滑っているかのように見えてしまうという不都合を発生させてしまう可能性が高い方の部位に関して、動作切替時の位置ずれを軽減できるようになる。第1動作から第2動作への動作切替時に他のオブジェクト上で滑っているかのように見えてしまうという不都合は、左足と右足とのうちの、他のオブジェクト上に接触している方(又は他のオブジェクトに近い方)について発生しやすい。この点、本発明によれば、キャラクタの左足と右足とのうちの、上記不都合を発生させてしまう可能性が高い方に関して、動作切替時の位置ずれを軽減できるようになる。 According to the invention described in 10), it is as if the character's left foot and right foot are sliding on another object (for example, a field, the ground, or the floor) when the operation is switched from the first operation to the second operation. With respect to a portion that is more likely to cause inconvenience of being seen, it is possible to reduce a position shift at the time of operation switching. The inconvenience of appearing as if sliding on another object when the operation is switched from the first operation to the second operation is that the left foot and the right foot which are in contact with the other object (or (Which is closer to other objects). In this regard, according to the present invention, it is possible to reduce the positional deviation at the time of the operation switching with respect to the left foot and the right foot of the character, which is more likely to cause the above-described inconvenience.
11)本発明の一態様に係る画像処理装置(10)では、前記キャラクタは左手と右手とを有し、前記複数の部位は前記左手と前記右手とであってもよい。 11) In the image processing device (10) according to one aspect of the present invention, the character may have a left hand and a right hand, and the plurality of parts may be the left hand and the right hand.
11)に記載の発明によれば、キャラクタの左手及び右手のうち、第1動作から第2動作への動作切替時に他のオブジェクト(例えば壁又はテーブル等)上で滑っているかのように見えてしまうという不都合を発生させてしまう可能性が高い方の部位に関して、動作切替時の位置ずれを軽減できるようになる。第1動作から第2動作への動作切替時に他のオブジェクト上で滑っているかのように見えてしまうという不都合は、左手と右手とのうちの、他のオブジェクト上に接触している方(又は他のオブジェクトに近い方)について発生しやすい。この点、本発明によれば、キャラクタの左手と右手とのうちの、上記不都合を発生させてしまう可能性が高い方の部位に関して、動作切替時の位置ずれを軽減できるようになる。 According to the invention described in 11), the character's left hand and right hand appear to be sliding on another object (for example, a wall or a table) when the operation is switched from the first operation to the second operation. With respect to a portion that is more likely to cause inconvenience, it is possible to reduce a position shift at the time of operation switching. The inconvenience of appearing as if sliding on another object when the operation is switched from the first operation to the second operation is that the left hand or the right hand which is in contact with another object (or (Which is closer to other objects). In this regard, according to the present invention, it is possible to reduce the displacement at the time of the operation switching for the portion of the left hand and the right hand of the character which is more likely to cause the above-described inconvenience.
1 ゲームシステム、N ネットワーク、10 ゲーム端末、11 制御部、12 記憶部、13 光ディスクドライブ部、14 通信部、15 操作部、16 表示部、17
音声出力部、30 サーバ、31 制御部、32 記憶部、33 光ディスクドライブ部、34 通信部、35 データベース、50 仮想空間、51 フィールド、52 タッチライン、53 ゴールライン、54 センターライン、55 ピッチ、56 ゴール、57 ボール、58 視点、60 選手キャラクタ、601 頭、602 首、603
胸、604 腰、605L 左上腕、605R 右上腕、606L 左前腕、606R
右前腕、607L 左手、607R 右手、608L 左腿、608R 右腿、609L 左脛、609R 右脛、610L 左足、610R 右足、611L,611R ヌルオブジェクト、100 データ記憶部、D101 モデルデータ、D102 モーションデータ、D103 候補フレームデータ、D104 キャラクタ状態データ、110 第1モーションデータ取得部、120 第2モーションデータ取得部、130 第1動作実行部、140 特定部位選択部、150 第1特定部、160 第2特定部、170 第2動作実行部、171 距離取得部、172 フレーム選択部。
1 game system, N network, 10 game terminals, 11 control unit, 12 storage unit, 13 optical disk drive unit, 14 communication unit, 15 operation unit, 16 display unit, 17
Audio output unit, 30 server, 31 control unit, 32 storage unit, 33 optical disk drive unit, 34 communication unit, 35 database, 50 virtual space, 51 field, 52 touch line, 53 goal line, 54 center line, 55 pitch, 56 Goals, 57 balls, 58 viewpoints, 60 player characters, 601 heads, 602 necks, 603
Chest, 604 waist, 605L Left upper arm, 605R Upper right arm, 606L Left forearm, 606R
Right forearm, 607L left hand, 607R right hand, 608L left thigh, 608R right thigh, 609L left shin, 609R right shin, 610L left foot, 610R right foot, 611L, 611R null object, 100 data storage unit, D101 model data, D102 motion data, D103 candidate frame data, D104 character state data, 110 first motion data acquisition unit, 120 second motion data acquisition unit, 130 first operation execution unit, 140 specific site selection unit, 150 first specification unit, 160 second specification unit , 170 second operation execution unit, 171 distance acquisition unit, 172 frame selection unit.
Claims (1)
前記キャラクタに第2動作を実行させるための第2モーションデータを取得する第2取得手段と、
前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1モーションデータの動作切替時フレームにおける前記キャラクタの特定部位の位置を特定する第1特定手段と、
前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第2モーションデータの各フレームのうちから設定された複数の候補フレームの各々における前記キャラクタの前記特定部位の位置を特定する第2特定手段と、
前記第1動作を実行中の前記キャラクタの動作を前記第2動作に切り替える場合に、前記第1特定手段によって特定された前記動作切替時フレームにおける前記特定部位の位置と、前記第2特定手段によって特定された前記複数の候補フレームの各々における前記特定部位の位置とに基づいて、前記複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから前記第2モーションデータに基づいて前記キャラクタに動作を実行させる実行手段と、
を含む画像処理装置。 First acquisition means for acquiring first motion data for causing the character to perform a first motion;
Second acquisition means for acquiring second motion data for causing the character to perform a second action;
A first specifying unit configured to specify a position of a specific portion of the character in an operation switching frame of the first motion data when switching the operation of the character performing the first operation to the second operation;
When switching the motion of the character performing the first motion to the second motion, the specific portion of the character in each of a plurality of candidate frames set from among the frames of the second motion data Second specifying means for specifying a position;
When switching the action of the character performing the first action to the second action, the position of the specific portion in the action switching frame specified by the first specifying means and the second specifying means Selecting one of the plurality of candidate frames based on the position of the specific portion in each of the plurality of specified candidate frames, and selecting the second motion data from a frame based on the selected candidate frame. Executing means for causing the character to execute an action based on
An image processing apparatus including:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019156369A JP7097620B2 (en) | 2019-08-29 | 2019-08-29 | Image processing equipment, image processing systems, and programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019156369A JP7097620B2 (en) | 2019-08-29 | 2019-08-29 | Image processing equipment, image processing systems, and programs |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018159623A Division JP6590171B1 (en) | 2018-08-28 | 2018-08-28 | Image processing apparatus, image processing system, and program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020035446A true JP2020035446A (en) | 2020-03-05 |
JP2020035446A5 JP2020035446A5 (en) | 2021-09-16 |
JP7097620B2 JP7097620B2 (en) | 2022-07-08 |
Family
ID=69668413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019156369A Active JP7097620B2 (en) | 2019-08-29 | 2019-08-29 | Image processing equipment, image processing systems, and programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7097620B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08180208A (en) * | 1994-01-07 | 1996-07-12 | Fujitsu Ltd | Image generating device |
JP2002042176A (en) * | 2000-07-28 | 2002-02-08 | Namco Ltd | Game system and information storage medium |
-
2019
- 2019-08-29 JP JP2019156369A patent/JP7097620B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08180208A (en) * | 1994-01-07 | 1996-07-12 | Fujitsu Ltd | Image generating device |
JP2002042176A (en) * | 2000-07-28 | 2002-02-08 | Namco Ltd | Game system and information storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP7097620B2 (en) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3145059B2 (en) | Information storage medium and image generation device | |
EP1138358B1 (en) | Game apparatus and method of playing game | |
JP3239683B2 (en) | Image processing apparatus and image processing method | |
JP5507893B2 (en) | Program, information storage medium, and image generation system | |
CN107890664A (en) | Information processing method and device, storage medium, electronic equipment | |
US7094153B2 (en) | Virtual space control method | |
JP4187182B2 (en) | Image generation system, program, and information storage medium | |
JP2003044878A (en) | Image generation system, program, and information storage medium | |
US11429193B2 (en) | Control of virtual objects based on gesture changes of users | |
JP3747050B1 (en) | Program, information storage medium, and image generation system | |
US9039505B2 (en) | Game device, method for controlling game device, and information storage medium | |
JP2015042211A (en) | Movement control device, movement control method, and program | |
TW200840628A (en) | Game device, controlling method of game device and information storing media | |
JP5775323B2 (en) | Program and image processing apparatus provided with computer for executing the program | |
JP4956568B2 (en) | GAME DEVICE, GAME CONTROL METHOD, AND PROGRAM | |
JP5767681B2 (en) | Game program and game system | |
JP2009195356A (en) | Game device, control method of game device and program | |
JP6590171B1 (en) | Image processing apparatus, image processing system, and program | |
JP7097620B2 (en) | Image processing equipment, image processing systems, and programs | |
US9675887B2 (en) | Object display device | |
JP2013106809A (en) | Game device, game system, game device control method, and program | |
JP5124233B2 (en) | Program and game system | |
JP5419655B2 (en) | GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM | |
JP6042495B2 (en) | Program and image processing apparatus provided with computer for executing the program | |
JP5220350B2 (en) | Program, information storage medium, and image generation system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210804 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210804 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220517 |
|
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: 20220614 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7097620 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |