JP2012208548A - Program and image processing apparatus with program recording unit with the program recorded therein - Google Patents

Program and image processing apparatus with program recording unit with the program recorded therein Download PDF

Info

Publication number
JP2012208548A
JP2012208548A JP2011071481A JP2011071481A JP2012208548A JP 2012208548 A JP2012208548 A JP 2012208548A JP 2011071481 A JP2011071481 A JP 2011071481A JP 2011071481 A JP2011071481 A JP 2011071481A JP 2012208548 A JP2012208548 A JP 2012208548A
Authority
JP
Japan
Prior art keywords
character
data
motion data
program
joint
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
JP2011071481A
Other languages
Japanese (ja)
Other versions
JP5785414B2 (en
Inventor
Takayasu Yanagihara
孝安 柳原
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.)
Capcom Co Ltd
Original Assignee
Capcom 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 Capcom Co Ltd filed Critical Capcom Co Ltd
Priority to JP2011071481A priority Critical patent/JP5785414B2/en
Publication of JP2012208548A publication Critical patent/JP2012208548A/en
Application granted granted Critical
Publication of JP5785414B2 publication Critical patent/JP5785414B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide an image processing apparatus which is capable of easily increasing variations of a motion corresponding to a condition or characteristics of a character and a program for implementing the image processing apparatus.SOLUTION: Reference motion data are corrected on the basis of a parameter value of a feature parameter and an operational expression. As the operational expression, such an expression as being reflected with features is set in accordance with a motion and features. As the parameter value, a value indicating a degree of reflection of features is set. The corrected motion data are used to reproduce the motion reflected with the features in accordance with the parameter value. In comparison with the case where a parameter value of a sex parameter is set to "0" (refer to a selected figure (a)), a motion of walking in a feminine manner is reproduced in the case where the parameter value is set to "1" (refer to the selected figure (b)), and a motion of walking in a mannish manner is reproduced in the case where the parameter value is set to "-1" (refer to the selected figure (c)).

Description

本発明は、プログラム、および、当該プログラムを記録したプログラム記録部を備えている画像処理装置に関し、特に、キャラクタの表示方法に関する。   The present invention relates to a program and an image processing apparatus including a program recording unit that records the program, and more particularly to a character display method.

従来、プレイヤが所定のキャラクタを操作し、三次元仮想ゲーム空間上で敵であるキャラクタと戦うアクションゲームが開発されている。以下では、プレイヤが操作するキャラクタを「プレイヤキャラクタ」とし、敵であるキャラクタを「敵キャラクタ」とする。   2. Description of the Related Art Conventionally, an action game has been developed in which a player operates a predetermined character and fights against an enemy character in a three-dimensional virtual game space. Hereinafter, the character operated by the player is referred to as “player character”, and the enemy character is referred to as “enemy character”.

このようなアクションゲームでは、プレイヤキャラクタおよび敵キャラクタは、互いに相手を攻撃する動作を行う。また、プレイヤキャラクタおよび敵キャラクタは、走ったりジャンプするなどの移動のための動作を行う。キャラクタ毎に各動作のためのデータ(以下では、「モーションデータ」とする。詳細は後述する。)をあらかじめ用意しておくと膨大なデータ量となる。したがって、各キャラクタに共通する動作毎のモーションデータを用意し、これを各キャラクタ固有の画像データやモデルデータなど(以下では、「キャラクタデータ」とする。詳細は後述する。)と組み合わせて各キャラクタに各動作を行わせることで、用意するモーションデータの数を抑制している。   In such an action game, the player character and the enemy character perform an action of attacking each other. In addition, the player character and the enemy character perform movements such as running and jumping. If data for each action (hereinafter referred to as “motion data”, details will be described later) are prepared in advance for each character, a huge amount of data is required. Accordingly, motion data common to each character is prepared for each motion, and this character is combined with image data and model data unique to each character (hereinafter referred to as “character data”, details will be described later). By performing each operation, the number of motion data to be prepared is suppressed.

モーションデータは、各動作(モーション)のフレーム毎(例えば1/60秒毎)のデータを記録したものである(図6参照)。一般に、コンピュータグラフィックスを用いたアニメーションでは、人や動物などの多関節物体は身体の各パーツを関節で連結した階層構造のスケルトンモデル(図2および図3参照)で表現される。スケルトンモデルおよびその階層構造については、後述する。モーションデータは、このスケルトンモデルの各関節の位置データまたは各関節の回転角度のデータをフレーム毎に記録している。各関節の位置に応じてキャラクタの各パーツを配置することで当該キャラクタを三次元仮想ゲーム空間上に配置し、これをフレーム毎に行うことで当該キャラクタに所定の動作を行わせる。例えば、プレイヤがプレイヤキャラクタに歩いて移動させるための操作を行った場合、歩いて移動する動作のモーションデータとプレイヤキャラクタのキャラクタデータとを用いてプレイヤキャラクタが歩いて移動する動作の映像が生成され、ゲーム画面に表示される。   The motion data is data for each frame (for example, every 1/60 seconds) of each operation (motion) (see FIG. 6). In general, in an animation using computer graphics, a multi-joint object such as a person or an animal is represented by a skeleton model (see FIGS. 2 and 3) having a hierarchical structure in which parts of the body are connected by joints. The skeleton model and its hierarchical structure will be described later. As the motion data, position data of each joint of the skeleton model or rotation angle data of each joint is recorded for each frame. By placing each part of the character in accordance with the position of each joint, the character is placed in the three-dimensional virtual game space, and this is performed for each frame to cause the character to perform a predetermined action. For example, when the player performs an operation for walking and moving the player character, a motion image of the player character walking and moving is generated using the motion data of the walking and character data of the player character. Displayed on the game screen.

また、プレイヤキャラクタの状態は、ゲームの進行状況によって異なる場合がある。例えば、プレイヤキャラクタが元気な場合もあれば、疲れている場合もある。プレイヤキャラクタの状態が異なる場合に、その状態をよりリアルに表現しようとすれば、プレイヤキャラクタの動作を変化させる必要がある。つまり、プレイヤキャラクタが元気な状態では元気に歩く動作の映像を生成し、プレイヤキャラクタが疲れている状態では疲れて歩く動作の映像を生成する必要がある。しかし、この場合、元気に歩く動作と疲れて歩く動作とで、別々のモーションデータを用意する必要がある。少し疲れた状態と疲れ果てた状態とを区別して表現しようとすれば、さらに用意するモーションデータの数が増加することになる。   Further, the state of the player character may vary depending on the progress of the game. For example, the player character may be fine or tired. If the state of the player character is different, it is necessary to change the action of the player character in order to express the state more realistically. In other words, it is necessary to generate an image of a walking action when the player character is in an energetic state and to generate an image of an walking action when the player character is tired. However, in this case, it is necessary to prepare separate motion data for a healthy walking operation and a tired walking operation. If an attempt is made to distinguish between the slightly tired state and the exhausted state, the number of motion data to be prepared further increases.

このようにモーションデータの数が増加することを抑制するための方法が、開発されている。例えば、ある状態のモーションデータと基準となるモーションデータとから、その状態を表現するための変形データを抽出し、当該変形データに適用度を乗算したものを用いる方法が開発されている。当該方法では、抽出された変形データと他の動作のモーションデータとを用いて、変形データに対応する状態の他の動作を表現することで、モーションデータの数が増加することを抑制している。   A method for suppressing the increase in the number of motion data has been developed. For example, a method has been developed in which deformation data for expressing the state is extracted from motion data in a certain state and reference motion data, and the deformation data is multiplied by the applicability. In this method, by using the extracted deformation data and the motion data of another motion, other motions in a state corresponding to the deformation data are expressed, thereby suppressing an increase in the number of motion data. .

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

しかしながら、上記方法を用いる場合、ある状態のモーションデータと基準となるモーションデータの2つのモーションデータを用意する必要がある。つまり、疲れた状態の変形データを抽出するためには、基準となる歩くモーションデータと疲れた状態で歩くモーションデータとを用意する必要がある。さらに、キャラクタの性別や体格(例えば、猫背など)の違いを表現する場合は、男性(または、女性)が歩くモーションデータや猫背の人が歩くモーションデータなどを用意しなければならない。つまり、キャラクタの状態や特性に応じた動作のバリエーションを増加させるためには、状態や特性ごとのモーションデータを用意する必要がある。したがって、ゲーム作製者の作業負担が増加し、記録するデータ量が膨大になる。   However, when using the above method, it is necessary to prepare two pieces of motion data, that is, motion data in a certain state and reference motion data. That is, in order to extract deformation data in a tired state, it is necessary to prepare reference walking motion data and motion data walking in a tired state. Furthermore, in order to express the difference in character's gender and physique (for example, stoop), motion data for men (or women) to walk, motion data for strollers to walk, and the like must be prepared. That is, it is necessary to prepare motion data for each state and characteristic in order to increase the variation of the action according to the character's state and characteristic. Therefore, the work burden on the game creator increases and the amount of data to be recorded becomes enormous.

なお、上記問題は、アクションゲームに限られるものではなく、他の種類のゲームにおいても生じる。また、ゲーム以外においても、共通のモーションデータに基づいてキャラクタの動作を表示する場合に、上記問題が生じる。   The above problem is not limited to the action game, but also occurs in other types of games. In addition to the game, the above-described problem occurs when displaying the motion of the character based on the common motion data.

本発明は上記した事情のもとで考え出されたものであって、キャラクタの状態や特性に応じた動作のバリエーションを簡単に増加させることができる画像処理装置、および、この画像処理装置を実現するためのプログラムを提供することをその目的としている。   The present invention has been conceived under the circumstances described above, and an image processing apparatus capable of easily increasing variations of actions according to the state and characteristics of a character, and the image processing apparatus are realized. Its purpose is to provide a program to do this.

上記課題を解決するため、本発明では、次の技術的手段を講じている。   In order to solve the above problems, the present invention takes the following technical means.

本発明の第1の側面によって提供されるプログラムは、複数の関節による連結構造を有するキャラクタが動作を行っている画像を表示装置に表示する画像処理装置のコンピュータで実行されるプログラムであって、前記コンピュータを、前記各関節間の距離を特定するためのキャラクタデータと、所定の動作を行わせるべく前記各関節間の相対的な位置関係を特定するための基準モーションデータと、前記キャラクタに関する少なくとも1種類のパラメータ値とを、記憶部から読み出す情報読出手段と、前記基準モーションデータを用いて、前記キャラクタに対応するモーションデータを生成するモーションデータ生成手段と、前記キャラクタに対応するモーションデータと前記キャラクタデータとを用いて、前記キャラクタに所定の動作を行わせるキャラクタ制御手段として機能させ、前記モーションデータ生成手段は、前記キャラクタに関するパラメータ値に基づいて前記基準モーションデータを補正することで、前記キャラクタに対応するモーションデータを生成することを特徴とする。   A program provided by the first aspect of the present invention is a program executed by a computer of an image processing apparatus that displays an image in which a character having a connection structure with a plurality of joints is moving on a display device, The computer includes character data for specifying a distance between the joints, reference motion data for specifying a relative positional relationship between the joints to perform a predetermined action, and at least regarding the character Information reading means for reading out one type of parameter value from the storage unit, motion data generating means for generating motion data corresponding to the character using the reference motion data, motion data corresponding to the character, The character data is used to perform a predetermined action on the character. To function as a character control means causes I, the motion data generating unit, by correcting the reference motion data based on the parameter values for the character, and generates the motion data corresponding to the character.

なお、本発明における「パラメータ値」には、キャラクタにあらかじめ設定されている「特性」についてのパラメータ値、および、ゲームの進行に応じて変化するキャラクタの「状態」についてのパラメータ値などが含まれる。「特性」には、性別や体格、性格などが含まれる。例えば、当該キャラクタの男っぽさ(または、女っぽさ)の程度や、猫背の程度、太り具合、性格の明るさ(暗さ)の程度、年齢、傲慢さ(謙虚さ)の程度などが、「パラメータ値」として設定されている。また、「状態」には、体力の状態や精神状態などが含まれる。例えば、当該キャラクタのそのときの疲れ方の程度や、士気の高さ、気力の充実度、気分の高揚の程度、体力の程度、年齢(ゲーム進行中に加齢する場合)などが、「パラメータ値」として設定されている。 The “parameter value” in the present invention includes a parameter value for a “characteristic” preset for the character, a parameter value for the “state” of the character that changes as the game progresses, and the like. . “Characteristic” includes gender, physique, personality, and the like. For example, the degree of masculinity (or femininity) of the character, the degree of stoop, weight, degree of personality (darkness), age, arrogance (humility), etc. Is set as the “parameter value”. The “state” includes a state of physical strength and a mental state. For example, the degree of fatigue of the character, the level of morale, the level of power, the level of mood, the level of physical strength, the age (when aging while the game is in progress), etc. Value ".

本発明の好ましい実施の形態においては、前記キャラクタは、同一の連結構造を有する複数のキャラクタであって、前記情報読出手段は、前記各キャラクタに対応するキャラクタデータおよびパラメータ値と、前記基準モーションデータとを読み出し、前記モーションデータ生成手段は、前記各キャラクタに対応するモーションデータを生成し、前記キャラクタ制御手段は、前記各キャラクタに対応するモーションデータとキャラクタデータとを用いて、前記各キャラクタに所定の動作を行わせる。   In a preferred embodiment of the present invention, the character is a plurality of characters having the same connection structure, and the information reading means includes character data and parameter values corresponding to each character, and the reference motion data. And the motion data generating means generates motion data corresponding to each character, and the character control means uses the motion data and character data corresponding to each character to predetermine each character. Let's do the operation.

本発明の好ましい実施の形態においては、前記基準モーションデータは、前記各関節の回転角度を含んでおり、前記モーションデータ生成手段は、前記基準モーションデータに含まれる所定の関節の回転角度を補正する。   In a preferred embodiment of the present invention, the reference motion data includes a rotation angle of each joint, and the motion data generation unit corrects a rotation angle of a predetermined joint included in the reference motion data. .

本発明の好ましい実施の形態においては、前記基準モーションデータは、前記キャラクタの位置の情報を含んでおり、前記モーションデータ生成手段は、前記位置の情報を補正する。   In a preferred embodiment of the present invention, the reference motion data includes information on the position of the character, and the motion data generation unit corrects the position information.

本発明の好ましい実施の形態においては、前記情報読出手段は、複数の所定の特徴の程度をそれぞれ特定するためのパラメータ値を読出し、前記モーションデータ生成手段は、前記各所定の特徴ごとに、対応するパラメータ値に基づく補正を行う。   In a preferred embodiment of the present invention, the information reading unit reads a parameter value for specifying the degree of a plurality of predetermined features, and the motion data generating unit responds to each predetermined feature. Correction based on the parameter value to be performed.

本発明の好ましい実施の形態においては、前記コンピュータを、プレイヤの操作に応じて前記パラメータ値を変更するパラメータ値変更手段としてさらに機能させる。   In a preferred embodiment of the present invention, the computer is further caused to function as parameter value changing means for changing the parameter value according to an operation of a player.

本発明の第2の側面によって提供される画像処理装置は、本発明の第1の側面によって提供されるプログラムを記録したプログラム記録部と、前記プログラム記録部に記録されたプログラムを実行するコンピュータとを備えていることを特徴とする。   An image processing apparatus provided by the second aspect of the present invention includes a program recording unit that records the program provided by the first aspect of the present invention, and a computer that executes the program recorded in the program recording unit. It is characterized by having.

本発明によれば、基準モーションデータが、特徴の程度を特定するためのパラメータ値に基づいて補正される。補正されたモーションデータに基づいて、キャラクタの動作は制御される。基準モーションデータがパラメータ値に基づいて補正されているので、キャラクタの特徴が反映された動作が再生される。また、パラメータ値に応じて、各特徴の程度が反映される。これにより、キャラクタの動作のバリエーションを簡単に増加させることができる。また、基準モーションデータを補正して用いるので、バリエーションに応じたモーションデータをそれぞれ作製する必要がない。したがって、ゲーム作製者の作業負担を軽減することができ、開発コストを抑制することができる。また、バリエーションが増加しても基準モーションデータのデータ量は増加しないので、モーションデータを記憶しておくためのRAMの記憶領域の増大を抑制することができる。   According to the present invention, the reference motion data is corrected based on the parameter value for specifying the degree of the feature. Based on the corrected motion data, the motion of the character is controlled. Since the reference motion data is corrected based on the parameter value, the motion reflecting the character characteristics is reproduced. Further, the degree of each feature is reflected according to the parameter value. Thereby, the variation of a character's operation | movement can be increased easily. Further, since the reference motion data is corrected and used, there is no need to create motion data corresponding to variations. Therefore, the work burden on the game creator can be reduced and the development cost can be suppressed. Moreover, since the data amount of the reference motion data does not increase even if variations increase, it is possible to suppress an increase in the storage area of the RAM for storing the motion data.

本発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。   Other features and advantages of the present invention will become more apparent from the detailed description given below with reference to the accompanying drawings.

本実施形態に係るゲーム装置を示す構成図である。It is a lineblock diagram showing the game device concerning this embodiment. キャラクタが両手を広げて直立した姿勢を取っているときの各関節のリンク構造を示す図である。It is a figure which shows the link structure of each joint when a character is taking the attitude | position which stood up with both hands extended. 各関節の親子関係の階層構造を示す図である。It is a figure which shows the hierarchical structure of the parent-child relationship of each joint. プレイヤキャラクタデータの一例を説明するための図である。It is a figure for demonstrating an example of player character data. ポジションデータを説明するための図である。It is a figure for demonstrating position data. 基準モーションデータの一例を説明するための図である。It is a figure for demonstrating an example of reference | standard motion data. 演算式データの一例を説明するための図である。It is a figure for demonstrating an example of arithmetic expression data. キャラクタが歩く動作を行っているデモ映像の1コマの画像を示す図である。It is a figure which shows the image of one frame of the demonstration image | video where the character is performing the motion to walk. キャラクタが左手に盾を持って歩く動作を行っているデモ映像の1コマの画像を示す図である。It is a figure which shows the image of one frame of the demonstration image | video where the character is performing the motion which walks with a shield in the left hand. プレイヤキャラクタのモーション再生のためのスケルトンデータを生成するための処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process for producing | generating the skeleton data for the player character's motion reproduction. スケルトンデータの一例を説明するための図である。It is a figure for demonstrating an example of skeleton data.

以下、本発明の好ましい実施の形態として、本発明に係るプログラムをゲームソフトに適用した場合について、添付図面を参照して具体的に説明する。以下の説明では、家庭用ゲーム装置(以下、「ゲーム装置」とする。)において、アクションゲームを進行している場合を例として説明する。   Hereinafter, as a preferred embodiment of the present invention, a case where a program according to the present invention is applied to game software will be specifically described with reference to the accompanying drawings. In the following description, a case where an action game is progressing in a home game device (hereinafter referred to as “game device”) will be described as an example.

本実施形態に係るアクションゲームは、三次元仮想ゲーム空間上でプレイヤキャラクタが敵キャラクタと戦い、敵キャラクタを倒すことにより進行する。プレイヤキャラクタは、プレイヤの操作に応じて、攻撃や移動などの動作を行う。また、敵キャラクタなどのキャラクタは、コンピュータによる制御に応じて、同様に動作を行う。各キャラクタ(プレイヤキャラクタおよび敵キャラクタなど)の各動作のために、各キャラクタに共通で用いられる基準となるモーションデータ(以下では、「基準モーションデータ」とする。)が予め設定されている。例えば、歩くモーションデータや剣で切りかかるモーションデータなど、動作毎の基準モーションデータが用意されている。各キャラクタに動作をさせる場合、当該キャラクタの特性(性別、体格、性格などの特徴)や状態(疲れ方の程度などの特徴)に応じて、基準モーションデータが補正され、補正後のモーションデータが用いられる。   The action game according to the present embodiment proceeds when the player character fights against the enemy character in the three-dimensional virtual game space and defeats the enemy character. The player character performs an action such as attack or movement in accordance with the operation of the player. In addition, characters such as enemy characters perform similar actions in accordance with computer control. For each action of each character (player character, enemy character, etc.), reference motion data (hereinafter referred to as “reference motion data”) used in common for each character is preset. For example, reference motion data for each operation such as walking motion data and motion data cut with a sword is prepared. When making each character move, the reference motion data is corrected according to the character's characteristics (characteristics such as gender, physique, and personality) and conditions (characteristics such as the degree of fatigue). Used.

例えば、キャラクタが疲れた状態の場合、キャラクタが少し前かがみ(すなわち、腰と胴を曲げて下を向いた姿勢)で歩幅が狭くなるように、基準モーションデータが補正される。この補正後のモーションデータが用いられることで、キャラクタの歩く動作が疲れて歩いているように表現される(図8(b)参照)。なお、ゲーム進行においてキャラクタが歩き回ったり、敵と戦ったりして体力を消耗した場合などに、当該キャラクタは疲れた状態になる。また、体力の消耗度合いに応じて、キャラクタの疲れの程度も変わってくる。   For example, when the character is tired, the reference motion data is corrected so that the stride is narrowed when the character leans forward slightly (that is, the posture where the waist and the trunk are bent downward). By using the corrected motion data, the character's walking motion is expressed as if it is walking tiredly (see FIG. 8B). In addition, when the character walks around in the game progress or fights against enemies and loses physical strength, the character becomes tired. In addition, the degree of fatigue of the character changes depending on the degree of physical strength consumption.

また、キャラクタが女性の場合、腰関節、胴関節、鎖骨の回転を強調するように、基準モーションデータが補正される。この補正後のモーションデータが用いられることで、キャラクタが女性らしく歩いているように表現される(図9(b)参照)。さらに、女性であるキャラクタが疲れた状態である場合は、基準モーションデータに対する上記2つの補正が重複して行われる。この補正後のモーションデータが用いられることで、キャラクタが女性らしく、かつ、疲れた状態で歩いているように表現される。モーションデータを用いた具体的な動作の再生方法、および、特性や状態に応じたモーションデータの補正方法については後述する。   When the character is a woman, the reference motion data is corrected so as to emphasize the rotation of the hip joint, the trunk joint, and the clavicle. By using the corrected motion data, it is expressed as if the character is walking like a woman (see FIG. 9B). Further, when the female character is in a tired state, the above two corrections for the reference motion data are performed in an overlapping manner. By using the corrected motion data, the character is represented as feminine and walking in a tired state. A specific operation reproduction method using motion data and a method of correcting motion data according to characteristics and states will be described later.

以下に、本実施形態のハード構成について説明する。   The hardware configuration of this embodiment will be described below.

図1は、本実施形態に係るゲーム装置を示す構成図である。ゲーム装置1は、本体11および操作コントローラ12を備えている。操作コントローラ12は短距離無線通信によって本体11に接続されている。本体11には、モニタ13が専用のケーブルによって接続される。また、本体11には、ゲームプログラムやゲームデータが記録されているディスク14が装着される。さらに、本体11には、必要に応じてゲームデータを保存するためのメモリカード15も装着される。   FIG. 1 is a configuration diagram showing a game device according to the present embodiment. The game apparatus 1 includes a main body 11 and an operation controller 12. The operation controller 12 is connected to the main body 11 by short-range wireless communication. A monitor 13 is connected to the main body 11 by a dedicated cable. The main body 11 is loaded with a disk 14 on which a game program and game data are recorded. Furthermore, a memory card 15 for storing game data is mounted on the main body 11 as necessary.

本体11は、制御部111、描画処理部112、音声処理部113、ディスクドライブユニット114、メモリカード接続ユニット115、I/Oインターフェース部116、通信処理部117、および信号送受信部118を備えている。制御部111には、描画処理部112、音声処理部113、I/Oインターフェース部116、および通信処理部117が接続されている。また、I/Oインターフェース部116には、ディスクドライブユニット114、メモリカード接続ユニット115、信号送受信部118、およびモニタ13が接続されている。   The main body 11 includes a control unit 111, a drawing processing unit 112, an audio processing unit 113, a disk drive unit 114, a memory card connection unit 115, an I / O interface unit 116, a communication processing unit 117, and a signal transmission / reception unit 118. The control unit 111 is connected to a drawing processing unit 112, an audio processing unit 113, an I / O interface unit 116, and a communication processing unit 117. In addition, a disk drive unit 114, a memory card connection unit 115, a signal transmission / reception unit 118, and a monitor 13 are connected to the I / O interface unit 116.

ゲーム装置1では、上記アクションゲームのソフトウェアが記録されたディスク14がディスクドライブユニット114に装着される。このディスクドライブユニット114によって、ディスク14内のゲームプログラムおよびゲームデータが制御部111内のRAM111c(後述)に読み込まれる。当該ゲームプログラムがCPU111a(後述)によって実行されることにより、プレイヤはゲーム内容を楽しむことができる。プレイヤは、操作コントローラ12(後述)を操作することによりプレイヤキャラクタを操作し、ゲームを進行させることができる。また、プレイヤは、編集画面で、操作コントローラ12を操作することにより、プレイヤキャラクタの編集を行うことができる。なお、プレイヤキャラクタの編集機能の詳細については後述する。   In the game apparatus 1, the disc 14 on which the action game software is recorded is mounted on the disc drive unit 114. By the disk drive unit 114, the game program and game data in the disk 14 are read into a RAM 111c (described later) in the control unit 111. When the game program is executed by a CPU 111a (described later), the player can enjoy the game contents. The player can operate the player character by operating an operation controller 12 (described later) to advance the game. Further, the player can edit the player character by operating the operation controller 12 on the editing screen. The details of the player character editing function will be described later.

ディスク14内のゲームデータには、プレイヤキャラクタや敵キャラクタなどのキャラクタデータ(画像データ含む)、武器などのアイテムデータ(画像データ含む)、モーションデータ、背景などの画像データ、効果音などの音声データ、および、ゲーム進行や描画の際に参照される各種テーブルなどが含まれる。   The game data in the disk 14 includes character data (including image data) such as player characters and enemy characters, item data (including image data) such as weapons, motion data, image data such as backgrounds, and sound data such as sound effects. And various tables to be referred to during game progress and drawing.

制御部111は、本体11の全体動作を制御するマイクロコンピュータを有している。マイクロコンピュータは、CPU111a、ROM111b、およびRAM111cなどからなる。これらは、それぞれバスラインで接続されている。   The control unit 111 has a microcomputer that controls the overall operation of the main body 11. The microcomputer includes a CPU 111a, a ROM 111b, a RAM 111c, and the like. These are each connected by a bus line.

CPU111aは、RAM111cに読み込まれたゲームプログラムを実行することより、ゲーム進行を統括的に制御する。より具体的には、プレイヤの操作による操作信号が操作コントローラ12から信号送受信部118を介して入力されると、CPU111aは、ゲームプログラムにしたがってその操作信号に対する所定のゲーム進行処理を行う。CPU111aは、その処理結果に基づいて、例えば三次元空間を表現する二次元画像(以下では、「ゲーム画像」とする。)を、モニタ13の表示画面に表示させる。また、CPU111aは、処理結果に基づいて、効果音などの音声を、モニタ13のスピーカ13a(後述)に出力させる。   The CPU 111a performs overall control of the game progress by executing the game program read into the RAM 111c. More specifically, when an operation signal by a player's operation is input from the operation controller 12 via the signal transmission / reception unit 118, the CPU 111a performs a predetermined game progress process for the operation signal in accordance with the game program. Based on the processing result, the CPU 111 a displays, for example, a two-dimensional image representing a three-dimensional space (hereinafter referred to as “game image”) on the display screen of the monitor 13. Further, the CPU 111a outputs sound such as sound effects to a speaker 13a (described later) of the monitor 13 based on the processing result.

ROM111bには、ゲーム装置1に基本的な機能を発揮させるための基本プログラムが記録されている。基本プログラムには、ディスク14に記録されたゲームプログラムおよびゲームデータを読み出すディスクローディング機能のためのプログラム等が含まれる。CPU111aは、ディスクドライブユニット114にディスク14が装着されると、ROM111bの基本プログラムにしたがってディスクドライブユニット114を動作させ、ディスク14からゲームプログラムおよびゲームデータをRAM111cに読み込み、ゲーム装置1をゲーム開始状態に設定する。   In the ROM 111b, a basic program for causing the game apparatus 1 to perform basic functions is recorded. The basic program includes a game program recorded on the disc 14, a program for a disc loading function for reading game data, and the like. When the disk 14 is loaded in the disk drive unit 114, the CPU 111a operates the disk drive unit 114 according to the basic program stored in the ROM 111b, reads the game program and game data from the disk 14 into the RAM 111c, and sets the game apparatus 1 to the game start state. To do.

RAM111cは、ディスク14から読み込まれたゲームプログラムやゲームデータが格納されるエリアと、CPU111aがゲームプログラムを実行するためのワークエリアとを提供する。   The RAM 111c provides an area for storing game programs and game data read from the disk 14, and a work area for the CPU 111a to execute the game programs.

ゲームプログラムは、例えばゲーム進行プログラムやグラフィック制御プログラム等の複数のプログラムが組み合わされて構成されている。ゲーム進行プログラムは、モニタ13に表示されているプレイヤキャラクタの動作を操作コントローラ12からの操作信号に基づいて制御するプログラムである。グラフィック制御プログラムは、モニタ13に表示すべきゲーム画像を制御するプログラムである。また、本実施形態において、RAM111cはゲームデータとして、ディスク14から読み込まれたプレイヤキャラクタデータ(図4参照)および基準モーションデータ(図6参照)などを記録しており、これらのデータから作成されたスケルトンデータ(図11参照)などを記録する。 The game program is configured by combining a plurality of programs such as a game progress program and a graphic control program. The game progress program is a program for controlling the action of the player character displayed on the monitor 13 based on an operation signal from the operation controller 12. The graphic control program is a program for controlling a game image to be displayed on the monitor 13. In the present embodiment, the RAM 111c records player character data (see FIG. 4) and standard motion data (see FIG. 6) read from the disk 14 as game data, and is created from these data. Skeleton data (see FIG. 11) and the like are recorded.

CPU111aは、操作コントローラ12からの操作信号に基づき、必要に応じてディスク14からゲームプログラムや画像データなどをRAM111cに読み込む。CPU111aは、これらのデータを処理したりゲームプログラムを実行したりすることにより、モニタ13に表示すべきゲーム画像の内容を決定する。   Based on the operation signal from the operation controller 12, the CPU 111a reads a game program, image data, and the like from the disk 14 into the RAM 111c as necessary. The CPU 111a determines the content of the game image to be displayed on the monitor 13 by processing these data and executing the game program.

描画処理部112は、描画処理に必要な各種の演算処理を行う。CPU111aは、例えば、1/60秒毎に、描画処理部112に描画指令を出力する。このとき、CPU111aは、モニタ13に表示すべき画像を決定し、その画像の描画に必要なキャラクタデータ、アイテムデータ、背景などの画像データ、モーションデータ、仮想カメラの位置と撮影方向のデータ、および光源データなどをRAM111cから読み出して描画処理部112に供給する。また、CPU111aは、各キャラクタの位置データや、操作コントローラ12から入力される操作信号を描画処理部112に供給する。   The drawing processing unit 112 performs various arithmetic processes necessary for the drawing process. For example, the CPU 111a outputs a drawing command to the drawing processing unit 112 every 1/60 seconds. At this time, the CPU 111a determines an image to be displayed on the monitor 13, character data necessary for drawing the image, item data, image data such as background, motion data, data of the position and shooting direction of the virtual camera, and Light source data and the like are read from the RAM 111 c and supplied to the drawing processing unit 112. Further, the CPU 111 a supplies position data of each character and operation signals input from the operation controller 12 to the drawing processing unit 112.

描画処理部112は、CPU111aからの描画命令に基づいて画像データなどを用いて、描画に必要なデータ(各オブジェクトおよび背景の位置関係、モニタ13の画面上における各オブジェクトを構成するポリゴンの座標、各ポリゴンに対応するテクスチャ、並びに各ポリゴンの反射特性などのデータ)の演算などを行い、その演算結果に基づいて描画処理部112内のvideo RAM(図示せず)に1コマ(1フレーム)のゲーム画像のデータを作成する。作成されたゲーム画像のデータは、例えば1/60秒毎に映像信号としてモニタ13に出力され、モニタ13に映像として表示される。   The drawing processing unit 112 uses image data or the like based on a drawing command from the CPU 111a, and uses data necessary for drawing (positional relationship between each object and background, coordinates of polygons constituting each object on the monitor 13 screen, The texture corresponding to each polygon and the data such as the reflection characteristics of each polygon are calculated, and one frame (one frame) is stored in a video RAM (not shown) in the rendering processing unit 112 based on the calculation result. Create game image data. The created game image data is output to the monitor 13 as a video signal every 1/60 seconds, for example, and displayed on the monitor 13 as a video.

音声処理部113は、効果音などの音声を発生させる処理に必要な各種の演算処理を行う。CPU111aは、モニタ13のスピーカ13aから出力すべき効果音若しくはBGMの音響内容を決定すると、音声処理部113に音声指令を出力する。音声処理部113は、音声指令に基づき、RAM111cから効果音もしくはBGMの音声データを読み出す。さらに、音声処理部113は、この音声データに所定の加工処理とデジタル/アナログ変換処理とを施した後、スピーカ13aに出力する。   The sound processing unit 113 performs various arithmetic processes necessary for processing to generate sound such as sound effects. When the CPU 111a determines a sound effect or BGM sound content to be output from the speaker 13a of the monitor 13, the CPU 111a outputs a voice command to the voice processing unit 113. The sound processing unit 113 reads sound effects or BGM sound data from the RAM 111c based on the sound command. Furthermore, the audio processing unit 113 performs predetermined processing and digital / analog conversion processing on the audio data, and then outputs the processed audio data to the speaker 13a.

ディスクドライブユニット114は、CPU111aからのローディング指令(ローディングすべきゲームプログラムとゲームデータを指定した読出指令)に基づき、ディスク14に記録されたゲームプログラムやゲームデータを読み出す。   The disk drive unit 114 reads the game program and game data recorded on the disk 14 based on a loading command from the CPU 111a (a read command designating a game program to be loaded and game data).

メモリカード接続ユニット115は、ゲーム進行に関する情報をメモリカード15に書き込んだり、読み出したりするためのユニットである。CPU111aは、ゲーム進行中やゲーム終了時にプレイヤから「データのセーブ」が指令されると、RAM111cのワークエリアに記録されたゲーム進行に関する情報(この情報には、例えば、プレイヤが設定したゲームキャラクタの種類、獲得したポイントやアイテムなどの各種の特典などの情報が含まれる。)を、メモリカード接続ユニット115を介してメモリカード15に記録する。また、CPU111aは、メモリカード15に記録されたゲーム進行に関する情報を、ゲーム開始前にRAM111cに読み出す。   The memory card connection unit 115 is a unit for writing / reading information relating to game progress to / from the memory card 15. When a “save data” command is issued from the player while the game is in progress or at the end of the game, the CPU 111a stores information related to the game progress recorded in the work area of the RAM 111c (for example, this information includes the game character set by the player). Information such as various types of benefits, such as types, acquired points and items) is recorded in the memory card 15 via the memory card connection unit 115. Further, the CPU 111a reads out information related to the game progress recorded in the memory card 15 to the RAM 111c before the game starts.

I/Oインターフェース部116は、ディスクドライブユニット114やメモリカード接続ユニット115によって読み出されたゲームプログラムやゲームデータ、および信号送受信部118が受信した操作コントローラ12からの操作信号を制御部111に伝送する。また、I/Oインターフェース部116は、制御部111、描画処理部112や音声処理部113からの映像信号や音声信号などをモニタ13やスピーカ13aに伝送する。   The I / O interface unit 116 transmits the game program and game data read by the disk drive unit 114 and the memory card connection unit 115 and the operation signal from the operation controller 12 received by the signal transmission / reception unit 118 to the control unit 111. . The I / O interface unit 116 transmits video signals, audio signals, and the like from the control unit 111, the drawing processing unit 112, and the audio processing unit 113 to the monitor 13 and the speaker 13a.

通信処理部117は、ゲーム装置1がネットワーク回線2を介して他のゲーム装置1と通信を行う場合に、データの送信および受信を行うための制御を行う。具体的には、通信処理部117は、操作コントローラ12から入力される操作信号やCPU111aから出力される信号をネットワーク回線2を介して他のゲーム装置1に送信する。また、通信処理部117は、ネットワーク回線2を介して他のゲーム装置1から送信される信号を受信してCPU111aに入力する。   The communication processing unit 117 performs control for transmitting and receiving data when the game apparatus 1 communicates with another game apparatus 1 via the network line 2. Specifically, the communication processing unit 117 transmits an operation signal input from the operation controller 12 or a signal output from the CPU 111 a to another game device 1 via the network line 2. Further, the communication processing unit 117 receives a signal transmitted from another game device 1 via the network line 2 and inputs the signal to the CPU 111a.

信号送受信部118は、操作コントローラ12から短距離無線通信により送信される信号を受信する。操作コントローラ12からの信号には、操作コントローラ12に設けられた操作ボタンの操作情報の他に、操作コントローラ12に設けられた各種センサ(図示しない)による検出データが含まれる。CPU111aはこの操作コントローラ12から送信される信号によりゲームを進行させる。また、信号送受信部118は、操作コントローラ12に各種信号(例えば、操作コントローラ12の振動部(図示しない)を振動させたり、発光部(図示しない)を発光させたり、音声出力部(図示しない)から音声を出力させたりするための信号など)を送信する。   The signal transmission / reception unit 118 receives a signal transmitted from the operation controller 12 by short-range wireless communication. The signal from the operation controller 12 includes detection data from various sensors (not shown) provided in the operation controller 12 in addition to the operation information of the operation buttons provided in the operation controller 12. The CPU 111a advances the game by a signal transmitted from the operation controller 12. Further, the signal transmission / reception unit 118 causes the operation controller 12 to vibrate various signals (for example, a vibration unit (not shown) of the operation controller 12, a light emitting unit (not shown) to emit light), or an audio output unit (not shown). For example, a signal to output sound from

操作コントローラ12は、プレイヤキャラクタを動作させたり、ゲームに関する各種の設定を行ったりするために、プレイヤによって操作される。プレイヤによって操作コントローラ12が操作されると、その操作信号が制御部111に伝送され、モニタ13に表示されたプレイヤキャラクタが所定の動作を行う。所定の動作としては、例えば、走る、しゃがむ、ジャンプするなどの移動動作や武器を使用して相手を攻撃する攻撃動作がある。操作コントローラ12は、自身の電源のオン状態とオフ状態とを切り替えるための電源ボタン、ゲームを開始させたりポーズメニューを開いたりするためのスタートボタン、デモをスキップしたりメニューを選択するためのセレクトボタン、および、プレイヤキャラクタの各動作やカメラ視点の移動操作のための操作ボタンなど(押圧して操作される操作ボタンと傾けることで操作される操作スティックとが含まれる。)を備えている。   The operation controller 12 is operated by the player in order to operate the player character and make various settings relating to the game. When the operation controller 12 is operated by the player, the operation signal is transmitted to the control unit 111, and the player character displayed on the monitor 13 performs a predetermined action. Examples of the predetermined operation include a movement operation such as running, squatting, and jumping, and an attack operation for attacking an opponent using a weapon. The operation controller 12 has a power button for switching between its own power on state and off state, a start button for starting a game or opening a pause menu, and a select for skipping a demo or selecting a menu. Buttons and operation buttons for moving the player character and camera viewpoint (including operation buttons that are operated by pressing and operation sticks that are operated by tilting).

モニタ13は、本体11から送られてきた映像信号に応じてゲーム進行状態を示すゲーム画像を表示画面に映し出したり、本体11から送られてきた音声信号に応じてスピーカ13aから効果音などの音声を出力するための装置である。モニタ13は、映像信号や音声信号を入力するための外部入力端子を備えた、例えばテレビジョン受像機によって構成されている。   The monitor 13 displays a game image indicating the game progress state on the display screen in accordance with the video signal sent from the main body 11, and sounds such as sound effects from the speaker 13 a in response to the voice signal sent from the main body 11. Is a device for outputting. The monitor 13 is composed of, for example, a television receiver having an external input terminal for inputting a video signal and an audio signal.

ディスク14は、例えばDVD−ROMまたはCD−ROMなどの光ディスクである。ディスク14には、ゲームプログラムやそのゲームプログラムの実行に必要な種々のデータや画像データが記録されている。メモリカード15は、例えばフラッシュメモリなどのデータの書き換えが可能な不揮発性の記録媒体である。RAM111cのワークエリアに記録された情報はゲーム装置本体11の電源を切ると消滅する。したがって、CPU111aは、当該情報のうち消滅させずに残しておくべきゲーム進行に関する情報などをメモリカード15に記録する。   The disk 14 is an optical disk such as a DVD-ROM or a CD-ROM. The disc 14 stores a game program and various data and image data necessary for executing the game program. The memory card 15 is a non-volatile recording medium capable of rewriting data, such as a flash memory. The information recorded in the work area of the RAM 111c disappears when the game apparatus body 11 is turned off. Therefore, the CPU 111a records, in the memory card 15, information related to the game progress that should be left without disappearing.

なお、ゲーム装置1がHDD(Hard Disk Drive)を備えている場合、ゲーム進行に関する情報やゲームプログラム、ゲームプログラムの実行に必要な種々のデータや画像データの一部を、HDDに記憶することができる。   When the game apparatus 1 includes an HDD (Hard Disk Drive), information relating to game progress, a game program, various data necessary for execution of the game program, and part of image data may be stored in the HDD. it can.

ゲーム装置1は、ネットワークアダプタ16を介して、インターネット回線などのネットワーク回線2に接続することができる。この場合、ネットワーク回線2を介して、複数のゲーム装置1間でゲームを行うこともできる(いわゆる「オンラインゲーム」)。本実施形態では、ゲーム装置1単独で行うゲームについて説明しているが、このようなオンラインゲームでも本発明を適用することができる。   The game apparatus 1 can be connected to the network line 2 such as the Internet line via the network adapter 16. In this case, it is also possible to play a game between a plurality of game devices 1 via the network line 2 (so-called “online game”). In the present embodiment, a game performed by the game apparatus 1 alone has been described, but the present invention can also be applied to such an online game.

次に、プレイヤキャラクタデータについて、図2〜図5を参照して説明する。   Next, the player character data will be described with reference to FIGS.

図2および図3は、キャラクタのスケルトンモデルおよびその階層構造を説明するための図である。図2は、キャラクタが両手を広げて直立した姿勢(以下では、「標準姿勢」とする。)を取っているときの各関節のリンク構造を示す図である。図3は、各関節の親子関係の階層構造を示す図である。本実施形態ではプレイヤキャラクタが人型のキャラクタなのでスケルトンモデルは人型のスケルトンモデルであり、図2および図3はそれぞれ人型のスケルトンモデルのリンク構造および階層構造を示している。   2 and 3 are diagrams for explaining a skeleton model of a character and its hierarchical structure. FIG. 2 is a diagram showing a link structure of each joint when the character is taking an upright posture (hereinafter referred to as “standard posture”) with both hands extended. FIG. 3 is a diagram showing a hierarchical structure of the parent-child relationship of each joint. In this embodiment, since the player character is a human character, the skeleton model is a human skeleton model, and FIGS. 2 and 3 show a link structure and a hierarchical structure of the human skeleton model, respectively.

図2において、a〜qが記載されている丸は各関節を示している。なお、各関節a〜qの名称は図3と共通しており、図2においては各名称の記載を省略している。以下の記載でも、各関節a〜qの名称を省略して、例えば、「関節a」とのみ記載する場合がある。各関節間の接続は実線で示されており、例えば、右肩eと右肘fとが接続されていることを示している。腰関節aはスケルトンモデルの基点(連結構造の基準となる部位)となるものである。なお、各関節とリンク構造はこれに限定されるものではない。関節を省略してより単純な構造としてもよいし、関節を増やしてより複雑な構造としてもよい。また、基点は腰関節aに限定されるわけではなく、胴関節b、首cや左肩iとしてもよいし、各関節とは別の点を設定してもよい。ただし、基点は、体幹などのキャラクタの左右に偏らない点、例えば、中心軸(首c、胴関節b、腰関節aを結ぶ直線)に位置する点が望ましい。   In FIG. 2, circles in which a to q are shown indicate each joint. Note that the names of the joints a to q are the same as those in FIG. 3, and the names are not shown in FIG. 2. Also in the following description, the names of the joints a to q may be omitted and, for example, only “joint a” may be described. The connection between the joints is indicated by a solid line, for example, indicating that the right shoulder e and the right elbow f are connected. The hip joint a serves as a base point of the skeleton model (a part serving as a reference for the connection structure). In addition, each joint and link structure are not limited to this. The joints may be omitted to form a simpler structure, or the number of joints may be increased to form a more complicated structure. Further, the base point is not limited to the hip joint a, but may be the torso joint b, the neck c, the left shoulder i, or a point different from each joint. However, the base point is preferably a point that does not deviate to the left and right of the character such as the trunk, for example, a point located on the central axis (a straight line connecting the neck c, the torso joint b, and the hip joint a).

図3において、上位にある関節が下位にある関節の親であり、下位にある関節は上位にある関節の子である。例えば、右鎖骨dは、右肩eの親であり、胴関節bの子である。各関節の位置は、親である関節の位置を基準に設定される。腰関節a(基点)は1番上位の関節であり、腰関節aの位置はローカル座標系の原点を基準に設定される。なお、ローカル座標系は、キャラクタ(例えば、プレイヤキャラクタや敵キャラクタなどの、CPU111aによって動きが制御されているキャラクタ)毎に設定されている座標系であって、キャラクタの動きや姿勢を管理するために設けられている。ローカル座標系は、キャラクタの上方向をY軸の正方向とし、キャラクタの正面方向をZ軸の正方向とし、キャラクタの左方向をX軸の正方向として設定されている。図2の右下の矢印は、ローカル座標系の各軸の方向を示しており、紙面裏から表の方向がZ軸の正方向である。   In FIG. 3, the upper joint is the parent of the lower joint, and the lower joint is a child of the upper joint. For example, the right clavicle d is the parent of the right shoulder e and the child of the trunk joint b. The position of each joint is set with reference to the position of the parent joint. The hip joint a (base point) is the highest joint, and the position of the hip joint a is set based on the origin of the local coordinate system. The local coordinate system is a coordinate system set for each character (for example, a character whose movement is controlled by the CPU 111a, such as a player character or an enemy character), and manages the movement and posture of the character. Is provided. The local coordinate system is set such that the upward direction of the character is the positive direction of the Y axis, the front direction of the character is the positive direction of the Z axis, and the left direction of the character is the positive direction of the X axis. The arrow at the lower right in FIG. 2 indicates the direction of each axis in the local coordinate system, and the front direction from the back of the page is the positive direction of the Z axis.

図4はプレイヤキャラクタデータの一例を説明するための図である。   FIG. 4 is a diagram for explaining an example of player character data.

プレイヤキャラクタデータはプレイヤキャラクタのキャラクタデータである。プレイヤキャラクタデータは、ディスク14にゲームデータとして記録されており、ディスクドライブユニット114によって読み出されて、RAM111cに格納される。   The player character data is character data of the player character. The player character data is recorded as game data on the disc 14, is read by the disc drive unit 114, and is stored in the RAM 111c.

図4に示すように、プレイヤキャラクタデータはモデルデータ、特徴データ、および画像データなどを含んでいる。モデルデータは関節データを含んでいる。関節データは関節a〜q毎のポジションデータとリンクデータとを含んでいる。ポジションデータはキャラクタが標準姿勢を取っているときの各関節の位置データであり、リンクデータは親である関節を特定するためのデータである。例えば、同図においては、関節bのポジションデータは(Xb,Yb,Zb)となっており、リンクデータは親関節である関節aを示す「a」となっている。   As shown in FIG. 4, the player character data includes model data, feature data, image data, and the like. The model data includes joint data. The joint data includes position data and link data for each joint a to q. The position data is position data of each joint when the character is in the standard posture, and the link data is data for specifying the parent joint. For example, in the figure, the position data of the joint b is (Xb, Yb, Zb), and the link data is “a” indicating the joint a which is the parent joint.

関節aは基点であって親である関節がないので、リンクデータを有しない。関節aのポジションデータは、ローカル座標系における位置座標で示されている。本実施形態では、標準姿勢における関節aがローカル座標系の原点の真上(Y軸上)に設定されているので、Xa=Za=0である(図5参照)。関節b〜qのポジションデータは、ローカル座標系における、親である関節の位置を基準とした相対位置を示すデータである。   Since the joint a is a base point and there is no parent joint, it does not have link data. The position data of the joint a is indicated by position coordinates in the local coordinate system. In this embodiment, since the joint a in the standard posture is set right above the origin of the local coordinate system (on the Y axis), Xa = Za = 0 (see FIG. 5). The position data of the joints b to q is data indicating a relative position with respect to the position of the parent joint in the local coordinate system.

図5は、ポジションデータを説明するための図であり、ローカル座標系上の関節a、関節b、および関節hの位置座標を示すものである。   FIG. 5 is a diagram for explaining the position data, and shows the position coordinates of the joint a, the joint b, and the joint h on the local coordinate system.

関節hのポジションデータ(Xh,Yh,Zh)は、親の関節である関節b(図5参照)の位置座標B(XB,YB,ZB)を基準とした相対位置を示している。したがって、関節hの位置座標Hは、H(XB+Xh,YB+Yh,ZB+Zh)となる。なお、関節bの親の関節である関節a(基点)の位置座標Aは関節aのポジションデータなのでA(Xa,Ya,Za)であり、関節bのポジションデータが(Xb,Yb,Zb)なので、位置座標B(XB,YB,ZB)は(Xa+Xb,Ya+Yb,Za+Zb)となる。したがって、位置座標Hは、H(Xa+Xb+Xh,Ya+Yb+Yh,Za+Zb+Zh)となる。   The position data (Xh, Yh, Zh) of the joint h indicates a relative position based on the position coordinates B (XB, YB, ZB) of the joint b (see FIG. 5) which is the parent joint. Therefore, the position coordinate H of the joint h is H (XB + Xh, YB + Yh, ZB + Zh). The position coordinate A of the joint a (base point), which is the parent joint of the joint b, is A (Xa, Ya, Za) because it is position data of the joint a, and the position data of the joint b is (Xb, Yb, Zb). Therefore, the position coordinates B (XB, YB, ZB) are (Xa + Xb, Ya + Yb, Za + Zb). Therefore, the position coordinate H is H (Xa + Xb + Xh, Ya + Yb + Yh, Za + Zb + Zh).

なお、各関節のポジションデータは、親である関節の位置を基準とした相対位置で表す場合に限られない。例えば、ローカル座標系の位置座標としてもよいし、親関節との距離情報であってもよい。   Note that the position data of each joint is not limited to the case where the position data is expressed as a relative position based on the position of the parent joint. For example, position coordinates in the local coordinate system may be used, or distance information from the parent joint may be used.

特徴データは、特性データおよび状態データを含んでいる。特性データは、プレイヤキャラクタにあらかじめ設定されている特徴を示す情報であって、特性毎のパラメータ値があらかじめ設定されている。本実施形態では、例えば、性別を示す性別パラメータおよび猫背の程度を示す猫背パラメータなどが設定されている。各パラメータには、「−1」から「1」までのパラメータ値が設定されている。以下では、特性を示すパラメータを総称して「特性パラメータ」とする。   The feature data includes characteristic data and state data. The characteristic data is information indicating characteristics set in advance for the player character, and a parameter value for each characteristic is set in advance. In the present embodiment, for example, a gender parameter indicating gender and a stoop parameter indicating the degree of stoop are set. In each parameter, parameter values from “−1” to “1” are set. Hereinafter, parameters indicating characteristics are collectively referred to as “characteristic parameters”.

性別パラメータは、プレイヤキャラクタの性別の特性を示す情報である。パラメータ値が「0」の場合、プレイヤキャラクタは中性的なキャラクタとして表現される。また、パラメータ値が大きいほど女性的な(女っぽい)キャラクタとして表現され、パラメータ値が小さいほど男性的な(男っぽい)キャラクタとして表現される。図4においては、性別パラメータのパラメータ値が「0.5」なので、プレイヤキャラクタは、やや女性的なキャラクタとして表現される。   The sex parameter is information indicating the sex characteristics of the player character. When the parameter value is “0”, the player character is expressed as a neutral character. A larger parameter value represents a feminine (female) character, and a smaller parameter value represents a masculine (masculine) character. In FIG. 4, since the parameter value of the sex parameter is “0.5”, the player character is expressed as a somewhat feminine character.

猫背パラメータは、プレイヤキャラクタの猫背の程度を示す情報である。パラメータ値が「0」の場合、プレイヤキャラクタは猫背ではない(一般的な)キャラクタとして表現される。一方、パラメータ値が正の値の場合、猫背のキャラクタとして表現され、パラメータ値が負の値の場合、腹が出た(太っている)キャラクタとして表現される。猫背の程度(または、太り具合)は、パラメータ値の大きさに応じて顕著になる。図4においては、猫背パラメータのパラメータ値が「0.5」なので、プレイヤキャラクタは、やや猫背のキャラクタとして表現される。一般的に、太っている人は腹が出て胸を張った姿勢となる傾向があるので、本実施形態では、キャラクタの姿勢として、猫背の姿勢と太っている姿勢とを正反対の姿勢とし、共通するパラメータで設定するようにしている。しかし、これに限られず、猫背パラメータとは別に太り具合のパラメータを設定して、両方の特性を互いに独立に表現するようにしてもよい。   The spine parameter is information indicating the extent of the player character's spine. When the parameter value is “0”, the player character is expressed as a (general) character that is not a spine. On the other hand, when the parameter value is a positive value, it is expressed as a stooped character, and when the parameter value is a negative value, it is expressed as a hungry (fat) character. The degree of stoop (or fatness) becomes prominent according to the size of the parameter value. In FIG. 4, since the parameter value of the stoop parameter is “0.5”, the player character is expressed as a slightly stoop character. In general, since a fat person tends to be in an angry and outstretched posture, in this embodiment, the posture of the character is opposite to the posture of the stoop and the fat posture, The parameters are set in common. However, the present invention is not limited to this, and a fatness parameter may be set separately from the stoopback parameter, and both characteristics may be expressed independently of each other.

状態データは、プレイヤキャラクタの状態を示す情報であって、状態毎のパラメータ値が設定される。本実施形態では、例えば、疲れ方の程度を示す疲れパラメータなどが設定されている。各パラメータには、「0」から「1」までの値が設定されている。以下では、状態を示すパラメータを総称して「状態パラメータ」とし、特性パラメータと状態パラメータとを総称して「特徴パラメータ」とする。   The state data is information indicating the state of the player character, and a parameter value for each state is set. In the present embodiment, for example, a fatigue parameter indicating the degree of fatigue is set. Each parameter is set to a value from “0” to “1”. In the following, parameters indicating states are collectively referred to as “state parameters”, and characteristic parameters and state parameters are collectively referred to as “feature parameters”.

疲れパラメータは、プレイヤキャラクタの疲れ方の程度を示すものである。パラメータ値が「0」の場合、プレイヤキャラクタは疲れていない状態であるように表現され、パラメータ値が大きいほど疲れ方が激しいように表現される。図4においては、疲れパラメータのパラメータ値が「0.5」なので、プレイヤキャラクタは、少し疲れた状態であるように表現される。   The fatigue parameter indicates the degree of fatigue of the player character. When the parameter value is “0”, the player character is expressed as if it is not tired, and as the parameter value increases, the player character is expressed so as to be more tired. In FIG. 4, since the parameter value of the fatigue parameter is “0.5”, the player character is expressed as being in a slightly tired state.

状態データのパラメータ値は、ゲームの進行状況に応じて変化する。例えば、疲れパラメータのパラメータ値は、プレイヤキャラクタに設定されている体力値に基づいて算出され、適時更新される。なお、経過時間や他の要素に基づいて算出されるようにしてもよい。また、状態データは、プレイヤキャラクタデータとして記録しておくものに限定されず、適時算出して用いるようにしてもよい。一方、特性データのパラメータ値は、ゲームの進行状況に関係なく固定されている。例えば、性別パラメータや猫背パラメータのパラメータ値は、所定の固定値として、あらかじめ設定されている。   The parameter value of the state data changes according to the progress of the game. For example, the parameter value of the fatigue parameter is calculated based on the physical strength value set for the player character, and is updated as appropriate. It may be calculated based on the elapsed time or other factors. Further, the state data is not limited to those recorded as player character data, and may be calculated and used in a timely manner. On the other hand, the parameter value of the characteristic data is fixed regardless of the progress of the game. For example, the parameter values of the sex parameter and the back parameter are set in advance as predetermined fixed values.

画像データは、キャラクタを構成する各パーツのポリゴンデータおよびテクスチャデータなどを含んでいる。   The image data includes polygon data and texture data of each part constituting the character.

プレイヤキャラクタ以外のキャラクタであって、プレイヤキャラクタと同じスケルトンモデル(図2および図3参照)を有するキャラクタ(例えば、敵キャラクタなど)についても、プレイヤキャラクタデータ(図4参照)と同様のキャラクタデータがそれぞれ設定されている。   Characters other than the player character that have the same skeleton model (see FIGS. 2 and 3) as the player character (for example, enemy characters) have the same character data as the player character data (see FIG. 4). Each is set.

次に、モーションデータを用いたプレイヤキャラクタの動作の再生方法について、図4、図6〜図11を参照して説明する。   Next, a method for reproducing the motion of the player character using the motion data will be described with reference to FIGS. 4 and 6 to 11.

プレイヤキャラクタの動作の再生は、プレイヤキャラクタデータ(図4参照)と基準モーションデータ(図6参照)とを用いて行われる。すなわち、プレイヤキャラクタデータと基準モーションデータとに基づいて、プレイヤキャラクタの各関節の位置データを算出したスケルトンデータ(後述する図11参照)がフレーム毎に生成される。このとき、本実施形態では、基準モーションデータが、プレイヤキャラクタデータに含まれる特徴データに基づいて補正されてから用いられる。生成されたスケルトンデータに基づいて、プレイヤキャラクタデータの各パーツが三次元仮想ゲーム空間上に配置される。これがフレーム毎に行われることで、プレイヤキャラクタに所定の動作を行わせる。   The player character's motion is reproduced using the player character data (see FIG. 4) and the standard motion data (see FIG. 6). That is, skeleton data (see FIG. 11 described later) obtained by calculating position data of each joint of the player character is generated for each frame based on the player character data and the reference motion data. At this time, in this embodiment, the reference motion data is used after being corrected based on the feature data included in the player character data. Based on the generated skeleton data, each part of the player character data is arranged in the three-dimensional virtual game space. By performing this for each frame, the player character is caused to perform a predetermined action.

図6は、基準モーションデータの一例を説明するための図である。   FIG. 6 is a diagram for explaining an example of the reference motion data.

基準モーションデータは、キャラクタの各動作(例えば、歩く動作、走る動作、ジャンプする動作、相手を攻撃する動作、攻撃を防ぐ動作など)を再生するためのデータである。基準モーションデータは、プレイヤキャラクタのモーションデータとしても用いられる。基準モーションデータは、動作(モーション)毎に設定されており、フレーム毎の各関節の位置データまたは各関節の回転角度を示すデータを含んでいる。関節a(基点)のデータには、ローカル座標系における位置座標であるポジションデータと、ローカル座標系における関節aの回転角度を示すローテーションデータとが含まれている。また、関節b〜qのデータには、ローカル座標系における各関節の回転角度を示すローテーションデータが含まれている。ローテーションデータは、ローカル座標系における3つの軸(X軸、Y軸、およびZ軸)をそれぞれ中心とした回転角度のデータを要素とする。以下では、各要素をそれぞれ、「X軸回転角度」、「Y軸回転角度」、「Z軸回転角度」と省略して記載する。各要素の単位は(°)とする。また、各軸の回転方向は、軸の正の方向からみて反時計回りを正の方向とする。例えば、図2に示すローカル座標系の場合、Z軸を中心とした回転角度は、紙面に対して反時計回りの回転角度が正の値になる。   The reference motion data is data for reproducing each action of the character (for example, a walking action, a running action, an action to jump, an action to attack an opponent, an action to prevent an attack, etc.). The reference motion data is also used as motion data for the player character. The reference motion data is set for each operation (motion) and includes position data of each joint for each frame or data indicating a rotation angle of each joint. The data of the joint a (base point) includes position data that is position coordinates in the local coordinate system and rotation data that indicates the rotation angle of the joint a in the local coordinate system. The data of the joints b to q includes rotation data indicating the rotation angle of each joint in the local coordinate system. The rotation data includes rotation angle data centered on three axes (X axis, Y axis, and Z axis) in the local coordinate system. In the following, each element is abbreviated as “X-axis rotation angle”, “Y-axis rotation angle”, and “Z-axis rotation angle”. The unit of each element is (°). Further, the rotation direction of each axis is a positive direction counterclockwise when viewed from the positive direction of the axis. For example, in the case of the local coordinate system shown in FIG. 2, the rotation angle about the Z axis is a positive value in the counterclockwise rotation angle with respect to the paper surface.

基準モーションデータの各関節のローテーションデータと、プレイヤキャラクタデータ(図4参照)の各関節のポジションデータとから、プレイヤキャラクタのローカル座標系における各関節の位置座標を算出することができる。このようにして関節の位置と回転角度から順に子の関節の位置を算出していく方法は、フォワードキネマティクス技術として周知なので、詳細な説明を省略する。   The position coordinates of each joint in the local coordinate system of the player character can be calculated from the rotation data of each joint of the reference motion data and the position data of each joint of the player character data (see FIG. 4). Since the method of calculating the position of the child joint in this order from the position of the joint and the rotation angle in this manner is known as a forward kinematics technique, detailed description thereof is omitted.

なお、基準モーションデータがすべてのフレームのデータを備えていなくてもよく、キーフレームのデータのみを備えておいて、線形補間やスプライン補間などで間のフレームのデータを補間するようにしてもよい。   Note that the reference motion data may not include all the frame data, but only the key frame data may be included, and the inter-frame data may be interpolated by linear interpolation or spline interpolation. .

次に、基準モーションデータの補正について説明する。   Next, correction of reference motion data will be described.

基準モーションデータは、特徴がないキャラクタの動作を基準にして作製されている。「特徴がないキャラクタ」とは、特性が中間的で特定の状態でないキャラクタのことである。例えば、性別は中性的で、猫背や太った体型ではなく、全く疲れていないキャラクタである。より具体的には、特徴パラメータのパラメータ値が全て「0」のキャラクタである。以下では、キャラクタが「特徴がないキャラクタ」である場合を、「通常の場合」とする。各キャラクタの動作を再生する場合、当該キャラクタの特徴に応じて基準モーションデータが補正され、補正後のモーションデータが用いられる。当該補正は、特徴データ(図4参照)と、各特徴および各モーションデータに対応して記録されている演算式データ(図7参照)とに基づいて行われ、基準モーションデータの所定の関節のローテーションデータおよび関節a(基点)のポジションデータが補正されることで行われる。   The reference motion data is created based on the action of a character having no features. A “character without a feature” is a character that has intermediate characteristics and is not in a specific state. For example, the character is neutral, not a stoop or a fat figure, and a character who is not tired at all. More specifically, the character is a character whose parameter values are all “0”. Hereinafter, a case where the character is a “character having no feature” is referred to as “normal case”. When reproducing the motion of each character, the reference motion data is corrected according to the characteristics of the character, and the corrected motion data is used. The correction is performed based on the feature data (see FIG. 4) and the arithmetic expression data (see FIG. 7) recorded corresponding to each feature and each motion data. This is done by correcting the rotation data and the position data of the joint a (base point).

図7は、演算式データの一例を説明するための図である。   FIG. 7 is a diagram for explaining an example of arithmetic expression data.

演算式データは、設定されている特徴およびモーション毎に設定された各演算式を要素とするデータである。例えば、同図においては、性別とモーション1とに対応する演算式として、演算式1Wが設定されている。各演算式は、所定の関節のローテーションデータまたは関節a(基点)のポジションデータを補正するための1以上の式を含んでいる。   The arithmetic expression data is data having each arithmetic expression set for each feature and motion set as an element. For example, in the figure, an arithmetic expression 1W is set as an arithmetic expression corresponding to gender and motion 1. Each arithmetic expression includes one or more expressions for correcting rotation data of a predetermined joint or position data of a joint a (base point).

いずれの関節に対してどのような補正が行われるかは、動作によって異なり、また、特徴によっても異なる。以下に、歩く動作のモーションデータを、疲れパラメータに基づいて補正する場合、猫背パラメータに基づいて補正する場合、および、性別パラメータに基づいて補正する場合を例として説明する。   What correction is performed on which joint varies depending on the operation and also varies depending on the characteristics. In the following, an example will be described in which motion data of a walking motion is corrected based on a fatigue parameter, a correction based on a stoopback parameter, and a correction based on a gender parameter.

疲れパラメータに基づく補正では、腰関節aおよび胴関節bのローテーションデータのX軸回転角度を増加させる補正と、関節a(基点)のポジションデータのZ座標を減少させる補正とが行われる。上述したように、疲れパラメータのパラメータ値はプレイヤキャラクタに設定されている体力値に基づいて算出され、プレイヤキャラクタデータ(図4参照)に設定されているパラメータ値が適時更新されている。当該パラメータ値を用いて、補正が行われる。   In the correction based on the fatigue parameter, a correction for increasing the X-axis rotation angle of the rotation data of the hip joint a and the trunk joint b and a correction for decreasing the Z coordinate of the position data of the joint a (base point) are performed. As described above, the parameter value of the fatigue parameter is calculated based on the physical strength value set for the player character, and the parameter value set for the player character data (see FIG. 4) is updated as appropriate. Correction is performed using the parameter value.

具体的には、基準モーションデータの腰関節aのローテーションデータを(θx,θy,θz)、疲れパラメータをTとすると、補正後のローテーションデータ(θx’,θy’,θz’)は、下記(1)式によって算出される。

θx’=θx+10・T
θy’=θy
θz’=θz ・・・・・ (1)
Specifically, assuming that the rotation data of the hip joint a of the reference motion data is (θx, θy, θz) and the fatigue parameter is T, the corrected rotation data (θx ′, θy ′, θz ′) is as follows: 1) Calculated by the equation.

θx ′ = θx + 10 · T
θy ′ = θy
θz ′ = θz (1)

例えば、疲れパラメータTが「0.5」の場合、θx’=θx+5となって、X軸回転角度に5°が加算され、キャラクタは通常の場合より5°腰が曲がった状態になる。同様に、胴関節bのローテーションデータのX軸回転角度も補正される(具体的な計算式は、省略している。)。なお、疲れパラメータTが「0」の場合、補正が行われない(補正後も同じデータとなる)。   For example, when the fatigue parameter T is “0.5”, θx ′ = θx + 5, 5 ° is added to the X-axis rotation angle, and the character is bent 5 ° lower than usual. Similarly, the X-axis rotation angle of the rotation data of the trunk joint b is also corrected (a specific calculation formula is omitted). When the fatigue parameter T is “0”, no correction is performed (the same data is obtained after correction).

また、関節a(基点)のポジションデータを(Px,Py,Pz)とすると、補正後の関節a(基点)のポジションデータ(Px’,Py’,Pz’)は、下記(2)式によって算出される。

Px’=Px・[1+(-0.5)・T]
Py’=Py
Pz’=Pz・[1+(-0.5)・T] ・・・・・ (2)
If the position data of the joint a (base point) is (Px, Py, Pz), the corrected position data (Px ′, Py ′, Pz ′) of the joint a (base point) is expressed by the following equation (2). Calculated.

Px ′ = Px · [1 + (− 0.5) · T]
Py '= Py
Pz ′ = Pz · [1 + (− 0.5) · T] (2)

例えば、疲れパラメータTが「0.5」の場合、Px’=0.75・Pxとなって、キャラクタの左右方向の動きが通常の場合の75%になる。また、Pz’=0.75・Pzとなって、キャラクタの進行方向に進む距離が通常の場合の75%になる。進む距離が減少する場合、歩幅も小さくなるように補正される。すなわち、足の位置が補正され、インバースキネマティクス技術を用いて、足首関節、膝関節、および股関節の各ローテーションデータが自動計算により補正される。   For example, when the fatigue parameter T is “0.5”, Px ′ = 0.75 · Px, and the movement of the character in the left-right direction is 75% of the normal case. Further, Pz ′ = 0.75 · Pz, and the distance of the character traveling in the traveling direction is 75% of the normal case. When the traveling distance decreases, the stride is corrected so as to decrease. That is, the position of the foot is corrected, and the rotation data of the ankle joint, the knee joint, and the hip joint are corrected by automatic calculation using the inverse kinematics technique.

図8は、キャラクタが歩く動作を行っているデモ映像の1コマの画像を示す図である。同図(a)は、特徴がないキャラクタの歩く動作を示しており、疲れパラメータTが「0」の場合のものを示している。同図(a)の右下の矢印は、キャラクタのローカル座標系の各軸の方向を示しており、紙面裏から表の方向がX軸の正方向である。同図(b)は、疲れているキャラクタの歩く動作を示しており、疲れパラメータTが「1」の場合のものを示している。   FIG. 8 is a diagram showing a one-frame image of a demonstration video in which a character is walking. FIG. 5A shows a walking action of a character having no feature, and shows a case where the fatigue parameter T is “0”. The arrow at the lower right of FIG. 4A indicates the direction of each axis in the local coordinate system of the character, and the front direction from the back of the page is the positive direction of the X axis. FIG. 5B shows a walking action of a tired character, and shows a case where the fatigue parameter T is “1”.

同図(b)に示すキャラクタは、同図(a)に示すキャラクタと比べて、腰関節aのX軸回転角度に10°(=10・1)が加算され、胴関節bのX軸回転角度も所定の角度が加算されている。また、キャラクタの進行方向(Z軸方向)に進む距離が、同図(a)の場合の50%(=1+(-0.5)・1)になり、これに応じて歩幅も補正されている。また、同図からは判らないが、キャラクタの左右方向(X軸方向)の動きも、通常の場合の50%(=1+(-0.5)・1)になっている。これらの補正によって、同図(b)に示すキャラクタの姿勢は腰と胴を曲げて下を向いた姿勢となり、小さい歩幅で疲れて歩いているように再生される。   Compared with the character shown in FIG. 6A, the character shown in FIG. 5B is added 10 ° (= 10 · 1) to the X-axis rotation angle of the hip joint a, and the X-axis rotation of the torso joint b. A predetermined angle is also added to the angle. In addition, the distance that the character advances in the direction of travel (Z-axis direction) is 50% (= 1 + (− 0.5) · 1) in the case of FIG. 10A, and the stride is corrected accordingly. Yes. Although not understood from the figure, the movement of the character in the left-right direction (X-axis direction) is also 50% (= 1 + (− 0.5) · 1) of the normal case. With these corrections, the posture of the character shown in FIG. 5B is changed to a posture in which the waist and torso are bent and faced downward, and the character is reproduced as if walking with a small stride.

猫背パラメータに基づく補正では、腰関節a、胴関節b、および首関節cのローテーションデータのX軸回転角度を変化させる補正と、鎖骨d,hのローテーションデータのY軸回転角度を変化させる補正とが行われる。上述したように、猫背パラメータのパラメータ値は、固定値としてプレイヤキャラクタデータ(図4参照)にあらかじめ設定されている。当該パラメータ値を用いて、補正が行われる。   In the correction based on the stoopback parameter, correction for changing the X-axis rotation angle of the rotation data of the hip joint a, the trunk joint b, and the neck joint c, and correction for changing the Y-axis rotation angle of the rotation data of the collarbones d and h, Is done. As described above, the parameter values of the spine parameters are preset in the player character data (see FIG. 4) as fixed values. Correction is performed using the parameter value.

具体的には、基準モーションデータの腰関節aのローテーションデータを(θx,θy,θz)、猫背パラメータをSとすると、補正後のローテーションデータ(θx’,θy’,θz’)は、下記(3)式によって算出される。

θx’=θx+7・S
θy’=θy
θz’=θz ・・・・・ (3)
Specifically, assuming that the rotation data of the hip joint a of the reference motion data is (θx, θy, θz) and the back parameter is S, the corrected rotation data (θx ′, θy ′, θz ′) is as follows ( 3) Calculated by the equation.

θx ′ = θx + 7 · S
θy ′ = θy
θz ′ = θz (3)

例えば、猫背パラメータSが「0.5」の場合、θx’=θx+3.5となって、X軸回転角度に3.5°が加算され、キャラクタは通常の場合より3.5°腰が曲がった状態になる。一方、猫背パラメータSが「−0.5」の場合、θx’=θx−3.5となって、X軸回転角度から3.5°が減算され、キャラクタは通常の場合より3.5°腰が逆に曲がった状態(すなわち、背筋が伸びた状態)になる。同様に、胴関節bのローテーションデータのX軸回転角度も補正される(具体的な計算式は、省略している。)。このとき、猫背パラメータSが「1」の場合に、通常の場合のX軸回転角度に10°が加算されるように補正される。なお、猫背パラメータSが「0」の場合、補正が行われない(補正後も同じデータとなる)。   For example, when the spine parameter S is “0.5”, θx ′ = θx + 3.5, 3.5 ° is added to the X-axis rotation angle, and the character bends 3.5 ° lower than usual. It becomes a state. On the other hand, when the spine parameter S is “−0.5”, θx ′ = θx−3.5, 3.5 ° is subtracted from the X-axis rotation angle, and the character is 3.5 ° from the normal case. The waist is bent in the opposite direction (that is, the back is stretched). Similarly, the X-axis rotation angle of the rotation data of the trunk joint b is also corrected (a specific calculation formula is omitted). At this time, when the back parameter S is “1”, the correction is performed so that 10 ° is added to the X-axis rotation angle in the normal case. When the back parameter S is “0”, no correction is performed (the same data is obtained after correction).

猫背パラメータSに応じて、腰関節aおよび胴関節bのローテーションデータのX軸回転角度を補正すると、キャラクタの顔の向きも変化する。すなわち、猫背パラメータSが正の値の場合、キャラクタの顔は下を向くようになり、猫背パラメータSが負の値の場合、キャラクタの顔は上を向くようになる。本実施形態では、キャラクタの顔が正面を向いた状態とするために、首関節cのローテーションデータのX軸回転角度を変化させる補正も行っている。   When the X-axis rotation angle of the rotation data of the hip joint a and the torso joint b is corrected according to the stoopback parameter S, the orientation of the character's face also changes. That is, when the back parameter S is a positive value, the character's face turns downward, and when the back parameter S is a negative value, the character's face turns upward. In the present embodiment, correction is also performed to change the X-axis rotation angle of the rotation data of the neck joint c so that the character's face faces the front.

具体的には、基準モーションデータの首関節cのローテーションデータを(θx,θy,θz)、猫背パラメータをSとすると、補正後のローテーションデータ(θx’,θy’,θz’)は、下記(4)式によって算出される。

θx’=θx−17・S
θy’=θy
θz’=θz ・・・・・ (4)
Specifically, assuming that the rotation data of the neck joint c of the reference motion data is (θx, θy, θz) and the back parameter is S, the corrected rotation data (θx ′, θy ′, θz ′) is as follows: 4) Calculated by the equation.

θx ′ = θx−17 · S
θy ′ = θy
θz ′ = θz (4)

例えば、猫背パラメータSが「0.5」の場合、θx’=θx−8.5となって、首関節cのX軸回転角度から8.5°が減算される。これにより、腰関節aの補正で加算された3.5°と胴関節bの補正で加算された5°とが打ち消されて、キャラクタの顔の向きが通常の場合と同じ向き(正面を向いた状態)に補正される。   For example, when the stoopback parameter S is “0.5”, θx ′ = θx−8.5, and 8.5 ° is subtracted from the X-axis rotation angle of the neck joint c. As a result, the 3.5 ° added by the correction of the hip joint a and the 5 ° added by the correction of the torso joint b are canceled out, and the direction of the character's face is the same as the normal direction (facing the front). ).

また、基準モーションデータの右鎖骨dのローテーションデータを(θx,θy,θz)、猫背パラメータをSとすると、補正後のローテーションデータ(θx’,θy’,θz’)は、下記(5)式によって算出される。

θx’=θx
θy’=θy+10・S
θz’=θz ・・・・・ (5)
Further, assuming that the rotation data of the right clavicle d of the reference motion data is (θx, θy, θz) and the back parameter is S, the corrected rotation data (θx ′, θy ′, θz ′) is expressed by the following equation (5): Is calculated by

θx ′ = θx
θy ′ = θy + 10 · S
θz ′ = θz (5)

例えば、猫背パラメータSが「0.5」の場合、θy’=θy+5となって、Y軸回転角度に5°が加算される。これにより、キャラクタの右肩が通常の場合より前に出た状態(肩をすぼめた状態)になる。一方、猫背パラメータSが「−0.5」の場合、θy’=θy−5となって、Y軸回転角度から5°が減算さる。これにより、キャラクタの右肩が通常の場合より後ろに出た状態(胸を張った状態)になる。同様に、左鎖骨hのローテーションデータのY軸回転角度も補正される。このとき、左鎖骨hは右鎖骨dとは逆方向に回転させる必要があるので、猫背パラメータSが「0.5」の場合、左鎖骨hは通常の場合のY軸回転角度に5°が減算されるように補正される(具体的な計算式は、省略している。)。これにより、キャラクタの左肩が通常の場合より前に出た状態(肩をすぼめた状態)になる。なお、猫背パラメータSが「0」の場合、補正が行われない(補正後も同じデータとなる)。   For example, when the back parameter S is “0.5”, θy ′ = θy + 5, and 5 ° is added to the Y-axis rotation angle. As a result, the character's right shoulder comes out before the normal case (shouldered). On the other hand, when the stoopback parameter S is “−0.5”, θy ′ = θy-5, and 5 ° is subtracted from the Y-axis rotation angle. As a result, the character's right shoulder comes out behind the normal case (the chest is stretched). Similarly, the Y-axis rotation angle of the rotation data of the left clavicle h is also corrected. At this time, since the left clavicle h needs to be rotated in the opposite direction to the right clavicle d, when the stoop parameter S is “0.5”, the left clavicle h has a normal Y-axis rotation angle of 5 °. Correction is made so as to be subtracted (a specific calculation formula is omitted). As a result, the character's left shoulder comes out of the normal case (shouldered). When the back parameter S is “0”, no correction is performed (the same data is obtained after correction).

図8(c)は、猫背のキャラクタの歩く動作を示しており、猫背パラメータSが「1」の場合のものを示している。同図(a)は、特徴がないキャラクタの歩く動作を示しており、猫背パラメータSが「0」の場合のものである。   FIG. 8C shows the walking action of the character of the back of the back, and shows the case where the back of the back parameter S is “1”. FIG. 4A shows a walking action of a character having no features, and is for the case where the stoop parameter S is “0”.

同図(c)に示すキャラクタは、同図(a)に示すキャラクタと比べて、腰関節aのX軸回転角度に7°(=7・1)が加算され、胴関節bのX軸回転角度に10°(=10・1)が加算され、首関節cのX軸回転角度から17°(=17・1)が減算されている。また、右鎖骨dのY軸回転角度に10°(=10・1)が加算され、左鎖骨hのY軸回転角度から10°(=10・1)が減算されている。これらの補正によって、同図(c)に示すキャラクタの姿勢は腰と胴をまげて肩をすぼめた姿勢となり、猫背の人が歩いているように再生される。   Compared to the character shown in FIG. 6A, the character shown in FIG. 7C adds 7 ° (= 7.1) to the X-axis rotation angle of the hip joint a, and the X-axis rotation of the torso joint b. 10 ° (= 10 · 1) is added to the angle, and 17 ° (= 17.1) is subtracted from the X-axis rotation angle of the neck joint c. Further, 10 ° (= 10 · 1) is added to the Y-axis rotation angle of the right clavicle d, and 10 ° (= 10 · 1) is subtracted from the Y-axis rotation angle of the left clavicle h. By these corrections, the posture of the character shown in FIG. 5C is changed to a posture in which the waist and torso are swollen and the shoulders are swollen, and the character is reproduced as if a stooped person is walking.

図8(d)は、腹が出た(太っている)キャラクタの歩く動作を示しており、猫背パラメータSが「−1」の場合のものを示している。   FIG. 8D shows a walking action of a hungry (fat) character, and shows a case where the stoop parameter S is “−1”.

同図(d)に示すキャラクタは、同図(a)に示すキャラクタと比べて、腰関節aのX軸回転角度に−7°(=7・(−1))が加算(すなわち、7°が減算)され、胴関節bのX軸回転角度に−10°(=10・(−1))が加算(すなわち、10°が減算)され、首関節cのX軸回転角度から−17°(=17・(−1))が減算(すなわち、17°が加算)されている。また、右鎖骨dのY軸回転角度に−10°(=10・(−1))が加算(すなわち、10°が減算)され、左鎖骨hのY軸回転角度から−10°(=10・(−1))が減算(すなわち、10°が加算)されている。これらの補正によって、同図(d)に示すキャラクタの姿勢は背筋を伸ばして胸を張った姿勢となり、太っている人が歩いているように再生される。   In the character shown in FIG. 6D, compared to the character shown in FIG. 6A, −7 ° (= 7 · (−1)) is added to the X-axis rotation angle of the hip joint a (ie, 7 °). Is subtracted), and −10 ° (= 10 · (−1)) is added to the X-axis rotation angle of the trunk joint b (that is, 10 ° is subtracted), and −17 ° from the X-axis rotation angle of the neck joint c (= 17 · (−1)) is subtracted (that is, 17 ° is added). Further, −10 ° (= 10 · (−1)) is added to the Y-axis rotation angle of the right clavicle d (that is, 10 ° is subtracted), and −10 ° (= 10) from the Y-axis rotation angle of the left clavicle h. (-1)) is subtracted (that is, 10 ° is added). By these corrections, the posture of the character shown in FIG. 4D is a posture in which the back is stretched and the chest is stretched, and the character is reproduced as if a fat person is walking.

性別パラメータに基づく補正では、腰関節a、胴関節b、および鎖骨d,hのローテーションデータの各要素を変化させる補正と、肘および膝の開き方を調整する補正とが行われる。上述したように、性別パラメータのパラメータ値は、固定値としてプレイヤキャラクタデータ(図4参照)にあらかじめ設定されている。当該パラメータ値を用いて、補正が行われる。   In the correction based on the sex parameter, correction for changing each element of the rotation data of the hip joint a, the trunk joint b, and the collarbones d and h and correction for adjusting the opening method of the elbow and knee are performed. As described above, the parameter value of the sex parameter is preset in the player character data (see FIG. 4) as a fixed value. Correction is performed using the parameter value.

具体的には、基準モーションデータの腰関節aのローテーションデータを(θx,θy,θz)、性別パラメータをWとすると、補正後のローテーションデータ(θx’,θy’,θz’)は、下記(6)式によって算出される。

θx’=θx
θy’=θy・(1+0.3・W)
θz’=θz・(1+0.5・W) ・・・・・ (6)
Specifically, if the rotation data of the hip joint a of the reference motion data is (θx, θy, θz) and the gender parameter is W, the corrected rotation data (θx ′, θy ′, θz ′) is as follows ( 6) Calculated by the equation.

θx ′ = θx
θy ′ = θy · (1 + 0.3 · W)
θz ′ = θz · (1 + 0.5 · W) (6)

例えば、性別パラメータWが「0.5」の場合、θy’=1.15・θyとなって、Y軸回転角度が115%になり、キャラクタは通常の場合より15%増しで腰をY軸周りに回転させる状態になる。また、θz’=1.25・θzとなって、Z軸回転角度が125%になり、キャラクタは通常の場合より25%増しで腰をZ軸周りに回転させる状態になる。同様に、胴関節bのローテーションデータのY軸回転角度およびZ軸回転角度も補正され(具体的な計算式は、省略している。)、胴の回転も強調される。また、鎖骨d,hのローテーションデータの各要素も補正され(具体的な計算式は、省略している。)、肩の動きが強調される。一方、性別パラメータWが「−0.5」の場合、θy’=0.85・θy、θz’=0.75・θzとなって、Y軸回転角度およびZ軸回転角度が抑えられる。同様に、胴関節bのローテーションデータのY軸回転角度およびZ軸回転角度も補正され、胴の回転も抑えられる。また、鎖骨d,hのローテーションデータの各要素も補正され、肩の動きも抑えられる。なお、性別パラメータWが「0」の場合、補正が行われない(補正後も同じデータとなる)。   For example, when the gender parameter W is “0.5”, θy ′ = 1.15 · θy, the Y-axis rotation angle becomes 115%, and the character increases his waist by 15% from the normal case. Rotate around. Also, θz ′ = 1.25 · θz, the Z-axis rotation angle is 125%, and the character is in a state of rotating the waist around the Z-axis by 25% more than usual. Similarly, the Y-axis rotation angle and the Z-axis rotation angle of the rotation data of the trunk joint b are also corrected (a specific calculation formula is omitted), and the rotation of the trunk is also emphasized. Further, each element of the rotation data of the clavicles d and h is also corrected (specific calculation formulas are omitted), and the shoulder movement is emphasized. On the other hand, when the gender parameter W is “−0.5”, θy ′ = 0.85 · θy, θz ′ = 0.75 · θz, and the Y-axis rotation angle and the Z-axis rotation angle are suppressed. Similarly, the Y-axis rotation angle and the Z-axis rotation angle of the rotation data of the trunk joint b are also corrected, and the rotation of the trunk is suppressed. Also, each element of the rotation data of the collarbones d and h is corrected, and the movement of the shoulder is also suppressed. When the gender parameter W is “0”, no correction is performed (the same data is obtained after correction).

また、性別パラメータWに応じて、肘および膝の開き方を調整する補正も行われる。性別パラメータWが大きいほど、肘および膝の開き方が小さくなるように補正される。肘についての補正は、肘関節f,jの位置を先に決定し、インバースキネマティクス技術を用いて、手首関節g,kおよび肩関節e,iの各ローテーションデータを自動計算で補正することで行われる。膝についての補正も同様に、膝関節m,pの位置を先に決定し、インバースキネマティクス技術を用いて、足首関節n,qおよび股関節l,oの各ローテーションデータを自動計算で補正することで行われる。   Further, according to the sex parameter W, correction for adjusting the opening of the elbow and knee is also performed. The larger the gender parameter W is, the more the elbow and knee are opened. For elbow correction, the positions of the elbow joints f and j are determined first, and the rotation data of the wrist joints g and k and the shoulder joints e and i are automatically corrected by using inverse kinematics technology. Done. Similarly, for the knee correction, the positions of the knee joints m and p are determined first, and the rotation data of the ankle joints n and q and the hip joints 1 and o are automatically calculated by using inverse kinematics technology. Done in

図9は、キャラクタが左手に盾を持って歩く動作を行っているデモ映像の1コマの画像を示す図である(なお、同図においては、キャラクタのみを表示しており、盾および装備を表示していない。)。同図(a)は、特徴がないキャラクタの動作を示しており、性別パラメータWが「0」の場合のものを示している。同図(a)の右下の矢印は、キャラクタのローカル座標系の各軸の方向を示しており、紙面裏から表の方向がZ軸の正方向である。同図(b)は、女性キャラクタの歩く動作を示しており、性別パラメータWが「1」の場合のものを示している。   FIG. 9 is a diagram showing a one-frame image of a demonstration video in which a character walks with a shield in his left hand (in the figure, only the character is displayed, and the shield and equipment are displayed. Not shown.) FIG. 4A shows the action of a character having no characteristics, and shows the case where the gender parameter W is “0”. The arrow at the lower right of FIG. 6A indicates the direction of each axis in the local coordinate system of the character, and the front direction from the back of the page is the positive direction of the Z axis. FIG. 5B shows the walking motion of the female character, and shows the case where the gender parameter W is “1”.

同図(b)に示すキャラクタは、同図(a)に示すキャラクタと比べて、腰関節aのY軸回転角度が130%(=1+0.3・1)になり、Z軸回転角度が150%(=1+0.5・1)になって、腰のY軸およびZ軸まわりの回転が強調されている。また、胴のY軸およびZ軸まわりの回転も強調され、肩の動きも強調されている。さらに、肘および膝の開き方が小さくなるように補正されている。これらの補正によって、同図(b)に示すキャラクタの動作は女性らしくなって、女性が歩いているように再生される。   In the character shown in FIG. 5B, the Y-axis rotation angle of the hip joint a is 130% (= 1 + 0.3 · 1) and the Z-axis rotation angle is 150 in comparison with the character shown in FIG. % (= 1 + 0.5 · 1), and the rotation of the waist around the Y and Z axes is emphasized. Also, the rotation of the torso about the Y and Z axes is emphasized, and the movement of the shoulder is also emphasized. Furthermore, it is corrected so that the way of opening the elbows and knees is reduced. With these corrections, the character motion shown in FIG. 5B becomes feminine and is reproduced as if a woman is walking.

同図(c)は、男性キャラクタの歩く動作を示しており、性別パラメータWが「−1」の場合のものを示している。   FIG. 5C shows the walking action of the male character, and shows the case where the gender parameter W is “−1”.

同図(c)に示すキャラクタは、同図(a)に示すキャラクタと比べて、腰関節aのY軸回転角度が70%(=1+0.3・(−1))になり、Z軸回転角度が50%(=1+0.5・(−1))になって、腰のY軸およびZ軸まわりの回転が抑えられている。また、胴のY軸およびZ軸まわりの回転も抑えられ、肩の動きも抑えられている。さらに、肘および膝の開き方が大きくなるように補正されている。これらの補正によって、同図(c)に示すキャラクタの動作は男性らしくなって、男性が歩いているように再生される。   The character shown in FIG. 10C has a Y-axis rotation angle of the hip joint a of 70% (= 1 + 0.3 · (−1)) and the Z-axis rotation as compared with the character shown in FIG. The angle is 50% (= 1 + 0.5 · (−1)), and the rotation of the waist around the Y and Z axes is suppressed. Further, the rotation of the trunk around the Y axis and the Z axis is also suppressed, and the movement of the shoulder is also suppressed. Furthermore, it has been corrected so that the elbows and knees can be opened more widely. With these corrections, the character's movement shown in FIG. 5C becomes masculine and is reproduced as if the man is walking.

上記各特徴パラメータに基づく補正はそれぞれ互いに独立しており、基準モーションデータには全ての補正が行われる。例えば、図4に示すプレイヤキャラクタデータの場合、性別パラメータWが「0.5」の場合の補正、猫背パラメータSが「0.5」の場合の補正、疲れパラメータTが「0.5」の場合の補正がそれぞれ重複して行われる。   The corrections based on the feature parameters are independent of each other, and all corrections are performed on the reference motion data. For example, in the case of the player character data shown in FIG. 4, correction when the gender parameter W is “0.5”, correction when the back parameter S is “0.5”, and the fatigue parameter T is “0.5”. Each case correction is performed in duplicate.

他の特徴に基づく補正も、対応する特徴パラメータとあらかじめ設定されている演算式とに基づいて行われる。他の特徴としては、性格の明るさ(暗さ)、年齢、傲慢さ(謙虚さ)、士気の高さ、気力の充実度、気分の高揚の程度、体力の程度などが設定されており、それぞれの特徴に対応する特徴パラメータと演算式とがあらかじめ設定されている(図7参照)。   Correction based on other features is also performed based on the corresponding feature parameters and preset arithmetic expressions. Other features include personality brightness (darkness), age, arrogance (humility), high morale, fullness of morale, level of uplift, and level of physical strength. Feature parameters and arithmetic expressions corresponding to each feature are set in advance (see FIG. 7).

なお、上記では、歩く動作の基準モーションデータに対する補正のための演算式について説明したが、他の動作(例えば、走る動作、ジャンプする動作、相手を攻撃する動作、攻撃を防ぐ動作など)の基準モーションデータに対する補正のための演算式も、キャラクタの特徴毎にそれぞれ設定されている(図7参照)。なお、同じような動作(例えば、歩く動作と走る動作など)の場合、共通の演算式を用いるようにしてもよい。また、体型に関する特徴(猫背など)に基づく補正の場合、動作の種類に関わらず共通の演算式を用いても、適切な補正を行うことができる場合が多い。しかし、疲れや性別などの特徴に基づく補正の場合、共通の演算式を用いて補正すると、動作によっては不自然な動作になる場合がある。したがって、動作毎にそれぞれ異なる演算式を用いる必要がある   In addition, although the arithmetic expression for correction | amendment with respect to the reference | standard motion data of a walk operation was demonstrated above, the reference | standard of other operation | movement (For example, the operation | movement which runs, the operation | movement which jumps, the operation | movement which attacks an opponent, the operation which prevents an attack, etc.) An arithmetic expression for correcting the motion data is also set for each character feature (see FIG. 7). In the case of similar operations (for example, walking and running), a common arithmetic expression may be used. In addition, in the case of correction based on features related to the body shape (such as the back of a cat), appropriate correction can often be performed using a common arithmetic expression regardless of the type of motion. However, in the case of correction based on features such as fatigue and gender, if correction is performed using a common arithmetic expression, an unnatural operation may occur depending on the operation. Therefore, it is necessary to use different arithmetic expressions for each operation.

図10は、ゲーム装置1の例えば制御部111によって行われる、プレイヤキャラクタのモーション再生のためのスケルトンデータを生成するための処理(以下では、「スケルトンデータ生成処理」とする。)を説明するためのフローチャートである。   FIG. 10 illustrates a process (hereinafter referred to as “skeleton data generation process”) that is performed by, for example, the control unit 111 of the game apparatus 1 to generate skeleton data for reproducing the motion of the player character. It is a flowchart of.

スケルトンデータ生成処理は、フレーム毎に実施される。まず、実行される動作に対応する基準モーションデータの該当するフレームのデータ(例えば、図6に示すモーション1のフレーム1の処理の場合、ポジションデータα1、ローテーションデータa1、およびローテーションデータb1〜q1)と、プレイヤキャラクタデータ(図4参照)とが、CPU111aによってRAM111cから読み出されて、描画処理部112に入力される(S1)。   The skeleton data generation process is performed for each frame. First, the data of the corresponding frame of the reference motion data corresponding to the operation to be executed (for example, in the case of the process of frame 1 of motion 1 shown in FIG. 6, position data α1, rotation data a1, and rotation data b1 to q1). The player character data (see FIG. 4) is read from the RAM 111c by the CPU 111a and input to the drawing processing unit 112 (S1).

次に、プレイヤキャラクタデータの特徴データに基づいて、ポジションデータα1、ローテーションデータa1、およびローテーションデータb1〜q1が補正される(S2)。このとき、モーションと各特徴パラメータとに対応する演算式が演算式データ(図7参照)を参照して読み出される。例えば、上記例では、モーション1と性別パラメータとに対応する演算式1Wが読み出されて性別パラメータに基づく補正がされ、演算式1Sが読み出されて猫背パラメータに基づく補正がされ、演算式1Tが読み出されて疲れパラメータに基づく補正がされる。次に、補正後のデータとプレイヤキャラクタデータとから、スケルトンデータが生成される(S3)。   Next, based on the feature data of the player character data, the position data α1, the rotation data a1, and the rotation data b1 to q1 are corrected (S2). At this time, arithmetic expressions corresponding to the motion and each characteristic parameter are read with reference to arithmetic expression data (see FIG. 7). For example, in the above example, the calculation formula 1W corresponding to the motion 1 and the gender parameter is read and corrected based on the gender parameter, the calculation formula 1S is read and corrected based on the back parameter, and the calculation formula 1T Is read out and corrected based on the fatigue parameter. Next, skeleton data is generated from the corrected data and the player character data (S3).

図11は、スケルトンデータの一例を説明するための図である。   FIG. 11 is a diagram for explaining an example of skeleton data.

スケルトンデータは、各関節の位置データ(ポジションデータ)および親である関節を示すデータ(リンクデータ)を含んでいる。関節a(基点)のデータには、ポジションデータのみが含まれている。関節aのポジションデータは、プレイヤキャラクタのローカル座標系における関節aの位置座標であり、基準モーションデータの関節aのポジションデータが設定される。   The skeleton data includes position data (position data) of each joint and data (link data) indicating a joint that is a parent. The data of the joint a (base point) includes only position data. The position data of the joint a is the position coordinate of the joint a in the local coordinate system of the player character, and the position data of the joint a of the reference motion data is set.

関節b〜qのデータには、ポジションデータおよびリンクデータが含まれている。関節b〜qのポジションデータは、ローカル座標系における、親である関節の位置を基準とした相対位置を示すデータであり、プレイヤキャラクタデータの関節b〜qのポジションデータと補正後のモーションデータの関節b〜qのローテーションデータとからフォワードキネマティクス技術を用いて算出される。スケルトンデータの関節b〜qのリンクデータは、プレイヤキャラクタデータの関節b〜qのリンクデータを用いる。   The data of the joints b to q includes position data and link data. The position data of the joints b to q is data indicating a relative position with respect to the position of the parent joint in the local coordinate system, and the position data of the joints b to q of the player character data and the corrected motion data. It is calculated from the rotation data of the joints b to q using the forward kinematics technique. The link data of the joints b to q of the skeleton data uses the link data of the joints b to q of the player character data.

図10に戻って、ステップS3で生成されたスケルトンデータの座標変換が行われ(S4)、スケルトンデータ生成処理は終了される。当該座標変換は、ローカル座標系の位置データをワールド座標系の位置データに変換するものである。これにより、ローカル座標系におけるデータであるスケルトンデータが、ワールド座標系のデータに変換される。なお、ワールド座標系は、三次元仮想ゲーム空間上に設定された固定の座標系であり、三次元仮想ゲーム空間上での位置や向きを表すために用いられる。ステップS4の座標変換では、プレイヤキャラクタの「現在位置データ」および「現在向きデータ」が用いられる。   Returning to FIG. 10, the coordinate conversion of the skeleton data generated in step S3 is performed (S4), and the skeleton data generation process ends. The coordinate conversion is to convert position data in the local coordinate system into position data in the world coordinate system. As a result, skeleton data that is data in the local coordinate system is converted into data in the world coordinate system. The world coordinate system is a fixed coordinate system set on the three-dimensional virtual game space, and is used to represent the position and orientation on the three-dimensional virtual game space. In the coordinate conversion in step S4, the “current position data” and “current direction data” of the player character are used.

「現在位置データ」および「現在向きデータ」は、それぞれ、ワールド座標系におけるプレイヤキャラクタの位置および向き(正確には、プレイヤキャラクタに設定されているローカル座標系の原点の位置およびローカル座標系の向き)を示すデータであり、RAM111cに記録されている。「現在位置データ」および「現在向きデータ」は、プレイヤキャラクタが三次元仮想ゲーム空間上を移動することで更新される。例えば、プレイヤキャラクタが歩いて移動する場合、「現在位置データ」および「現在向きデータ」に基づくローカル座標系を基準として歩くモーションが実行される。当該歩くモーションが終了したとき(最後のフレームが処理されたとき)のプレイヤキャラクタのワールド座標系における位置および向きに基づいて、「現在位置データ」および「現在向きデータ」が更新される。プレイヤキャラクタが歩いて移動している間、歩くモーションの実行と「現在位置データ」および「現在向きデータ」の更新とが繰り返される。   “Current position data” and “current direction data” are respectively the position and orientation of the player character in the world coordinate system (more precisely, the position of the origin of the local coordinate system and the orientation of the local coordinate system set for the player character). ) And is recorded in the RAM 111c. “Current position data” and “current direction data” are updated when the player character moves in the three-dimensional virtual game space. For example, when the player character moves while walking, a walking motion is executed based on the local coordinate system based on the “current position data” and the “current direction data”. “Current position data” and “current direction data” are updated based on the position and orientation of the player character in the world coordinate system when the walking motion ends (when the last frame is processed). While the player character is walking and moving, the execution of the walking motion and the update of the “current position data” and “current direction data” are repeated.

敵キャラクタなどのプレイヤキャラクタと同じスケルトンモデル(図2および図3参照)を有するキャラクタの動作の再生においても、上記と同様に、スケルトンデータ生成処理が行われる。すなわち、当該キャラクタの特徴に応じて基準モーションデータ(図6参照)を補正し、補正後のモーションデータを用いてスケルトンデータを生成して座標変換を行う。   In the reproduction of the motion of a character having the same skeleton model (see FIGS. 2 and 3) as the player character such as an enemy character, skeleton data generation processing is performed in the same manner as described above. That is, the reference motion data (see FIG. 6) is corrected according to the characteristics of the character, and skeleton data is generated using the corrected motion data to perform coordinate conversion.

描画処理部112は、最終的に、ワールド座標系のデータに変換されたスケルトンデータ(各キャラクタのスケルトンデータ)と、同様にワールド座標系のデータに変換された画像データなどを用いて、ゲーム画像のデータを作成する。フレーム毎に作成されたゲーム画像のデータが、映像信号としてモニタ13に出力されて、プレイヤキャラクタの動作の映像がモニタ13に表示される。   The drawing processing unit 112 finally uses the skeleton data (skeleton data of each character) converted into the data of the world coordinate system, the image data converted into the data of the world coordinate system, etc. Create data for. The game image data created for each frame is output to the monitor 13 as a video signal, and a video of the action of the player character is displayed on the monitor 13.

本実施形態によると、特徴がないキャラクタの動作を再生するように作製された基準モーションデータが、キャラクタの特徴に応じて補正される。キャラクタの動作は、補正後のモーションデータが用いられて再生される。各動作のモーションデータは、動作および特徴に応じて設定されている演算式に基づいて、当該特徴が表現されるように補正される。これにより、キャラクタの各特徴が反映された動作が再生される。また、各特徴の反映の程度は、特徴パラメータのパラメータ値に応じて調整される。各特徴の程度を様々に調整することで、キャラクタの動作のバリエーションを簡単に増加させることができる。また、基準モーションデータとして、特徴がないキャラクタの動作を再生するためのものだけを作製すればよいので、ゲーム作製者の作業負担を軽減することができ、開発コストを抑制することができる。また、動作のバリエーションが増加しても基準モーションデータのデータ量は増加しないので、モーションデータを記憶しておくためのRAMの記憶領域の増大を抑制することができる。   According to this embodiment, the reference motion data created so as to reproduce the motion of a character having no characteristics is corrected according to the characteristics of the character. The motion of the character is reproduced using the corrected motion data. The motion data of each operation is corrected so that the feature is expressed based on an arithmetic expression set according to the operation and the feature. Thereby, the motion reflecting each characteristic of the character is reproduced. The degree of reflection of each feature is adjusted according to the parameter value of the feature parameter. By adjusting the degree of each feature in various ways, it is possible to easily increase variations in character movement. In addition, since only the reference motion data for reproducing the motion of a character having no features needs to be produced, the work burden on the game creator can be reduced and the development cost can be reduced. Further, since the amount of reference motion data does not increase even if the operation variation increases, an increase in the storage area of the RAM for storing motion data can be suppressed.

なお、上記実施形態では、体型が固定されているキャラクタの動作について説明したが、キャラクタの体型を編集できるゲームにも、本発明を適用することができる。この場合、体型の変化に応じて所定の特徴パラメータが変化するようにしてもよい。例えば、キャラクタの身長に応じて猫背パラメータが大きくなるようにしてもよい。また、体型の変化に連動させずに、特徴パラメータをプレイヤが直接編集できるようにしてもよい。例えば、ゲームを初めてプレイする時に、プレイヤがプレイヤキャラクタの各特徴パラメータを編集して、性別や姿勢などの特徴を設定するようにしてもよい。また、プレイヤキャラクタを編集するのではなく、特徴の異なる複数のキャラクタ(例えば、男性キャラクタと女性キャラクタなど)の中からプレイヤが好みのキャラクタを選択できるようにしてもよい。この場合も、選択されたキャラクタの特徴に応じて基準モーションデータが補正されるので、キャラクタの特徴に応じた動作を再生することができる。なお、プレイヤキャラクタ以外のキャラクタについても、プレイヤが各特徴パラメータを直接編集できるようにしてもよいし、プレイヤが好みのキャラクタを選択できるようにしてもよい。   In addition, although the said embodiment demonstrated the operation | movement of the character to which the body type is being fixed, this invention is applicable also to the game which can edit the body type of a character. In this case, the predetermined characteristic parameter may be changed according to the change in the body shape. For example, the back parameter may be increased according to the height of the character. Further, the feature parameter may be directly editable by the player without being linked to the change in the body shape. For example, when the game is played for the first time, the player may edit each characteristic parameter of the player character and set characteristics such as gender and posture. Further, instead of editing the player character, the player may be able to select a favorite character from a plurality of characters having different characteristics (for example, a male character and a female character). Also in this case, since the reference motion data is corrected according to the characteristics of the selected character, it is possible to reproduce the motion according to the characteristics of the character. As for characters other than the player character, the player may be able to directly edit each characteristic parameter, or the player may be able to select a favorite character.

また、人型以外のキャラクタについても、本発明を適用することができる。例えば、馬などの四足歩行の動物のキャラクタの場合、当該キャラクタのスケルトンモデルに応じた基準モーションデータを作製しておき、当該基準モーションデータを特徴に応じて補正すればよい。   The present invention can also be applied to characters other than humanoids. For example, in the case of a quadruped animal character such as a horse, reference motion data corresponding to the skeleton model of the character is created, and the reference motion data may be corrected according to the feature.

上記実施形態では、プレイヤキャラクタおよび敵キャラクタなどについて本発明を適用した場合について説明したが、特定のキャラクタについてのみ本発明を適用するようにしてもよい。例えば、プレイヤキャラクタにのみ適用するようにしてもよいし、特定の敵キャラクタにのみ適用するようにしてもよい。   In the above embodiment, the case where the present invention is applied to a player character, an enemy character, and the like has been described. However, the present invention may be applied only to a specific character. For example, it may be applied only to the player character, or may be applied only to a specific enemy character.

上記実施形態では、アクションゲームを例に説明したが、これに限られない。例えば、スポーツゲーム、RPG(ロールプレイングゲーム)、シューティングゲーム、格闘ゲーム、アドベンチャーゲームなどの様々なジャンルのゲームにおいても、本発明を適用することができる。また、本発明は、複数のプレイヤの操作するキャラクタ若しくはCPUの制御するキャラクタがチームを組んで協同して敵キャラクタと対戦するようなゲームや、敵キャラクタとしての他のプレイヤの操作するキャラクタと対戦するようなゲームにも適用することができる。   Although the action game has been described as an example in the above embodiment, the present invention is not limited to this. For example, the present invention can be applied to games of various genres such as sports games, RPG (role playing games), shooting games, fighting games, and adventure games. Further, the present invention is a game in which a character operated by a plurality of players or a character controlled by a CPU forms a team and cooperates with an enemy character, or a character operated by another player as an enemy character. It can also be applied to such games.

上記実施形態では、家庭用ゲーム装置でゲームを実施する場合について説明したが、これに限られない。本発明は、例えば、アーケードゲーム装置、携帯型ゲーム装置、および、ゲームソフトが搭載されているパーソナルコンピュータなどでゲームを実施する場合にも適用することができる。   In the above embodiment, the case where the game is executed on the home game device has been described, but the present invention is not limited thereto. The present invention can also be applied to a case where a game is executed on, for example, an arcade game device, a portable game device, and a personal computer equipped with game software.

上記実施形態では、本発明をゲームプログラムに適用した場合について説明したが、ゲーム以外のプログラムに適用してもよい。例えば、仮想現実空間でキャラクタを活動させるプログラムや、シミュレータなどのプログラムにも適用できる。本発明は、モーションデータに基づいてキャラクタなどの動作を表示するあらゆるプログラムに適用することができる。   Although the case where the present invention is applied to a game program has been described in the above embodiment, the present invention may be applied to a program other than a game. For example, the present invention can also be applied to a program for activating a character in a virtual reality space or a program such as a simulator. The present invention can be applied to any program that displays an action of a character or the like based on motion data.

また、本発明は、ゲームを作製するためのツールに適用することもできる。例えば、特徴パラメータのパラメータ値を変化させてキャラクタの動作を確認し、ゲームに使用するキャラクタの特徴を決定するようにしてもよい。また、特徴に応じて補正された後のモーションデータを、特定のキャラクタのモーションデータとして用いるようにしてもよい。   The present invention can also be applied to a tool for creating a game. For example, the character value used for the game may be determined by changing the parameter value of the characteristic parameter to confirm the action of the character. Moreover, you may make it use the motion data after correct | amending according to the characteristic as motion data of a specific character.

また、複数種類(別タイトル)のゲームであっても、本発明を適用することができる。例えば、各ゲームの単一のプレイヤキャラクタについて、同一の基準モーションデータを使用して動作を再生するようにしてもよい。これにより、例えば各種ゲームのそれぞれで、所定の動作のモーションデータを毎回作成する必要がなくなり、ゲーム開発業務の負担を軽減することができる。   Further, the present invention can be applied to a plurality of types (different titles) of games. For example, for a single player character of each game, the motion may be reproduced using the same reference motion data. Thereby, for example, it is not necessary to create motion data of a predetermined motion every time in each of various games, and the burden of game development work can be reduced.

本発明に係るプログラム、および、当該プログラムを記録したプログラム記録部を備えた画像処理装置は、上述した実施形態に限定されるものではない。本発明に係るプログラム、当該プログラムを記録したプログラム記録部を備えた画像処理装置の具体的な構成は、種々に設計変更自在である。   The program according to the present invention and the image processing apparatus including the program recording unit that records the program are not limited to the above-described embodiments. The specific configuration of the image processing apparatus including the program according to the present invention and the program recording unit that records the program can be variously modified.

1 ゲーム装置
11 本体(画像処理装置)
111 制御部
111a CPU(情報読出手段、モーションデータ生成手段、キャラクタ制御手段)
111b ROM
111c RAM(記憶部、プログラム記録部)
112 描画処理部
113 音声処理部
114 ディスクドライブユニット
115 メモリカード接続ユニット
116 I/Oインターフェース部
117 通信処理部
118 信号送受信部
12 操作コントローラ
13 モニタ(表示装置)
14 ディスク
15 メモリカード
16 ネットワークアダプタ
2 ネットワーク回線
1 Game device 11 Main body (image processing device)
111 control unit 111a CPU (information reading means, motion data generation means, character control means)
111b ROM
111c RAM (storage unit, program recording unit)
112 Drawing processing unit 113 Audio processing unit 114 Disk drive unit 115 Memory card connection unit 116 I / O interface unit 117 Communication processing unit 118 Signal transmission / reception unit 12 Operation controller 13 Monitor (display device)
14 disk 15 memory card 16 network adapter 2 network line

Claims (7)

複数の関節による連結構造を有するキャラクタが動作を行っている画像を表示装置に表示する画像処理装置のコンピュータで実行されるプログラムであって、
前記コンピュータを、
前記各関節間の距離を特定するためのキャラクタデータと、所定の動作を行わせるべく前記各関節間の相対的な位置関係を特定するための基準モーションデータと、前記キャラクタに関する少なくとも1種類のパラメータ値とを、記憶部から読み出す情報読出手段と、
前記基準モーションデータを用いて、前記キャラクタに対応するモーションデータを生成するモーションデータ生成手段と、
前記キャラクタに対応するモーションデータと前記キャラクタデータとを用いて、前記キャラクタに所定の動作を行わせるキャラクタ制御手段と、
して機能させ、
前記モーションデータ生成手段は、前記キャラクタに関するパラメータ値に基づいて前記基準モーションデータを補正することで、前記キャラクタに対応するモーションデータを生成する、
ことを特徴とするプログラム。
A program executed by a computer of an image processing device that displays an image of a character having a connection structure with a plurality of joints on a display device,
The computer,
Character data for specifying the distance between the joints, reference motion data for specifying the relative positional relationship between the joints to perform a predetermined action, and at least one type of parameter relating to the character Information reading means for reading the value from the storage unit;
Motion data generating means for generating motion data corresponding to the character using the reference motion data;
Character control means for causing the character to perform a predetermined action using the motion data corresponding to the character and the character data;
To function,
The motion data generation means generates motion data corresponding to the character by correcting the reference motion data based on a parameter value related to the character.
A program characterized by that.
前記キャラクタは、同一の連結構造を有する複数のキャラクタであって、
前記情報読出手段は、前記各キャラクタに対応するキャラクタデータおよびパラメータ値と、前記基準モーションデータとを読み出し、
前記モーションデータ生成手段は、前記各キャラクタに対応するモーションデータを生成し、
前記キャラクタ制御手段は、前記各キャラクタに対応するモーションデータとキャラクタデータとを用いて、前記各キャラクタに所定の動作を行わせる、
請求項1に記載のプログラム。
The character is a plurality of characters having the same connection structure,
The information reading means reads character data and parameter values corresponding to each character and the reference motion data,
The motion data generating means generates motion data corresponding to each character,
The character control means causes each character to perform a predetermined action using motion data and character data corresponding to each character.
The program according to claim 1.
前記基準モーションデータは、前記各関節の回転角度を含んでおり、
前記モーションデータ生成手段は、前記基準モーションデータに含まれる所定の関節の回転角度を補正する、
請求項1または2に記載のプログラム。
The reference motion data includes a rotation angle of each joint,
The motion data generating means corrects a rotation angle of a predetermined joint included in the reference motion data;
The program according to claim 1 or 2.
前記基準モーションデータは、前記キャラクタの位置の情報を含んでおり、
前記モーションデータ生成手段は、前記位置の情報を補正する、
請求項1ないし3のいずれかに記載のプログラム。
The reference motion data includes information on the position of the character,
The motion data generating means corrects the position information;
The program according to any one of claims 1 to 3.
前記情報読出手段は、複数の所定の特徴の程度をそれぞれ特定するためのパラメータ値を読出し、
前記モーションデータ生成手段は、前記各所定の特徴ごとに、対応するパラメータ値に基づく補正を行う、
請求項1ないし4のいずれかに記載のプログラム。
The information reading means reads parameter values for specifying a plurality of predetermined feature levels,
The motion data generation means performs correction based on a corresponding parameter value for each of the predetermined features.
The program according to any one of claims 1 to 4.
前記コンピュータを、プレイヤの操作に応じて前記パラメータ値を変更するパラメータ値変更手段としてさらに機能させる、請求項1ないし5のいずれかに記載のプログラム。   The program according to any one of claims 1 to 5, further causing the computer to function as parameter value changing means for changing the parameter value in accordance with a player's operation. 請求項1ないし6のいずれかに記載のプログラムを記録したプログラム記録部と、
前記プログラム記録部に記録されたプログラムを実行するコンピュータと、
を備えていることを特徴とする画像処理装置。
A program recording unit that records the program according to any one of claims 1 to 6,
A computer for executing the program recorded in the program recording unit;
An image processing apparatus comprising:
JP2011071481A 2011-03-29 2011-03-29 Program and image processing apparatus provided with program recording unit recording the program Active JP5785414B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011071481A JP5785414B2 (en) 2011-03-29 2011-03-29 Program and image processing apparatus provided with program recording unit recording the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011071481A JP5785414B2 (en) 2011-03-29 2011-03-29 Program and image processing apparatus provided with program recording unit recording the program

Publications (2)

Publication Number Publication Date
JP2012208548A true JP2012208548A (en) 2012-10-25
JP5785414B2 JP5785414B2 (en) 2015-09-30

Family

ID=47188261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011071481A Active JP5785414B2 (en) 2011-03-29 2011-03-29 Program and image processing apparatus provided with program recording unit recording the program

Country Status (1)

Country Link
JP (1) JP5785414B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014115943A (en) * 2012-12-12 2014-06-26 Kddi Corp Animation content generation device, animation content generation method, and computer program
WO2016021830A1 (en) * 2014-08-06 2016-02-11 스타십벤딩머신 주식회사 Method and device for correcting motion information collected by nui device
JP2016182310A (en) * 2015-03-27 2016-10-20 株式会社カプコン Computer program and computer system
CN108780580A (en) * 2016-03-08 2018-11-09 株式会社电通 Device, program and information processing method
KR102051946B1 (en) * 2013-04-03 2020-01-09 한국전자통신연구원 Apparatus and method for controlling smart wear

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312469A (en) * 1997-05-13 1998-11-24 Yamaha Corp Animation production system
JP2001351124A (en) * 2000-06-05 2001-12-21 Square Co Ltd Computer-readable recording medium with program for displaying scene in which specific character carries out motion for contacting with another character recorded thereon, method, game machine and the program
JP2008015713A (en) * 2006-07-04 2008-01-24 Kyushu Institute Of Technology Motion deformation system and method for it

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10312469A (en) * 1997-05-13 1998-11-24 Yamaha Corp Animation production system
JP2001351124A (en) * 2000-06-05 2001-12-21 Square Co Ltd Computer-readable recording medium with program for displaying scene in which specific character carries out motion for contacting with another character recorded thereon, method, game machine and the program
JP2008015713A (en) * 2006-07-04 2008-01-24 Kyushu Institute Of Technology Motion deformation system and method for it

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG199900858035; 鵜沼 宗利: 'コンピュータアニメーションにおける感情を伴った人間の歩行動作の生成方法' 電子情報通信学会論文誌 (J76-D-II) 第8号 第J76-D-II巻 第8号, 19930825, P.1822-1831, 社団法人 電子情報通信学会 *
JPN6014054633; 鵜沼 宗利: 'コンピュータアニメーションにおける感情を伴った人間の歩行動作の生成方法' 電子情報通信学会論文誌 (J76-D-II) 第8号 第J76-D-II巻 第8号, 19930825, P.1822-1831, 社団法人 電子情報通信学会 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014115943A (en) * 2012-12-12 2014-06-26 Kddi Corp Animation content generation device, animation content generation method, and computer program
KR102051946B1 (en) * 2013-04-03 2020-01-09 한국전자통신연구원 Apparatus and method for controlling smart wear
WO2016021830A1 (en) * 2014-08-06 2016-02-11 스타십벤딩머신 주식회사 Method and device for correcting motion information collected by nui device
US10310622B2 (en) 2014-08-06 2019-06-04 Starship Vending-Machine Corp. Method and device for correcting motion information collected by NUI device
JP2016182310A (en) * 2015-03-27 2016-10-20 株式会社カプコン Computer program and computer system
CN108780580A (en) * 2016-03-08 2018-11-09 株式会社电通 Device, program and information processing method

Also Published As

Publication number Publication date
JP5785414B2 (en) 2015-09-30

Similar Documents

Publication Publication Date Title
KR100320703B1 (en) Method of displaying characters, recording medium, image display device and video game device
JP4668655B2 (en) Program, information storage medium, and image generation system
JP4704622B2 (en) Image generation system, program, and information storage medium
JP5118220B2 (en) Motion modeling apparatus and method, and program
JP5785414B2 (en) Program and image processing apparatus provided with program recording unit recording the program
JP2010022646A (en) Program, information storage medium, and image generation system
US11816772B2 (en) System for customizing in-game character animations by players
JP5775323B2 (en) Program and image processing apparatus provided with computer for executing the program
JP2002216146A (en) Display object generating method in information processor, program to execute and control the same and recording medium in which the same program is stored
JP4929061B2 (en) GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP6826171B1 (en) Programs, terminals, server devices and systems
JP5491971B2 (en) Program, recording medium recording the program, and computer executing the program
JP6829364B2 (en) Game system and computer programs used for it
JP5479686B2 (en) Game program and game system
JP6042495B2 (en) Program and image processing apparatus provided with computer for executing the program
JP5124233B2 (en) Program and game system
JP2009201854A5 (en)
JP5575553B2 (en) Program, recording medium storing the program, and image processing apparatus provided with program storage means storing the program
JP5676030B2 (en) Program and game device for executing the program
JP4451897B2 (en) GAME PROGRAM, GAME DEVICE, AND GAME CONTROL METHOD
JP5734361B2 (en) Object display device
JP2011095935A (en) Program, information storage medium, and image generation system
JP4892454B2 (en) Image processing apparatus, image processing apparatus control method, and program
JP7438996B2 (en) Programs, terminals, server devices and systems
JP4624527B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150223

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: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150724

R150 Certificate of patent or registration of utility model

Ref document number: 5785414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250