JP2020035446A - Image processing device, image processing system, and program - Google Patents

Image processing device, image processing system, and program Download PDF

Info

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
Application number
JP2019156369A
Other languages
Japanese (ja)
Other versions
JP7097620B2 (en
JP2020035446A5 (en
Inventor
英次 鈴木
Eiji Suzuki
英次 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2019156369A priority Critical patent/JP7097620B2/en
Publication of JP2020035446A publication Critical patent/JP2020035446A/en
Publication of JP2020035446A5 publication Critical patent/JP2020035446A5/ja
Application granted granted Critical
Publication of JP7097620B2 publication Critical patent/JP7097620B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

To provide an image processing device, an image processing system and a program that are capable of appropriately switch the action of a character from a currently executed first action based on first motion data to a second action based on second motion data.SOLUTION: In switching the action of a character from a currently executed first action to a second action, on the basis of a position of a specific part of the character in an action-switching frame of the first motion data and a position of the specific part of the character in each of multiple candidate frames selected from among frames of the second motion data, execution means (170) selects one of the multiple candidate frames, and causes the character to execute the action on the basis of the second motion data from the frame based on the selected candidate frame.SELECTED DRAWING: Figure 7

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.

特開2009−104483号公報JP 2009-104483 A

第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.

本発明の実施形態に係るゲームシステムの構成を示す図である。FIG. 1 is a diagram illustrating a configuration of a game system according to an embodiment of the present invention. 仮想空間の一例を示す図である。FIG. 3 is a diagram illustrating an example of a virtual space. 選手キャラクタの一例を示す図である。It is a figure showing an example of a player character. 歩行動作の一例を示す図である。It is a figure showing an example of a walking operation. ステップ動作の一例を示す図である。It is a figure showing an example of a step operation. 動作切替時の「足滑り」の一例について説明するための図である。It is a figure for explaining an example of "foot slip" at the time of operation switching. 本発明の実施形態に係る動作切替手法の一例について説明するための図であ る。FIG. 4 is a diagram for describing an example of an operation switching method according to the embodiment of the present invention. 本発明の実施形態に係るゲームシステムの機能ブロック図である。FIG. 2 is a functional block diagram of the game system according to the embodiment of the present invention. モーションデータの一例を示す図である。FIG. 4 is a diagram illustrating an example of motion data. 候補フレームデータの一例を示す図である。FIG. 4 is a diagram illustrating an example of candidate frame data. キャラクタ状態データの一例を示す図である。FIG. 6 is a diagram illustrating an example of character state data. 取得される特定部位間の距離の一例を示す図である。It is a figure showing an example of the distance between specific parts acquired. ゲームシステムで実行される処理の一例を示す図である。It is a figure showing an example of processing performed by a game system.

以下、本発明の実施形態を図面に基づいて説明する。以下では、画像処理システムの一例であるゲームシステムに本発明を適用した例について説明する。   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 game system 1 according to the present embodiment includes a game terminal 10 and a server 30. The game terminal 10 and the server 30 are connected to a network N. For this reason, data communication between the game terminal 10 and the server 30 is possible.

ゲーム端末10は、ユーザが操作するコンピュータである。具体的には、ゲーム端末10は、ユーザがゲームをプレイするために使用するコンピュータである。例えば、ゲーム端末10は、家庭用ゲーム機(据置型ゲーム機)、携帯用ゲーム機、遊戯施設等に設置される業務用ゲーム機、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、デスクトップ型コンピュータ、又はラップトップ型コンピュータである。   The game terminal 10 is a computer operated by a user. Specifically, the game terminal 10 is a computer used by a user to play a game. For example, the game terminal 10 is a home-use game machine (stationary game machine), a portable game machine, an arcade game machine installed in a game facility, a mobile phone (including a smartphone), a portable information terminal (tablet-type computer). ), A desktop computer, or a laptop computer.

図1に示すように、ゲーム端末10は制御部11、記憶部12、光ディスクドライブ部13、通信部14、操作部15、表示部16、及び音声出力部17を含む。制御部11は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部12に記憶されたオペレーティングシステムやその他のプログラムに従って情報処理を実行する。記憶部12は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含む。記憶部12はプログラムやデータを記憶するためのものである。光ディスクドライブ部13は光ディスク(情報記憶媒体)に記憶されたプログラムやデータを読み取る。通信部14は、ネットワークNを介して他の装置とデータ通信するためのものである。   As shown in FIG. 1, the game terminal 10 includes a control unit 11, a storage unit 12, an optical disk drive unit 13, a communication unit 14, an operation unit 15, a display unit 16, and an audio output unit 17. The control unit 11 includes at least one microprocessor (CPU), and executes information processing according to the operating system and other programs stored in the storage unit 12. The storage unit 12 includes a main storage unit (for example, a RAM) and an auxiliary storage unit (for example, a nonvolatile semiconductor memory, a hard disk drive, or a solid state drive). The storage unit 12 stores programs and data. The optical disk drive unit 13 reads programs and data stored on an optical disk (information storage medium). The communication unit 14 is for performing data communication with another device via the network N.

操作部15は、ユーザが各種操作を行うためのものである。操作部15は、例えばボタン(キー)、レバー(スティック)、タッチパネル、又はマウス等を含む。操作部15は、ユーザが音声又はジェスチャによって操作を行うためのものであってもよい。なお、操作部15は、ゲーム端末10に接続された外部装置として設けられてもよいし、ゲーム端末10自体に設けられていてもよい。また、ボタンやレバーは、タッチパネルに表示された仮想的なボタン又はレバーであってもよい。   The operation unit 15 is for the user to perform various operations. The operation unit 15 includes, for example, a button (key), a lever (stick), a touch panel, a mouse, or the like. The operation unit 15 may be for the user to perform an operation by voice or gesture. The operation unit 15 may be provided as an external device connected to the game terminal 10, or may be provided on the game terminal 10 itself. Further, the button or lever may be a virtual button or lever displayed on the touch panel.

表示部16は、例えば液晶ディスプレイ又は有機ELディスプレイ等であり、画像を表示する。音声出力部17は、例えばスピーカ又はヘッドホン等であり、音声を出力する。なお、表示部16や音声出力部17は、ゲーム端末10に接続された外部装置として設けられてもよいし、ゲーム端末10自体に設けられていてもよい。   The display unit 16 is, for example, a liquid crystal display or an organic EL display, and displays an image. The audio output unit 17 is, for example, a speaker or headphones, and outputs audio. The display unit 16 and the audio output unit 17 may be provided as an external device connected to the game terminal 10 or may be provided on the game terminal 10 itself.

サーバ30は例えばサーバコンピュータである。図1に示すように、サーバ30は制御部31、記憶部32、光ディスクドライブ部33、及び通信部34を含む。制御部31、記憶部32、光ディスクドライブ部33、及び通信部34は、ゲーム端末10の制御部11、記憶部12、光ディスクドライブ部13、及び通信部14と同様である。サーバ30はデータベース35にアクセス可能である。データベース35はサーバ30内に構築されていてもよいし、サーバ30とは別のサーバ内に構築されていてもよい。   The server 30 is, for example, a server computer. As shown in FIG. 1, the server 30 includes a control unit 31, a storage unit 32, an optical disk drive unit 33, and a communication unit. The control unit 31, the storage unit 32, the optical disk drive unit 33, and the communication unit 34 are the same as the control unit 11, the storage unit 12, the optical disk drive unit 13, and the communication unit 14 of the game terminal 10. The server 30 can access the database 35. The database 35 may be built in the server 30 or may be built in a server different from the server 30.

プログラムやデータは光ディスクを介してゲーム端末10又はサーバ30に供給される。すなわち、光ディスクに記憶されたプログラムやデータが光ディスクドライブ部13又は33によって読み出されて、記憶部12又は32に記憶される。光ディスク以外の情報記憶媒体(例えばメモリカード)に記憶されたプログラムやデータを読み取るための構成要素(例えばメモリーカードスロット)がゲーム端末10又はサーバ30に備えられてもよい。そして、プログラムやデータが光ディスク以外の情報記憶媒体を介してゲーム端末10又はサーバ30に供給されてもよい。または、プログラムやデータはネットワークNを介して遠隔地からゲーム端末10又はサーバ30に供給されてもよい。   The programs and data are supplied to the game terminal 10 or the server 30 via the optical disc. That is, the programs and data stored in the optical disk are read out by the optical disk drive unit 13 or 33 and stored in the storage unit 12 or 32. A component (for example, a memory card slot) for reading a program or data stored in an information storage medium (for example, a memory card) other than the optical disc may be provided in the game terminal 10 or the server 30. Then, the program or data may be supplied to the game terminal 10 or the server 30 via an information storage medium other than the optical disc. Alternatively, programs and data may be supplied to the game terminal 10 or the server 30 from a remote place via the network N.

[2.ゲームの概要]ゲームシステム1では、ゲーム端末10でプログラムを実行することによって各種ゲームを実行可能である。例えば、スポーツゲーム(サッカー、野球、テニス、アメリカンフットボール、バスケットボール、バレーボール等を題材としたゲーム)、アクションゲーム、格闘ゲーム、又はロールプレイングゲームのように、ゲーム形式・ジャンルを問わず様々なゲームを実行可能である。これらのゲームは、ゲーム端末10単体(スタンドアロン)で実行されてもよいし、ゲーム端末10がサーバ30又は他のゲーム端末10との間でデータ通信を行うことによって実行されてもよい。なお、ゲーム端末10単体でゲームを実行する場合、サーバ30を設けなくてもよい。   [2. Overview of Game] In the game system 1, various games can be executed by executing a program on the game terminal 10. For example, various games, such as sports games (games based on soccer, baseball, tennis, American football, basketball, volleyball, etc.), action games, fighting games, and role playing games, regardless of game format and genre. It is feasible. These games may be executed by the game terminal 10 alone (stand-alone), or may be executed by the game terminal 10 performing data communication with the server 30 or another game terminal 10. When the game is executed by the game terminal 10 alone, the server 30 may not be provided.

ゲームシステム1では、複数のモーションデータのうちから選択されたモーションデータに基づいてキャラクタに動作を実行させるゲームが実行される。   In the game system 1, a game is executed in which a character performs an action based on motion data selected from a plurality of motion data.

なお、「キャラクタ」とは、仮想空間内に配置されるオブジェクトであって、仮想空間内で動作を行うオブジェクトである。「仮想空間」とは、表示部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 display unit 16. In other words, the “virtual space” is a virtual space constructed in the main memory (or VRAM). The “virtual space” may be a three-dimensional space or a two-dimensional space.

例えば、「キャラクタ」とは、人を表すオブジェクトである。「人」は実在の人物であってもよいし、架空の人物であってもよい。また例えば、「キャラクタ」とは、人以外の生物を表すオブジェクトであってもよい。「生物」は実在の生物であってもよいし、架空の生物であってもよい。また例えば、「キャラクタ」とは、生物以外を表すオブジェクトであってもよい。例えば、「キャラクタ」とは、ロボットを表すオブジェクトであってもよい。「キャラクタ」は複数の部位を有し、複数の部位にそれぞれ対応する複数の部位オブジェクトを含んで構成される。   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 virtual space 50 illustrated in FIG. 2 is a virtual three-dimensional space in which three orthogonal coordinate axes, that is, an Xw axis, a Yw axis, and a Zw axis are set. As described below, objects are arranged in the virtual space 50. The position of each object is specified by three-dimensional coordinates in an XwYwZw coordinate system (world coordinate system).

図2に示すように、仮想空間50には、サッカーフィールドを表すオブジェクトであるフィールド51が配置される。例えばフィールド51は、Yw軸座標値が0であるような平面に相当するオブジェクトである。フィールド51上には、2本のタッチライン52、2本のゴールライン53、及び1本のセンターライン54が表される。サッカーの試合は、タッチライン52及びゴールライン53によって囲まれたピッチ55内で行われる。   As shown in FIG. 2, a field 51, which is an object representing a soccer field, is arranged in the virtual space 50. For example, the field 51 is an object corresponding to a plane whose Yw axis coordinate value is 0. On the field 51, two touch lines 52, two goal lines 53, and one center line 54 are displayed. The soccer game is played on a pitch 55 surrounded by the touch line 52 and the goal line 53.

また、フィールド51上には、サッカーのゴールを表すオブジェクトであるゴール56が配置される。さらに、フィールド51上には、サッカーボールを表すオブジェクトであるボール57と、サッカー選手を表すオブジェクトである選手キャラクタ60とが配置される。選手キャラクタ60は、歩行動作、走行動作、ステップ動作、パス動作、シュート動作、プレス動作、タックル動作等の各種動作を行う。試合中においては、所定条件の下、選手キャラクタ60とボール57とが関連付けられる。この場合、選手キャラクタ60の歩行動作や走行動作はドリブル動作となる。   Also, on the field 51, a goal 56, which is an object representing a goal of soccer, is arranged. Further, on the field 51, a ball 57 as an object representing a soccer ball and a player character 60 as an object representing a soccer player are arranged. The player character 60 performs various operations such as walking, running, stepping, passing, shooting, pressing, and tackling. During the match, the player character 60 and the ball 57 are associated under predetermined conditions. In this case, the walking motion and the running motion of the player character 60 are dribbling motions.

図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. Eleven player characters 60 and eleven player characters 60 belonging to the second team are arranged on the field 51.

例えば、試合においては、第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 player characters 60 belonging to the first team is set as a user's operation target. The player character 60 that is the user's operation target performs various operations based on the operation instruction operation performed by the user. On the other hand, among the plurality of player characters 60 belonging to the first team, the player character 60 not being operated by the user and the plurality of player characters 60 belonging to the second team are determined based on a computer operation instruction. Perform various operations. The user's operation target may be switched during the game based on the game situation (for example, the position of the ball 57) or the user's switching instruction operation among the plurality of player characters 60 belonging to the first team. Alternatively, it may be fixed to a specific one player character 60 set in advance from among a plurality of player characters 60 belonging to the first team.

また、仮想空間50には、仮想的な視点58が設定される。視点58から視線方向Vを見た場合の仮想空間50を表すゲーム画像が表示部16に表示される。例えば、ユーザの操作対象になっている選手キャラクタ60又はボール57がゲーム画像に含まれるように、視点58の位置や視線方向Vは、ユーザの操作対象になっている選手キャラクタ60又はボール57の位置に基づいて設定される。   In the virtual space 50, a virtual viewpoint 58 is set. A game image representing the virtual space 50 when the viewing direction V is viewed from the viewpoint 58 is displayed on the display unit 16. For example, the position of the viewpoint 58 and the line-of-sight direction V are set so that the player character 60 or the ball 57 that is the user's operation target is included in the game image. Set based on location.

[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 player character 60 will be described in detail. FIG. 3 shows an example of the player character 60. As shown in FIG. 3, the player character 60 includes a plurality of part objects indicating each of the plurality of parts. For example, the player character 60 includes, as a plurality of part objects, a head 601, a neck 602, a chest 603, a waist 604, a left upper arm 605L, a right upper arm 605R, a left forearm 606L, a right forearm 606R, a left hand 607L, a right hand 607R, and a left thigh 608L. , Right thigh 608R, left shin 609L, right shin 609R, left foot 610L, and right foot 610R.

また、左足610Lはヌルオブジェクト611Lを含み、右足610Rはヌルオブジェクト611Rを含む。例えば、ヌルオブジェクト611L,611Rは不可視のオブジェクトであり、点に相当するオブジェクトである。また、ヌルオブジェクト611L,611Rは、通常のオブジェクトと同様にジオメトリ演算等の対象になるが、通常のオブジェクトとは異なり、描画処理の対象にはならないオブジェクトである。ヌルオブジェクト611L,611Rは、左足610L及び右足610Rの足裏に相当する位置に配置される。ヌルオブジェクト611L,611Rを設定する意義については後述する。   The left foot 610L includes a null object 611L, and the right foot 610R includes a null object 611R. For example, null objects 611L and 611R are invisible objects, and are objects corresponding to points. Further, the null objects 611L and 611R are objects to be subjected to a geometry operation or the like like ordinary objects, but are different from ordinary objects and are not subjected to drawing processing. The null objects 611L and 611R are arranged at positions corresponding to the soles of the left foot 610L and the right foot 610R. The significance of setting the null objects 611L and 611R will be described later.

選手キャラクタ60は複数のポリゴンによって構成される。「ポリゴン」とは、3以上の頂点によって構成される平面である。複数のポリゴンによって立体を構成することによって、選手キャラクタ60の各部位オブジェクトが構成される。   The player character 60 is composed of a plurality of polygons. A “polygon” is a plane formed by three or more vertices. By forming a solid by a plurality of polygons, each part object of the player character 60 is formed.

また、選手キャラクタ60の内部にはボーンが設定される。「ボーン」とは、選手キャラクタ60の骨格に相当するものである。選手キャラクタ60の内部には複数のボーンが設定されており、これら複数のボーンは、特定のボーン(例えば腰骨に対応するボーン)をルートとする階層構造で管理される。あるボーンの位置又は回転角度が変化した場合、当該ボーンの下の階層のボーンも連動するようになっており、ボーンの位置は、当該ボーンよりも上の階層のボーンの位置及び回転角度によって特定される。   Further, a bone is set inside the player character 60. “Bone” corresponds to the skeleton of the player character 60. A plurality of bones are set inside the player character 60, and the plurality of bones are managed in a hierarchical structure with a specific bone (for example, a bone corresponding to a hip bone) as a root. When the position or rotation angle of a bone changes, the bones in the hierarchy below that bone are also linked, and the position of the bone is specified by the position and rotation angle of the bone in the hierarchy above that bone. Is done.

選手キャラクタ60を構成する複数のポリゴンの各頂点には、少なくとも1つのボーンが関連付けられている。頂点の位置は当該ボーンの状態(位置又は回転角度)の変化に基づいて変化する。すなわち、ボーンの状態が変化すると、頂点が従動し、その結果、選手キャラクタ60の姿勢が変化する。このように、各ボーンの状態を制御することによって、選手キャラクタ60の姿勢を制御できる。   At least one bone is associated with each vertex of a plurality of polygons constituting the player character 60. The position of the vertex changes based on a change in the state (position or rotation angle) of the bone. That is, when the state of the bone changes, the vertex follows, and as a result, the posture of the player character 60 changes. As described above, the posture of the player character 60 can be controlled by controlling the state of each bone.

サッカーゲームでは、選手キャラクタ60を対象としてモーションデータを再生することによって、モーションデータに基づく動作を選手キャラクタ60に実行させる。すなわち、モーションデータに従ってフレームごとに選手キャラクタ60の姿勢を変化させることによって、当該モーションデータに基づく動作を選手キャラクタ60に実行させる。   In the soccer game, the player character 60 performs an operation based on the motion data by reproducing the motion data for the player character 60. That is, by changing the posture of the player character 60 for each frame in accordance with the motion data, the action based on the motion data is performed by the player character 60.

選手キャラクタ60は複数種類の動作を実行し得るため、それら複数種類の動作にそれぞれ対応する複数種類のモーションデータが用意される。例えば、選手キャラクタ60に歩行動作を実行させる場合には、それら複数種類のモーションデータのうちから、歩行動作に対応するモーションデータを選択し、当該モーションデータを再生することによって、選手キャラクタ60に歩行動作を実行させることになる。   Since the player character 60 can execute a plurality of types of motion, a plurality of types of motion data respectively corresponding to the plurality of types of motion are prepared. For example, when causing the player character 60 to perform a walking motion, the player character 60 selects the motion data corresponding to the walking motion from the plurality of types of motion data, and reproduces the motion data. The action will be executed.

[2−3]図4Aは、選手キャラクタ60の歩行動作の一例を示す。すなわち、図4Aは、歩行動作を実行する際の選手キャラクタ60の姿勢の変化の一例を示す。歩行動作は複数のフレームにわたって行われるところ、図4Aは、それら複数のフレームのうちのいくつかのフレームにおける選手キャラクタ60の姿勢の一例を示している。   [2-3] FIG. 4A shows an example of the walking motion of the player character 60. That is, FIG. 4A shows an example of a change in the posture of the player character 60 when performing the walking motion. While the walking motion is performed over a plurality of frames, FIG. 4A shows an example of the posture of the player character 60 in some of the plurality of frames.

図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 player character 60 in each frame at the time of executing the walking motion is specified based on the walking motion data.

図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 player character 60 in the first frame (head frame) is such that the right foot 610R and the left foot 610L are in contact with the field 51 and the right foot 610R is located in front of the left foot 610L. (A1). Further, the posture of the player character 60 in the forty-eighth frame is such that the right foot 610R is located behind the left foot 610L with the heel part of the right foot 610R away from the field 51 (A2). Further, the posture of the player character 60 in the 96th frame is such that the heel portion of the right foot 610R contacts the field 51, and the left foot 610L is located in front of the right foot 610R (A3). The posture of the player character 60 in the 144th frame is such that the left foot 610L is located further forward than the position in the 96th frame (A4). As shown in FIG. 4A, in the walking motion, the left foot 610 </ b> L and the right foot 610 </ b> R of the player character 60 come into contact with and separate from the field 51. When the walking motion is continued, when the walking motion data is reproduced to the last frame, the walking motion data is reproduced again from the first frame.

図4Bは、選手キャラクタ60のステップ動作の一例を示す。すなわち、図4Bは、ステップ動作を実行する際の選手キャラクタ60の姿勢の変化の一例を示す。ステップ動作は複数のフレームにわたって行われるところ、図4Bは、それら複数のフレームのうちのいくつかのフレームにおける選手キャラクタ60の姿勢の一例を示す。   FIG. 4B shows an example of the step operation of the player character 60. That is, FIG. 4B shows an example of a change in the posture of the player character 60 when performing the step operation. While the step motion is performed over a plurality of frames, FIG. 4B shows an example of the attitude of the player character 60 in some of the plurality of frames.

図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 player character 60 in each frame at the time of executing the step motion is specified based on the step motion data.

図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 player character 60 in the first frame (head frame) is such that the right foot 610R and the left foot 610L are in contact with the field 51 and the right foot 610R is located in front of the left foot 610L. (B1). The posture of the player character 60 in the forty-eighth frame is such that both knees are bent and the right foot 610R is positioned near the left foot 610L (B2). Further, the posture of the player character 60 in the 96th frame is such that both knees are extended and the right foot 610R and the left foot 610L are separated from the field 51 (B3). The posture of the player character 60 in the 144th frame is such that the right foot 610R and the left foot 610L come into contact with the field 51 again (B4). As shown in FIG. 4B, in the step operation, the left foot 610 </ b> L and the right foot 610 </ b> R of the player character 60 come into contact with or separate from the field 51.

[2−4]サッカーゲームでは、第1モーションデータに基づく第1動作を実行中の選手キャラクタ60の動作を第2モーションデータに基づく第2動作に切り替える場合がある。例えば、ユーザの操作対象になっている選手キャラクタ60が歩行動作を実行している状態で、ステップ動作の実行指示操作がユーザによって行われた場合には、歩行動作を実行中の選手キャラクタ60の動作がステップ動作に切り替えられる。なお、ユーザの操作対象になっていない選手キャラクタ60(すなわち、コンピュータによる動作指示に基づいて動作する選手キャラクタ60)に関しても、このような動作切替が実行される場合がある。   [2-4] In a soccer game, the action of the player character 60 performing the first action based on the first motion data may be switched to the second action based on the second motion data. For example, in a state where the player character 60 that is the operation target of the user is performing the walking motion, when the execution instruction operation of the step motion is performed by the user, the player character 60 performing the walking motion is performed. The operation is switched to the step operation. It should be noted that such an operation switching may be performed for a player character 60 that is not an operation target of the user (that is, a player character 60 that operates based on an operation instruction from a computer).

第1動作を実行中の選手キャラクタ60の動作を第2動作に切り替える場合、下記に説明するような「足滑り」の発生を抑制する必要がある。図5は、動作切替時の「足滑り」の一例について説明するための図である。なお図5では、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合を想定している。また図5では、選手キャラクタ60の姿勢が歩行モーションデータの第96フレームにおける姿勢(A3)である時点で、選手キャラクタ60の動作を歩行動作からステップ動作へと切り替える場合を想定している。   When switching the action of the player character 60 performing the first action to the second action, it is necessary to suppress the occurrence of “foot slip” as described below. FIG. 5 is a diagram for describing an example of “foot slip” at the time of operation switching. In FIG. 5, it is assumed that the movement of the player character 60 performing the walking motion is switched to the step motion. Also, FIG. 5 assumes a case where the action of the player character 60 is switched from the walking action to the step action at the time when the attitude of the player character 60 is the attitude (A3) in the 96th frame of the walking motion data.

図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 player character 60 is changed from the posture (A3) in the 96th frame of the walking motion data to the top frame of the step motion data. It will change to posture (B1).

これらの姿勢(A3,B1)の間では、フィールド51に接触している右足610Rの位置がずれている。具体的には、動作切替後の姿勢(B1)における右足610Rの位置は、動作切替前の姿勢(A3)における右足610Rの位置よりもXw軸正方向にずれている。その結果、動作切替時に、右足610Rがフィールド51上でXw軸正方向に移動することによって、選手キャラクタ60の右足610Rがフィールド51上で滑っているかのようにユーザに見えてしまい、ユーザに違和感を与えてしまう可能性がある。   Between these postures (A3, B1), the position of the right foot 610R in contact with the field 51 is shifted. Specifically, the position of the right foot 610R in the posture (B1) after the operation switching is shifted in the positive Xw-axis direction from the position of the right foot 610R in the posture (A3) before the operation switching. As a result, when the action is switched, the right foot 610R moves in the positive direction of the Xw axis on the field 51, so that the user looks as if the right foot 610R of the player character 60 is sliding on the field 51, and the user feels uncomfortable. May be given.

なお、図5に示す例では、動作切替前後の姿勢(A3,B1)において、左足610Lの位置もずれている。しかしながら、動作切替前の姿勢(A3)では左足610Lがフィールド51に接触していないため、動作切替前後の姿勢(A3,B1)において、左足610Lの位置がずれていたとしても、動作切替時に、選手キャラクタ60の左足610Lがフィールド51上で滑っているかのようにユーザに見えないため、ユーザに違和感を与えてしまう可能性は低い。   In the example shown in FIG. 5, the position of the left foot 610L is also shifted in the postures (A3, B1) before and after the operation switching. However, since the left foot 610L is not in contact with the field 51 in the posture (A3) before the operation switching, even if the position of the left foot 610L is shifted in the posture (A3, B1) before and after the operation switching, Since the user does not see the left foot 610L of the player character 60 as if sliding on the field 51, it is unlikely that the user will feel uncomfortable.

[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 player character 60 performing the first motion to the second motion while suppressing the occurrence of “foot slip” will be described. FIG. 6 is a diagram for explaining an outline of the technique. In FIG. 6, as in FIG. 5, it is assumed that the action of the player character 60 performing the walking action is switched to the step action. FIG. 6 also assumes a case where the action of the player character 60 is switched from the walking action to the step action at the time when the attitude of the player character 60 is the attitude (A3) in the 96th frame of the walking motion data.

この場合、まず、動作切替時点における姿勢(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 left foot 610L and the right foot 610R of the player character 60 is closer to the field 51 in the posture (A3) at the time of the operation switching. For example, in the virtual space 50 shown in FIG. 2, since the field 51 corresponds to a plane whose Yw axis coordinate value is 0, the Yw axis of the null object 611L of the left foot 610L and the null object 611R of the right foot 610R is set. Compare coordinate values. That is, when the Yw-axis coordinate value of the null object 611L is smaller than the Yw-axis coordinate value of the null object 611R, it is determined that the left foot 610L is closer to the field 51. On the other hand, when the Yw-axis coordinate value of the null object 611R is smaller than the Yw-axis coordinate value of the null object 611L, it is determined that the right foot 610R is closer to the field 51. In the case of the posture (A3) at the time of the operation switching, since the Yw-axis coordinate value of the null object 611R is smaller than the Yw-axis coordinate value of the null object 611L, it is determined that the right foot 610R is closer to the field 51.

次に、ステップモーションデータの複数のフレームのうちから設定された複数の候補フレーム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 right foot 610R in the frame is compared with the position of the right foot 610R in the posture (A3) at the time of operation switching. Specifically, for each of the plurality of candidate frames CF [1] to CF [N], the position of the null object 611R of the right foot 610R in the candidate frame and the null object of the right foot 610R of the posture (A3) at the time of the operation switching. The distance from the position of 611R is calculated. Then, the candidate frame having the smallest distance is selected from the plurality of candidate frames CF [1] to CF [N].

ここで、複数の候補フレーム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 player character 60 is switched to the step operation. For example, a key frame of the step motion data is set as a plurality of candidate frames CF [1] to CF [N]. Note that the plurality of candidate frames CF [1] to CF [N] may include a frame other than the key frame of the step motion data. In the example illustrated in FIG. 6, the candidate frame CF [1] corresponds to the first frame illustrated in FIG. 4B, and the candidate frame CF [3] corresponds to the forty-eighth frame illustrated in FIG. 4B.

複数の候補フレーム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 player character 60 is caused to execute a step motion from the selected candidate frame based on the step motion data. For example, when the candidate frame CF [3] (the 48th frame) is selected, the player character 60 is caused to execute the step motion from the frame based on the step motion data.

この場合、選手キャラクタ60の姿勢は、歩行モーションデータの第96フレームにおける姿勢(A3)から、ステップモーションデータの第48フレームにおける姿勢(B2)へと変化することになる。これらの姿勢(A3,B2)の間では、フィールド51に接触している右足610Rの位置のずれが小さいため、動作切替時に、選手キャラクタ60の右足610Rがフィールド51上で滑っているかのようにユーザに見えないように図ることができる。すなわち、「足滑り」の発生を抑制できる。   In this case, the posture of the player character 60 changes from the posture (A3) in the 96th frame of the walking motion data to the posture (B2) in the 48th frame of the step motion data. Between these postures (A3, B2), since the displacement of the right foot 610R in contact with the field 51 is small, it is as if the right foot 610R of the player character 60 is sliding on the field 51 at the time of operation switching. It is possible to make it invisible to the user. That is, occurrence of “foot slip” can be suppressed.

なお、選手キャラクタ60の姿勢を、歩行モーションデータの示す姿勢から、ステップモーションデータの示す姿勢へと切り替える場合、一つのフレームにおいて瞬時に切り替えるのではなく、所定数フレームの期間において、選手キャラクタ60の姿勢を、歩行モーションデータの示す姿勢とステップモーションデータの示す姿勢とをブレンドしてなる姿勢とし、歩行モーションデータの示す姿勢のブレンド比率を徐々に下げ、ステップモーションデータの示す姿勢のブレンド比率を徐々に上げることによって、選手キャラクタ60の姿勢を、歩行モーションデータの示す姿勢から、ステップモーションデータの示す姿勢へと徐々に切り替えるようにしてもよい。   When the posture of the player character 60 is switched from the posture indicated by the walking motion data to the posture indicated by the step motion data, the posture of the player character 60 is not instantaneously switched in one frame, but is changed over a predetermined number of frames. The posture is a posture obtained by blending the posture indicated by the walking motion data and the posture indicated by the step motion data, the blending ratio of the posture indicated by the walking motion data is gradually reduced, and the blend ratio of the posture indicated by the step motion data is gradually increased. , The posture of the player character 60 may be gradually switched from the posture indicated by the walking motion data to the posture indicated by the step motion data.

また、複数の候補フレーム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 player character 60 is executed from the middle. Therefore, the user may feel that the movement of the player character 60 is unnatural. In this regard, by setting a candidate frame among frames within a specific range from the first frame, occurrence of such inconvenience can be suppressed.

[2−6]以上に説明した手法によれば、歩行モーションデータに基づく歩行動作を実行中の選手キャラクタ60の動作をステップモーションデータに基づくステップ動作に切り替える場合に、フィールド51に接触している足の位置ずれを軽減でき、「足滑り」の発生を抑制できる。   [2-6] According to the method described above, the field 51 is touched when the action of the player character 60 performing the walking motion based on the walking motion data is switched to the step motion based on the step motion data. The displacement of the foot can be reduced, and the occurrence of "foot slip" can be suppressed.

また、以上に説明した手法によれば、ユーザによるステップ動作の実行指示操作に応じて、直ちに、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替えることができる。例えば、「足滑り」の発生を抑制する他の手法としては、歩行モーションデータのフレームのうちで、「足滑り」が発生しないようなフレーム(すなわち、選手キャラクタ60の足の位置が、ステップモーションデータの先頭フレームにおける選手キャラクタ60の足の位置に近いフレーム)を基準フレームとして予め設定しておき、歩行動作を実行中のキャラクタの動作をステップ動作に切り替える際には、基準フレームになるまで歩行動作を選手キャラクタ60に継続させ、基準フレームになったら、先頭フレームからステップモーションデータに基づいて選手キャラクタ60にステップ動作を実行させるような手法も考えられる。しかしながら、この手法では、実行指示操作に応じて直ちに選手キャラクタ60の動作をステップ動作に切り替えるのではなく、基準フレームになるのを待ち、基準フレームになってから選手キャラクタ60の動作をステップ動作に切り替えるため、選手キャラクタ60の動作切替が遅れる(すなわち、選手キャラクタ60の反応が遅い)との不満をユーザに感じさせてしまう可能性がある。これに対し、本実施形態に係る手法によれば、ステップ動作の実行指示操作に応じて、直ちに、選手キャラクタ60の動作を歩行動作からステップ動作に切り替えることができるため、選手キャラクタ60の動作切替が遅れる(すなわち、選手キャラクタ60の反応が遅い)との不満をユーザに感じさせないように図ることができる。   Further, according to the above-described method, the action of the player character 60 performing the walking action can be immediately switched to the step action in response to the user's execution instruction operation of the step action. For example, as another method of suppressing the occurrence of “foot slip”, a frame in which “foot slip” does not occur among the frames of the walking motion data (ie, the position of the foot of the player character 60 is set to the step motion) A frame close to the position of the foot of the player character 60 in the first frame of the data) is set in advance as a reference frame, and when the motion of the character performing the walking motion is switched to the step motion, walking is performed until the reference frame is reached. A method is also conceivable in which the action is continued by the player character 60, and when the reference frame is reached, the player character 60 executes the step action from the first frame based on the step motion data. However, in this method, the operation of the player character 60 is not immediately switched to the step operation in response to the execution instruction operation, but is waited for the reference frame, and after the reference frame, the operation of the player character 60 is changed to the step operation. Since the switching is performed, there is a possibility that the user may feel dissatisfied that the operation switching of the player character 60 is delayed (that is, the reaction of the player character 60 is slow). On the other hand, according to the method according to the present embodiment, the action of the player character 60 can be immediately switched from the walking action to the step action in response to the execution instruction operation of the step action. Is delayed (that is, the reaction of the player character 60 is slow) so that the user does not feel dissatisfied.

また、本実施形態に係る手法では、選手キャラクタ60の左足610L及び右足610Rのうちで、フィールド51に近い方の足を判定し、フィールド51に近い方の足の位置に基づいて、ステップモーションデータの複数の候補フレームCF[1]〜CF[N]のうちからいずれかを選択するようになっている。このようにすることによって、選手キャラクタ60の左足610L及び右足610Rのうちで、「足滑り」が発生させてしまう可能性が高い方の足に関して、動作切替時の位置ずれを軽減できるようになる。   Further, in the method according to the present embodiment, of the left foot 610L and the right foot 610R of the player character 60, the foot closer to the field 51 is determined, and the step motion data is determined based on the position of the foot closer to the field 51. Of the plurality of candidate frames CF [1] to CF [N]. By doing so, it is possible to reduce the displacement of the player character 60 between the left foot 610L and the right foot 610R, which is more likely to cause “foot slip” when the operation is switched. .

また、本実施形態に係る手法では、選手キャラクタ60の左足610L及び右足610Rにヌルオブジェクト611L,611Rをそれぞれ設定し、選手キャラクタ60の左足610L及び右足610Rの位置としてヌルオブジェクト611L,611Rの位置を用いるようにしている。このようにすることによって、ヌルオブジェクト611L,611Rの位置のみについて着目すればよくなるため、処理を簡略化できる。また、ヌルオブジェクト611L,611Rは非表示のオブジェクトであるため、余計なオブジェクトが表示部16に表示されるという不都合も発生しない。   In the method according to the present embodiment, null objects 611L and 611R are set to the left foot 610L and the right foot 610R of the player character 60, respectively, and the positions of the null objects 611L and 611R are set as the positions of the left foot 610L and the right foot 610R of the player character 60. I use it. By doing so, it is only necessary to pay attention to the positions of the null objects 611L and 611R, so that the processing can be simplified. Further, since the null objects 611L and 611R are non-display objects, there is no inconvenience that unnecessary objects are displayed on the display unit 16.

なお、以上では、「足滑り」の発生を抑制する場合について主に説明したが、本実施形態に係る手法は、「手滑り」の発生を抑制するために用いることもできる。例えば、キャラクタが逆立ちをした状態が各種動作を行うようなゲーム等、キャラクタが他のオブジェクト(例えば、フィールド、壁、又はテーブル等)に手を付いた状態で各種動作を行うようなゲームの場合、「手滑り」が発生する場合がある。すなわち、動作切替前後で他のオブジェクトに接触しているキャラクタの左手又は右手の位置ずれが発生することによって、動作切替時にキャラクタの左手又は右手が他のオブジェクト上で移動し、キャラクタの左手又は右手が他のオブジェクト上で滑っているかのようにユーザに見えてしまい、ユーザに違和感を与えてしまう可能性がある。この点、本実施形態に係る手法をキャラクタの左手又は右手を対象として実行することによって、「手滑り」の発生を抑制しつつ、キャラクタの動作を切り替えることもできる。なお、この場合、キャラクタの左手や右手にヌルオブジェクトを設定するようにすればよい。   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 game system 1. As shown in FIG. 7, the game system 1 includes a data storage unit 100, a first motion data acquisition unit 110, a second motion data acquisition unit 120, a first operation execution unit 130, a specific site selection unit 140, , A first specifying unit 150, a second specifying unit 160, and a second operation executing unit 170. The data storage unit 100 is realized by at least one of the storage unit 12, the storage unit 32, and the database 35. The function blocks other than the data storage unit 100 are realized by at least one of the control unit 11 and the control unit 31. That is, all of the functional blocks other than the data storage unit 100 may be realized by the control unit 11, all of them may be realized by the control unit 31, or some of them may be realized by the control unit 11. The rest may be realized by the control unit 31.

[3−1]データ記憶部100は、ゲームを実行するために必要なデータを記憶する。ここでは、データ記憶部100に記憶されるデータの一例として、先述のサッカーゲームを実行するために必要なデータについて説明する。図7に示すように、先述のサッカーゲームを実行するために必要なデータとして、例えば、モデルデータD101と、モーションデータD102と、候補フレームデータD103と、キャラクタ状態データD104とがデータ記憶部100に記憶される。   [3-1] The data storage unit 100 stores data necessary for executing the game. Here, as an example of data stored in the data storage unit 100, data necessary for executing the above-described soccer game will be described. As shown in FIG. 7, for example, model data D101, motion data D102, candidate frame data D103, and character state data D104 are stored in the data storage unit 100 as data necessary for executing the above-described soccer game. It is memorized.

[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 player character 60. The model data D101 includes vertex data indicating the position of each vertex of the player character 60 when the posture of the player character 60 is the reference posture (that is, each vertex of each polygon constituting the player character 60). The vertex data also includes data indicating the positions of the vertices of the null objects 611L and 611R. For example, the position of each vertex is indicated in a local coordinate system. The “local coordinate system” is, for example, an origin corresponding to a reference point (for example, a point corresponding to the waist) of the player character 60 and an axis corresponding to the up-down direction, and a first axis having an upward direction as a positive direction , A coordinate system having an axis corresponding to the left and right direction, a second axis having the left direction as a positive direction, and an axis corresponding to the front and rear direction, a third axis having a front direction as a positive direction. . Note that the “reference posture” is a posture to which no bone is applied (that is, a basic posture before the position and rotation angle of the bone are set (changed)). The vertex data also includes data indicating an association between a vertex and a bone.

また、モデルデータD101は、選手キャラクタ60内に設定される各ボーンに関するボーンデータも含む。例えば、ボーンデータは、ボーンの階層構造に関するデータや、選手キャラクタ60の姿勢が基準姿勢である場合の各ボーンの位置及び回転角度を示すデータを含む。なお、ボーンの階層構造を示すデータ自体を記憶するのではなく、プログラムが扱うメモリ上で階層構造を展開するようにしてもよい。または、シェーダプログラムにおいてルールを定めて処理するようにし、ルールの異なるボーンを扱う場合にはシェーダプログラムを切り替えるという手法を採用してもよい。   The model data D101 also includes bone data relating to each bone set in the player character 60. For example, the bone data includes data relating to the hierarchical structure of the bones and data indicating the position and rotation angle of each bone when the posture of the player character 60 is the reference posture. Instead of storing the data indicating the hierarchical structure of the bone itself, the hierarchical structure may be developed on a memory handled by the program. Alternatively, a method may be adopted in which rules are defined and processed in a shader program, and when handling bones with different rules, the shader program is switched.

[3−1−2]モーションデータD102は、選手キャラクタ60に動作を実行させる場合の各フレームにおける選手キャラクタ60の姿勢を制御するためのデータである。データ記憶部100は、選手キャラクタ60が実行可能な複数種類の動作にそれぞれ対応する複数種類のモーションデータD102を記憶する。   [3-1-2] The motion data D102 is data for controlling the attitude of the player character 60 in each frame when the player character 60 performs an action. The data storage unit 100 stores a plurality of types of motion data D102 corresponding to a plurality of types of actions that can be performed by the player character 60, respectively.

図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 player character 60 is determined for each of a plurality of key frames. The bone matrix is a matrix indicating the position and the rotation angle of the bone. As shown in FIG. 8, the motion data D102 includes “key frame” and “bone” fields. The “key frame” field indicates a frame number of a key frame in the motion data. In the example shown in FIG. 8, the first frame, the 48th frame, the 96th frame, the 144th frame, and the like are key frames for the motion data D102 having the motion ID “M1”. In the “bone” field, a bone matrix indicating the position and the rotation angle of the bone is registered in association with each of the bones B1, B2, B3, B4,... Set for the player character 60.

図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 player character 60 is set. In the forty-eighth frame, the positions and rotation angles of the bones B1, B2, B3, B4,... Of the player character 60 are set based on the bone matrices BM148, BM248, BM348, BM448,. Thereby, the posture of the player character 60 is set.

[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 player character 60 executes an action based on the motion data D102). For example, a list of frame numbers of frames set as candidate frames is registered in the “candidate frame” field. In the example illustrated in FIG. 9, the first frame, the 24th frame, the 48th frame, and the like are set as candidate frames for the motion data D102 having the motion ID “M1”. In FIG. 9, the frame number of the candidate frame is registered in the “candidate frame” field. However, when a frame within a specific range from the first frame is set as a candidate frame, information indicating the specific range is set. May be registered in the “candidate frame” field.

[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 player character 60 arranged in the virtual space 50. FIG. 10 shows an example of the character state data D104. As shown in FIG. 10, the character state data D104 includes a “character ID”, a “position”, a “direction”, a “playback motion”, a “playback frame” field, and the like.

「キャラクタID」フィールドは、選手キャラクタ60を一意に識別するための識別情報を示す。「位置」フィールドは、仮想空間50における選手キャラクタ60の現在位置を示す。例えば、選手キャラクタ60の基準点(例えばローカル座標系における原点)の現在位置を示すワールド座標系(XwYwZw座標系)における座標値が「位置」フィールドに登録される。「向き」フィールドは、選手キャラクタ60が現在向いている方向を示す。   The “character ID” field indicates identification information for uniquely identifying the player character 60. The “position” field indicates the current position of the player character 60 in the virtual space 50. For example, a coordinate value in the world coordinate system (XwYwZw coordinate system) indicating the current position of the reference point (for example, the origin in the local coordinate system) of the player character 60 is registered in the “position” field. The “direction” field indicates the direction in which the player character 60 is currently facing.

「再生モーション」フィールドは、選手キャラクタ60に関して現在再生されているモーションデータD102を示す。すなわち、「再生モーション」フィールドは、選手キャラクタ60が現在実行している動作の種類を示す。例えば、選手キャラクタ60に関して現在再生されているモーションデータD102のモーションIDが「再生モーション」フィールドに登録される。「再生フレーム」フィールドは、モーションデータD102の現在再生位置を示す。例えば、モーションデータD102の何フレーム目を現在再生中であるのかが「再生フレーム」に登録される。   The “playback motion” field indicates the motion data D102 that is currently being played for the player character 60. That is, the “playback motion” field indicates the type of action that the player character 60 is currently executing. For example, the motion ID of the motion data D102 currently reproduced for the player character 60 is registered in the "reproduction motion" field. The “playback frame” field indicates the current playback position of the motion data D102. For example, what frame of the motion data D102 is currently being reproduced is registered as a “reproduction frame”.

図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 player character 60 whose character ID is “C101”, and “40” is registered in the “playback frame” field. This means that, for the player character 60 whose character ID is “C101”, the motion data D102 whose motion ID is “M1” is currently being reproduced, and the currently reproduced frame is “the 40th frame”. Show. That is, this indicates that the current posture of the player character 60 whose character ID is “C101” is the posture of the 40th frame of the motion data D102 whose motion ID is “M1”.

なお、キャラクタ状態データ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 player character 60, a field indicating whether the player character 60 has the ball 57, and a field indicating whether the player character 60 has the ball 57. Includes a field indicating whether or not is a user operation target.

[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 data storage unit 100. For example, ball state data indicating the current state of the ball 57 (eg, position, moving direction, moving speed, etc.), viewpoint state data indicating the current state of the viewpoint 58 (eg, position, line of sight, angle of view, etc.) The game condition data indicating the game situation (for example, the scores and elapsed time of both teams) is also stored in the data storage unit 100.

[3−2]第1モーションデータ取得部110は、キャラクタに第1動作を実行させるための第1モーションデータを取得する。第1動作実行部130は、第1モーションデータに基づいて、キャラクタに第1動作を実行させる。   [3-2] The first motion data obtaining unit 110 obtains first motion data for causing the character to execute the first motion. The first action execution unit 130 causes the character to execute a first action based on the first motion data.

「第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 player character 60 corresponds to an example of a “character”, the left foot 610L or the right foot 610R of the player character 60 corresponds to an example of the “specific part”, and the field 51 corresponds to an example of the “other object”. Equivalent to.

先述のサッカーゲームの場合、第1モーションデータ取得部110は、歩行モーションデータをデータ記憶部100から取得する。また、第1動作実行部130は、歩行モーションデータを再生することによって、歩行モーションデータに基づく歩行動作を選手キャラクタ60に実行させる。   In the case of the soccer game described above, the first motion data acquisition unit 110 acquires walking motion data from the data storage unit 100. Further, the first motion execution unit 130 causes the player character 60 to execute a walking motion based on the walking motion data by reproducing the walking motion data.

[3−3]第2モーションデータ取得部120は、キャラクタに第2動作を実行させるための第2モーションデータを取得する。   [3-3] The second motion data acquisition unit 120 acquires second motion data for causing the character to execute 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 data acquisition unit 120 acquires step motion data from the data storage unit 100.

[3−4]特定部位選択部140は、キャラクタが有する複数の部位のうちのいずれかを特定部位として選択する。例えば、キャラクタが、第1動作及び第2動作において、他のオブジェクト上に接触したり、他のオブジェクト上から離れたりする複数の部位を有する場合、特定部位選択部140は、当該複数の部位の各々と他のオブジェクトとの間の距離に基づいて、複数の部位のうちのいずれかを特定部位として選択する。   [3-4] The specific part selection unit 140 selects any of a plurality of parts of the character as the specific part. For example, in a case where the character has a plurality of parts that contact with or move away from another object in the first and second actions, the specific part selection unit 140 One of the plurality of parts is selected as a specific part based on the distance between each of them and another object.

「特定部位」とは、キャラクタの複数の部位のうちの特定の部位である。「特定部位」とは、第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 part selection unit 140 determines each of the left foot and the right foot of the character and another object. Is selected as a specific part based on the distance between the left foot and the right foot.

また例えば、キャラクタが左手と右手とを有している場合、左手と右手とが「複数の部位」の一例に相当し、特定部位選択部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 part selecting unit 140 determines that each of the left hand and the right hand of the character and another One of the left hand and the right hand is selected as the specific part based on the distance to the object.

例えば、特定部位選択部140は、複数の部位のうちで、他のオブジェクトとの距離が最も小さい部位を特定部位として選択する。または、特定部位選択部140は、複数の部位のうちで、他のオブジェクトとの距離が閾値以下である部位を特定部位として選択してもよい。すなわち、特定部位選択部140は、複数の部位の各々について順番に、上記距離が閾値以下であるか否かを判定し、上記距離が閾値以下である部位が見つかったら、残りの部位について判定を行うことなく、当該部位を特定部位として選択してもよい。   For example, the specific part selection unit 140 selects a part having the smallest distance from another object as a specific part among a plurality of parts. Alternatively, the specific part selection unit 140 may select, as a specific part, a part whose distance from another object is equal to or less than a threshold value among a plurality of parts. That is, the specific part selecting unit 140 sequentially determines whether or not the distance is equal to or less than the threshold for each of the plurality of parts, and if a part whose distance is equal to or less than the threshold is found, determines the remaining parts. Alternatively, the site may be selected as a specific site.

先述のサッカーゲームの場合、選手キャラクタ60の左足610L及び右足610Rが「複数の部位」の一例に相当し、フィールド51が「他のオブジェクト」の一例に相当する。特定部位選択部140は、選手キャラクタ60の左足610L及び右足610Rの各々とフィールド51との間の距離に基づいて、選手キャラクタ60の左足610L及び右足610Rのうちのいずれかを特定部位として選択する。   In the case of the aforementioned soccer game, the left foot 610L and the right foot 610R of the player character 60 correspond to an example of “a plurality of parts”, and the field 51 corresponds to an example of “another object”. The specific part selection unit 140 selects any of the left foot 610L and the right foot 610R of the player character 60 as the specific part based on the distance between each of the left foot 610L and the right foot 610R of the player character 60 and the field 51. .

具体的には、選手キャラクタ60の左足610Lのヌルオブジェクト611Lとフィールド51との距離(すなわち、ヌルオブジェクト611LのYw軸座標値)が、選手キャラクタ60の右足610Rのヌルオブジェクト611Rとフィールド51との距離(すなわち、ヌルオブジェクト611RのYw軸座標値)よりも小さい場合に、特定部位選択部140は選手キャラクタ60の左足610Lを特定部位として選択する。   Specifically, the distance between the null object 611L of the left foot 610L of the player character 60 and the field 51 (that is, the Yw axis coordinate value of the null object 611L) is determined by the distance between the null object 611R of the right foot 610R of the player character 60 and the field 51. When the distance is smaller than the distance (that is, the Yw axis coordinate value of the null object 611R), the specific part selection unit 140 selects the left foot 610L of the player character 60 as the specific part.

一方、選手キャラクタ60の右足610Rのヌルオブジェクト611Rとフィールド51との距離(すなわち、ヌルオブジェクト611RのYw軸座標値)が選手キャラクタ60の左足610Lのヌルオブジェクト611Lとフィールド51との距離(すなわち、ヌルオブジェクト611LのYw軸座標値)よりも小さい場合に、特定部位選択部140は選手キャラクタ60の右足610Rを特定部位として選択する。   On the other hand, the distance between the null object 611R of the right foot 610R of the player character 60 and the field 51 (that is, the Yw axis coordinate value of the null object 611R) is the distance between the null object 611L of the left foot 610L of the player character 60 and the field 51 (that is, When it is smaller than the null object 611L (Yw axis coordinate value), the specific part selection unit 140 selects the right foot 610R of the player character 60 as the specific part.

[3−5]第1特定部150は、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合に、第1モーションデータの動作切替時フレームにおけるキャラクタの特定部位の位置を特定する。   [3-5] The first specifying unit 150 specifies the position of the specific part of the character in the motion switching frame of the first motion data when switching the motion of the character performing the first motion to the second motion. .

「第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 unit 150 specifies the position of the reference object of the character in the motion switching frame.

「複数の部位オブジェクト」とは、キャラクタを構成する複数のオブジェクトである。例えば、個々の部位オブジェクトは複数のポリゴンを含んで構成される。   "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 display unit 16. For example, an “invisible object” is an object set to be transparent. In other words, the “non-display object” is an object that is excluded from the display target on the display unit 16 (the drawing target on the VRAM).

「基準オブジェクト」とは、第1特定部150や第2特定部160による位置の特定の対象として用いられるオブジェクトであり、それ以外の用途のないオブジェクトである。例えば、ヌルオブジェクトが「基準オブジェクト」として設定される。   The “reference object” is an object used as a position specifying target by the first specifying unit 150 or the second specifying unit 160, and has no other use. For example, a null object is set as a “reference object”.

先述のサッカーゲームの場合、選手キャラクタ60の左足610L及び右足610Rにそれぞれ設定されたヌルオブジェクト611L及びヌルオブジェクト611Rが「基準オブジェクト」の一例に相当する。   In the case of the above-mentioned soccer game, the null object 611L and the null object 611R set to the left foot 610L and the right foot 610R of the player character 60 respectively correspond to an example of the “reference object”.

先述のサッカーゲームでは、例えば、歩行動作を実行中の選手キャラクタ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 player character 60 performing the walking action is switched to the step action, the first specifying unit 150 determines the position of the left foot 610L or the right foot 610R of the player character 60 in the action switching frame. To identify. Specifically, when the part selected as the specific part by the specific part selection unit 140 is the left foot 610L, the first specifying unit 150 specifies the position of the null object 611L in the motion switching frame. On the other hand, when the part selected as the specific part by the specific part selection unit 140 is the right foot 610R, the first specifying unit 150 specifies the position of the null object 611R in the motion switching frame.

[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 unit 160 sets each of the plurality of candidate frames set from among the frames of the second motion data. The position of the specific part of the character in is specified.

「複数の候補フレーム」とは、第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 unit 160 specifies the position of the reference object of the character in each of the plurality of candidate frames.

先述のサッカーゲームでは、例えば、歩行動作を実行中の選手キャラクタ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 player character 60 performing the walking action is switched to the step action, the second specifying unit 160 sets a plurality of candidate frames set from each frame of the step motion data. The position of the left foot 610L or the right foot 610R of the player character 60 in each of CF [1] to CF [N] is specified. Specifically, when the site selected as the specific site by the specific site selection unit 140 is the left foot 610L, the second specifying unit 160 sets the null in each of the plurality of candidate frames CF [1] to CF [N]. The position of the object 611L is specified. On the other hand, when the site selected as the specific site by the specific site selection unit 140 is the right foot 610R, the second specifying unit 160 sets the null object 611R in each of the plurality of candidate frames CF [1] to CF [N]. Identify the location.

[3−7]第2動作実行部170は、第1動作を実行中のキャラクタの動作を第2動作に切り替える場合に、第1特定部150によって特定された動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された複数の候補フレームの各々における特定部位の位置とに基づいて、複数の候補フレームのうちのいずれかを選択し、当該選択された候補フレームに基づくフレームから第2モーションデータに基づいてキャラクタに動作を実行させる。   [3-7] The second action execution unit 170 determines the position of the specific part in the action switching frame specified by the first specifying unit 150 when switching the action of the character performing the first action to the second action. And selecting one of the plurality of candidate frames based on the position of the specific part in each of the plurality of candidate frames specified by the second specifying unit 160, and selecting a frame based on the selected candidate frame. The character is caused to execute an action based on the second motion data.

例えば、第2動作実行部170は、第1特定部150によって特定された動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された複数の候補フレームの各々における特定部位の位置とを比較し、その比較結果に基づいて、複数の候補フレームのうちからいずれかを選択する。   For example, the second operation execution unit 170 determines the position of the specific part in the operation switching frame specified by the first specifying unit 150 and the position of the specific part in each of the plurality of candidate frames specified by the second specifying unit 160 And selects one of a plurality of candidate frames based on the comparison result.

図7に示すように、第2動作実行部170は、距離取得部171とフレーム選択部172とを含む。距離取得部171は、第1特定部150によって特定された動作切替時フレームにおける特定部位の位置と、第2特定部160によって特定された複数の候補フレームの各々における特定部位の位置との間の距離を取得する。フレーム選択部172は、複数の候補フレームのうちから、距離取得部171によって取得された距離が最も小さい候補フレームを選択する。そして、第2動作実行部170は、フレーム選択部172によって選択された候補フレームに基づくフレームから第2モーションデータに基づいてキャラクタに動作を実行させる。   As shown in FIG. 7, the second operation execution unit 170 includes a distance acquisition unit 171 and a frame selection unit 172. The distance acquisition unit 171 determines the distance between the position of the specific part in the operation switching frame specified by the first specifying unit 150 and the position of the specific part in each of the plurality of candidate frames specified by the second specifying unit 160. Get distance. The frame selection unit 172 selects a candidate frame having the smallest distance acquired by the distance acquisition unit 171 from a plurality of candidate frames. Then, the second action execution unit 170 causes the character to execute an action based on the second motion data from a frame based on the candidate frame selected by the frame selection unit 172.

「距離」は、特定部位の位置が座標値(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 motion execution unit 170 does not instantaneously switch the posture of the character from the posture based on the first motion data to the posture based on the second motion data in the motion switching frame, In the frame period, the posture of the character is a posture obtained by blending the posture based on the first motion data and the posture based on the second motion data, and the blending ratio of the posture based on the first motion data is gradually reduced. By gradually increasing the blend ratio of the posture based on the second motion data, the posture of the character may be gradually switched from the posture based on the first motion data to the posture based on the second motion data.

「第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 operation executing unit 170 determines the position of the reference object in the operation switching frame specified by the first specifying unit 150 and the position of the reference object in each of the plurality of candidate frames specified by the second specifying unit 160 , One of the plurality of candidate frames is selected.

先述のサッカーゲームでは、例えば、歩行動作を実行中の選手キャラクタ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 player character 60 performing the walking action to the step action, the second action execution unit 170 determines whether the left foot 610L or the right foot 610R in the action switching frame of the walking motion data. Based on the position and the position of the left foot 610L or the right foot 610R in each of the plurality of candidate frames CF [1] to CF [N] of the step motion data, among the plurality of candidate frames CF [1] to CF [N]. Select one of

具体的には、特定部位選択部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 part selection unit 140 is the left foot 610L, the distance acquisition unit 171 determines the position of the null object 611L in the motion switching frame of the walking motion data and the step motion The distance between the position of the null object 611L in each of the plurality of candidate frames CF [1] to CF [N] of the data is acquired. That is, as shown in FIG. 11, the distance acquisition unit 171 determines, for each candidate frame CF [i] (i = 1, 2,..., N) of the step motion data, in the motion switching time frame of the walking motion data. The distance Di between the position of the null object 611L and the position of the null object 611L in the step motion data candidate frame CF [i] is acquired. Further, the frame selection unit 172 selects a candidate frame having the smallest distance acquired by the distance acquisition unit 171 from the plurality of candidate frames CF [1] to CF [N]. Then, the second action execution unit 170 causes the player character 60 to execute an action based on the step motion data from the candidate frame selected by the frame selection unit 172.

一方、特定部位選択部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 part selection unit 140 is the right foot 610R, the distance acquisition unit 171 determines the position of the null object 611R in the motion switching frame of the walking motion data and the multiple positions of the step motion data. Of the null object 611R in each of the candidate frames CF [1] to CF [N]. That is, as shown in FIG. 11, the distance acquisition unit 171 determines, for each candidate frame CF [i] (i = 1, 2,..., N) of the step motion data, in the motion switching time frame of the walking motion data. The distance Di between the position of the null object 611R and the position of the null object 611R in the step motion data candidate frame CF [i] is acquired. Further, the frame selection unit 172 selects a candidate frame having the smallest distance acquired by the distance acquisition unit 171 from the plurality of candidate frames CF [1] to CF [N]. Then, the second action execution unit 170 causes the player character 60 to execute an action based on the step motion data from the candidate frame selected by the frame selection unit 172.

[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 player character 60 performing the walking operation is switched to the step operation. For example, when the user performs a step motion execution instruction operation while the player character 60 being the user's operation target is performing the walking motion, the process illustrated in FIG. 12 is executed. Further, for example, when the execution instruction of the step operation for the player character 60 is performed by the computer while the player character 60 that is not the operation target of the user is performing the walking operation, the process illustrated in FIG. Be executed. When the control unit 11 of the game terminal 10 executes the processing shown in FIG. 12 according to the program, the control unit 11 functions as a functional block (excluding the data storage unit 100) shown in FIG.

図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 player character 60 in the motion switching frame of the walking motion data (the timing of switching the motion of the player character 60 performing the walking motion to the step motion). The position of the null object 611L is acquired (S100).

例えば、制御部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 player character 60 in the frame based on the walking motion data. Then, the control unit 11 sets the position and the rotation angle of each bone of the player character 60 based on the acquired bone matrix, so that the local coordinate system indicating the position of the null object 611L of the player character 60 ( That is, the relative position of the null object 611L with respect to the reference point of the player character 60 is specified. Further, the control unit 11 specifies a coordinate value in the world coordinate system indicating the position of the reference point of the player character 60 based on the character state data D104 (position field). And the control part 11 specifies the coordinate value of the world coordinate system which shows the position of the null object 611L based on these.

同様に、制御部11は、歩行モーションデータの動作切替時フレームにおける選手キャラクタ60の右足610Rのヌルオブジェクト611Rの位置を取得する(S102)。この処理はステップS100と同様である。   Similarly, the control unit 11 acquires the position of the null object 611R of the right foot 610R of the player character 60 in the motion switching frame of the walking motion data (S102). This process is the same as step S100.

ステップ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 field 51 among the left foot 610L and the right foot 610R of the player character 60 (S104).

例えば、制御部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 null object 611L of the left foot 610L acquired in step S100 and the field 51. Specifically, the control unit 11 acquires, as the first distance, a length of a perpendicular line hanging from the null object 611L to the field 51. When the field 51 corresponds to a plane where the Yw-axis coordinate value of the world coordinate system is 0, the control unit 11 acquires the Yw-axis coordinate value of the null object 611L as the first distance. Good. Similarly, the control unit 11 acquires the distance (second distance) between the position of the null object 611R of the right foot 610R acquired in step S102 and the field 51. Then, when the first distance is shorter than the second distance, the control unit 11 selects the left foot 610L as the specific part. On the other hand, when the second distance is shorter than the first distance, control unit 11 selects right foot 610R as the specific part.

また、制御部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 storage unit 12, the control unit 11 reads the step motion data from the storage unit 12.

さらに、制御部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 player character 60 in the i-th candidate frame CF [i] (S110).

例えば、制御部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 player character 60 in the frame based on the step motion data.

そして、ステップS104で選択された特定部位が左足610Lである場合、制御部11は、選手キャラクタ60の各ボーンの位置及び回転角度を、取得したボーン行列に基づいて設定することによって、選手キャラクタ60の左足610Lのヌルオブジェクト611Lの位置を示すローカル座標系の座標値(すなわち、選手キャラクタ60の基準点に対するヌルオブジェクト611Lの相対的位置)を特定する。   When the specific part selected in step S104 is the left foot 610L, the control unit 11 sets the position and the rotation angle of each bone of the player character 60 based on the acquired bone matrix, thereby setting the player character 60 Of the local coordinate system indicating the position of the null object 611L of the left foot 610L (that is, the relative position of the null object 611L with respect to the reference point of the player character 60).

一方、ステップS104で選択された特定部位が右足610Rである場合、制御部11は、選手キャラクタ60の各ボーンの位置及び回転角度を、取得したボーン行列に基づいて設定することによって、選手キャラクタ60の右足610Rのヌルオブジェクト611Rの位置を示すローカル座標系の座標値(すなわち、選手キャラクタ60の基準点に対するヌルオブジェクト611Rの相対的位置)を特定する。   On the other hand, when the specific part selected in step S104 is the right foot 610R, the control unit 11 sets the position and the rotation angle of each bone of the player character 60 based on the acquired bone matrix, thereby setting the player character 60 Of the null object 611R of the right foot 610R of the player character 60 (ie, the relative position of the null object 611R with respect to the reference point of the player character 60).

ステップ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 left foot 610L, the control unit 11 determines the position of the null object 611L acquired in step S110 (the coordinate value in the local coordinate system) and the null object acquired in step S100. The distance from the position of the object 611L (the coordinate value in the local coordinate system) is calculated. On the other hand, when the specific part selected in step S104 is the right foot 610R, the control unit 11 determines the position of the null object 611R acquired in step S110 (the coordinate value in the local coordinate system) and the null object acquired in step S102. The distance from the position of the object 611R (the coordinate value in the local coordinate system) is calculated. Then, the control unit 11 stores the distance calculated as described above in the storage unit 12 in association with the information for identifying the i-th candidate frame CF [i] (FIG. 11).

ステップ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 player character 60 to execute an action based on the step motion data from the candidate frame selected in step S118 (S120).

例えば、制御部11は、歩行モーションデータの再生を中止し、ステップS118で選択した候補フレームからステップモーションデータを再生することによって選手キャラクタ60にステップ動作を開始させる。   For example, the control unit 11 causes the player character 60 to start the step motion by stopping the reproduction of the walking motion data and reproducing the step motion data from the candidate frame selected in step S118.

また例えば、制御部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 player character 60 to a posture obtained by blending the posture based on the walking motion data and the posture based on the step motion data in a period of a predetermined number of frames from the motion switching frame, By gradually lowering the blending ratio of the posture based on the data and gradually increasing the blending ratio of the posture based on the step motion data, the posture of the player character 60 is changed from the posture based on the walking motion data to the posture based on the step motion data. The switching may be performed gradually. In other words, the control unit 11 sets the movement of the player character 60 to an action of blending the walking action and the step action during the period of the predetermined number of frames from the action switching frame, and gradually reduces the blending ratio of the walking action. The motion of the player character 60 may be gradually switched from the walking motion to the step motion by gradually increasing the blend ratio of the step motion.

なお、ステップ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 left foot 610L, in step S110, the control unit 11 indicates the position of the reference point of the player character 60 based on the character state data D104 (position field). The coordinate value of the null object 611L is specified based on the coordinate value of the local coordinate system indicating the position of the null object 611L and the coordinate value of the world coordinate system indicating the position of the reference point of the player character 60. The coordinate value of the world coordinate system indicating the position may be specified. Then, in step S112, the control unit 11 determines the position of the null object 611L (the coordinate value in the world coordinate system) obtained in step S110 and the position of the null object 611L (the coordinate value in the world coordinate system) obtained in step S100. ) May be calculated. Similarly, when the specific part selected in step S104 is the right foot 610R, in step S110, the control unit 11 may specify a coordinate value in the world coordinate system indicating the position of the null object 611R. Then, in step S112, the control unit 11 determines the position of the null object 611R (the coordinate value in the world coordinate system) obtained in step S110 and the position of the null object 611R (the coordinate value in the world coordinate system) obtained in step S100. ) May be calculated.

また、ステップ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 null object 611L of the left foot 610L with the coordinate value of the local coordinate system indicating the position of the null object 611R of the right foot 610R. Thus, the foot closer to the field 51 may be specified. For example, the control unit 11 calculates a distance between a coordinate value of the local coordinate system indicating the position of the null object 611L and a predetermined coordinate value (a coordinate value of the local coordinate system corresponding to the field 51) as a first distance. You may. Similarly, the control unit 11 calculates the distance between the coordinate value of the local coordinate system indicating the position of the null object 611R and a predetermined coordinate value (the coordinate value of the local coordinate system corresponding to the field 51) as the second distance. May be. When the first distance is shorter than the second distance, the control unit 11 selects the left foot 610L as the specific part, and when the second distance is shorter than the first distance, the control unit 11 selects the right foot 610R as the specific part. May be selected.

[5.まとめ]以上に説明したゲームシステム1によれば、例えば、歩行動作を実行中のキャラクタの動作をステップ動作に切り替える場合に、動作切替時における選手キャラクタ60の左足610L又は右足610R(例えばフィールド51に接触している方の足)の位置ずれを軽減でき、その結果、「足滑り」の発生を抑制できる。   [5. Conclusion] According to the game system 1 described above, for example, when the motion of the character performing the walking motion is switched to the step motion, the left foot 610L or the right foot 610R of the player character 60 at the time of the motion switching (for example, in the field 51). The displacement of the contacting foot) can be reduced, and as a result, the occurrence of "foot slip" can be suppressed.

なお、「足滑り」は、フィールド51に接触している足又はフィールド51に近い位置にある足について発生しやすい。一方、フィールド51から離れている足に関しては、動作切替時に位置ずれが生じていたとしても、ユーザに違和感を与えてしまう可能性は低い。この点、ゲームシステム1によれば、選手キャラクタ60の左足610L又は右足610Rのうち、フィールド51に近い方の足がどちらであるかを判定し、フィールド51に近い方の足について、動作切替時の位置ずれを軽減するため、「足滑り」が発生する可能性が高い足に関して、動作切替時の位置ずれを軽減できる。   Note that “foot slip” is likely to occur for a foot in contact with the field 51 or a foot near the field 51. On the other hand, with regard to the foot that is away from the field 51, even if a positional shift has occurred at the time of the operation switching, it is unlikely that the user will feel uncomfortable. In this regard, according to the game system 1, it is determined which of the left foot 610L and the right foot 610R of the player character 60 is closer to the field 51, and the action closer to the field 51 is determined. In order to reduce the positional deviation, the positional deviation at the time of operation switching can be reduced for a foot that is highly likely to cause “foot slip”.

また、ゲームシステム1によれば、例えば、ユーザによるステップ動作の実行指示操作に応じて、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合に、実行指示操作に応じて、直ちに、選手キャラクタの動作を切り替えることができ、選手キャラクタ60の動作切替が遅れる(すなわち、選手キャラクタ60の反応が遅い)との不満をユーザに感じさせないように図ることができる。   Further, according to the game system 1, for example, when the operation of the player character 60 performing the walking operation is switched to the step operation in response to the user's operation instruction operation of the step operation, the operation is immediately performed in response to the execution instruction operation. It is possible to prevent the user from feeling dissatisfied that the movement of the player character 60 is delayed (that is, the reaction of the player character 60 is slow).

また、ゲームシステム1によれば、左足610Lにヌルオブジェクト611Lを設定し、右足610Rにヌルオブジェクト611Rを設定したことによって、第1特定部150、第2特定部160、及び第2動作実行部170において、左足610L又は右足610Rの位置としてヌルオブジェクト611L,611Rの位置のみに着目すればよくなるため、処理を簡略化できる。また、ヌルオブジェクト611L,611Rは非表示のオブジェクトであるため、余計なオブジェクトが表示部16に表示されるという不都合も発生しない。   According to the game system 1, the null object 611L is set on the left foot 610L and the null object 611R is set on the right foot 610R, so that the first specifying unit 150, the second specifying unit 160, and the second operation executing unit 170 are set. In this case, since it is sufficient to pay attention only to the positions of the null objects 611L and 611R as the positions of the left foot 610L or the right foot 610R, the processing can be simplified. Further, since the null objects 611L and 611R are non-display objects, there is no inconvenience that unnecessary objects are displayed on the display unit 16.

[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 operation execution unit 170 sequentially turns the first motion data identified by the first identification unit 150 in the operation switching frame. It is determined whether or not the distance between the position of the specific part and the position of the specific part in the candidate frame specified by the second specifying unit 160 is smaller than a threshold, and the candidate frame in which the distance is smaller than the threshold is determined. If is found, the candidate frame may be selected without making a determination on the remaining candidate frames.

すなわち、図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 operation execution unit 170 is set based on the position of a specific part (for example, a left foot or a right foot) in the operation switching frame of the first motion data specified by the first specifying unit 150. One of the plurality of candidate frames of the second motion data specified by the second specifying unit 160 in a determination area (for example, an area that is equal to or less than a threshold from the position of the specific part of the character performing the first action). In the case where the position of the specific part is included, the candidate frame may be selected.

すなわち、図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 left foot 610L, after the execution of step S110, the position is determined within the determination area set based on the position acquired in step S100. Alternatively, it may be determined whether or not the position acquired in step S110 is included. On the other hand, if the foot specified as the specific part in step S104 is the right foot 610R, after execution of step S110, the foot acquired in step S110 is within the determination area set based on the position acquired in step S102. It may be determined whether or not the position is included. Then, if the position acquired in step S110 is included in the determination area, the i-th candidate frame CF [i] is selected, and step S120 is executed. On the other hand, the position acquired in step S110 is If not included in the determination area, step S114 may be executed. Even in such a case, any one of the candidate frames CF [1] to CF “N” can be selected without acquiring the distance, so that the processing load can be reduced.

[6−3]また例えば、第2動作実行部170は、第1特定部150によって特定された第1モーションデータの動作切替時フレームにおける特定部位(例えば左足又は右足)の位置が、第2特定部160によって特定された、第2モーションデータの複数の候補フレームのいずれかにおけるキャラクタの特定部位の位置に基づいて設定される判定領域(例えば、複数の候補フレームの各々におけるキャラクタの特定部位の位置から閾値以下の領域)内に含まれる場合に、当該候補フレームを選択するようにしてもよい。   [6-3] Further, for example, the second operation execution unit 170 determines that the position of the specific part (for example, the left foot or the right foot) in the operation switching frame of the first motion data specified by the first specifying unit 150 is the second specification. A determination area (for example, the position of the specific part of the character in each of the plurality of candidate frames) set based on the position of the specific part of the character in any of the plurality of candidate frames of the second motion data specified by the unit 160 , The candidate frame may be selected.

すなわち、図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 left foot 610L, after the execution of step S110, the determination area set based on the position acquired in step S110 Alternatively, it may be determined whether or not the position acquired in step S100 is included. On the other hand, if the foot identified as the specific part in step S104 is the right foot 610R, after execution of step S110, the foot acquired in step S102 is within the determination area set based on the position acquired in step S110. It may be determined whether or not the position is included. If the position acquired in step S100 or S102 is included in the determination area, the i-th candidate frame CF [i] is selected, and step S120 is executed. If the determined position is not included in the determination area, step S114 may be executed. Even in such a case, any one of the candidate frames CF [1] to CF “N” can be selected without acquiring the distance, so that the processing load can be reduced.

[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 server 30 may be stored in the storage unit 32 or the database 35, or may be transmitted from the game terminal 10 to the server 30. Further, data necessary for displaying various images on the display unit 16 (data indicating the images themselves or data for generating the images, etc.) may be transmitted from the server 30 to the game terminal 10.

[6−5]以上では、主に、歩行動作を実行中の選手キャラクタ60の動作をステップ動作に切り替える場合について主に説明したが、本発明は、歩行動作以外の動作を実行中の選手キャラクタ60の動作をステップ動作以外の動作に切り替える場合に用いることもできる。   [6-5] In the above description, the case where the operation of the player character 60 performing the walking motion is mainly switched to the step operation has been described, but the present invention relates to the player character performing the operation other than the walking operation. It can also be used when the operation 60 is switched to an operation other than the step operation.

また、以上では、サッカーゲームにおいて、「足滑り」の発生を抑制しつつ、選手キャラクタ60の動作を切り替える場合について主に説明したが、本発明は、サッカーゲーム以外のゲームにも適用できる。   In the above description, the case where the action of the player character 60 is switched while suppressing the occurrence of “foot slip” in the soccer game has been mainly described. However, the present invention can be applied to games other than the soccer game.

また、以上では、「足滑り」の発生を抑制する場合について主に説明したが、先述したように、本発明は、「手滑り」の発生を抑制するために用いることもできる。例えば、キャラクタが逆立ちをした状態が各種動作を行うようなゲーム等、キャラクタが他のオブジェクト(例えば、フィールド、壁、又はテーブル等)に手を付いた状態で各種動作を行うようなゲームでは、動作切替前後で他のオブジェクトに接触しているキャラクタの左手又は右手の位置ずれが発生することによって、動作切替時にキャラクタの左手又は右手が他のオブジェクト上で滑っているかのようにユーザに見えてしまう可能性がある。この点、本発明に係る手法をキャラクタの左手又は右手を対象として実行することによって、「手滑り」の発生を抑制しつつ、キャラクタの動作を切り替えることもできる。   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 left foot 610L or the right foot 610R) of the character in the motion switching frame of the first motion data is specified. 1 specifying means (150), and switching the motion of the character performing the first motion to the second motion. The second specifying means (160) for specifying the position of the specific portion of the character in each of a plurality of candidate frames set from among the frames of the second motion data; In the case of switching the running motion of the character to the second motion, the position of the specific portion in the motion switching frame specified by the first specifying device (150) and the second specifying device (160) Selecting one of the plurality of candidate frames based on the position of the specific part in each of the plurality of candidate frames identified by the second frame, and selecting the second motion from a frame based on the selected candidate frame. Executing means (170) for causing the character to execute an action based on data.

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 left foot 610L and a right foot 610R) that are separated from above, and the image processing device (10) is configured to determine the distance between each of the plurality of parts and the other object based on A specific part selecting means (140) for selecting any one of a plurality of parts as the specific part may be further included.

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 left foot 610L or the right foot 610R is configured to include a non-displayed reference object (for example, a null object 611L or 611R), and the first specifying unit (150) determines the reference object of the character in the motion switching frame. The position is specified, the second specifying means (160) specifies the position of the reference object of the character in each of the plurality of candidate frames, and the execution means (170) specifies the position of the first specifying means (150). ), The position of the reference object in the motion switching frame specified by Any of the plurality of candidate frames may be selected based on the position of the reference object in each of the plurality of candidate frames specified by the second specifying unit (160). .

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)

キャラクタに第1動作を実行させるための第1モーションデータを取得する第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:
JP2019156369A 2019-08-29 2019-08-29 Image processing equipment, image processing systems, and programs Active JP7097620B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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