(57)【特許請求の範囲】
【請求項１】
第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をモデリングする動作モデリング装置であって、
前記第１関節の位置を基準として、前記肢体の前記第２関節よりも先にある特定部位の位置を決定する特定部位位置決定手段と、
前記特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データ記憶手段と、
前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記角度範囲データ記憶手段に記憶された角度範囲データに基づいて、前記第２関節の位置を決定する第２関節位置決定手段と、
前記肢体の長さを変化させる肢体長変化手段とを備え、
前記角度範囲データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、
前記特定部位位置決定手段は、前記第１関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、
前記第２関節位置決定手段は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、前記第２関節の位置を決定する
ことを特徴とする動作モデリング装置。
【請求項２】
前記キャラクタは、ゲームにおいて登場するキャラクタであり、
前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、
前記角度範囲データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、
前記第２関節位置決定手段は、前記角度範囲データ記憶手段に記憶された複数の角度範囲データのうちの前記ゲーム状況判定手段により判定された状況に対応した角度範囲データに基づいて、前記第２関節の位置を決定する
ことを特徴とする請求項１に記載の動作モデリング装置。
【請求項３】
前記特定部位を前記第１関節からの相対位置として位置させることができる該特定部位の可動域を定義した可動域データを記憶する可動域データ記憶手段をさらに備え、
前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された可動域データに基づいて、前記特定部位の位置を決定し、
前記角度範囲データ記憶手段は、前記可動域データ記憶手段に記憶された可動域の範囲内の位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶する
ことを特徴とする請求項１または２に記載の動作モデリング装置。
【請求項４】
前記キャラクタは、ゲームにおいて登場するキャラクタであり、
前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、
前記可動域データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記特定部位の可動域として異なる可動域を定義した複数の可動域データを記憶し、
前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された複数の可動域データのうちの前記ゲーム状況判定手段により判定された状況に対応した可動域データに基づいて、前記特定部位の位置を決定する
ことを特徴とする請求項３に記載の動作モデリング装置。
【請求項５】
第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置にモデリングさせるためのプログラムであって、
前記肢体の前記第２関節よりも先にある特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させる角度範囲データ記憶手段、
前記第１関節の位置を基準として、前記特定部位の位置を決定する特定部位位置決定手段、
前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記記憶装置に予め記憶された角度範囲データに基づいて、前記第２関節の位置を決定する第２関節位置決定手段、及び、
前記肢体の長さを変化させる肢体長変化手段として前記コンピュータ装置を機能させ、
前記角度範囲データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶させ、
前記特定部位位置決定手段は、前記第１関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、
前記第２関節位置決定手段は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、前記第２関節の位置を決定する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、胴体に関節を介して結合する肢体を有するキャラクタの動作のモデリングにおいて、中途に関節を有する肢体毎の形状を一体として定義して動作を定めるモデリングに関する。
【背景技術】
【０００２】
近年のコンピュータ技術の高度化に伴い、ＣＧ（Computer Graphics）において、３次元でのより精細でリアルな表現が可能になってきている。そして、ＣＧの分野においては仮想空間におけるキャラクタ、例えば、人や動物などの動作を、複数の骨を関節で連結させて構成する骨格モデル（スケルトンモデル）を用い、その関節において各骨を動作させることによって表現することが行われている。
【０００３】
このように、仮想３次元空間において動作させるスケルトンモデルでは、関節毎にその連結する骨の可動範囲を設定し、その関節の特性に合わせ、その可動範囲の大きさや、動作の自由度を異ならせることによって、より現実味のある動作をさせるようにしている。そして、さらに自然で滑らかなスケルトンモデルの動作を表現するために、各関節において射影を用いて球面状の点を射影面上に座標変換して可動範囲を設定することによって、従来における関節の可動範囲を設定する手法が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１７０２７９号公報（段落００１０等）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１においても各関節毎に独立な可動域モデルが用意されている。ところが、現実の人間や動物などの関節動作は、隣接する関節の影響を受けて動作が制限される場合もある。そのため、その可動域毎にモデリングに係る計算を行っていると、四肢部の先端が不自然な位置に移動することも考えられる。一方、さらに自然な動きを実現するために、変数の数を増やしてしまうと、その処理に複雑な数学モデルを要することとなってしまう。
【０００６】
本発明は、胴体に結合される肢体毎に動作をモデリングする場合において、当該動作の特定に要する変数を減らしつつも、より現実の動作に近いモデルの動作をモデリングすることができる動作モデリング装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点にかかる動作モデリング装置は、第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をモデリングする動作モデリング装置であって、前記第１関節の位置を基準として、前記肢体の前記第２関節よりも先にある特定部位の位置を決定する特定部位位置決定手段と、前記特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データ記憶手段と、前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記角度範囲データ記憶手段に記憶された角度範囲データに基づいて、前記第２関節の位置を決定する第２関節位置決定手段と、前記第１関節から前記第２関節までの長さと前記第２関節から前記特定部位までの長さとの比率を維持しつつ、前記肢体の長さを変化させる肢体長変化手段と、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記角度範囲データ記憶手段に前記角度範囲データに対応付けて記憶されている前記特定部位の前記第１関節からの相対位置を補正する角度範囲データ補正手段とを備え、前記特定部位位置決定手段は、前記第１関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、前記第２関節位置決定手段は、前記角度範囲データ補正手段により前記特定部位の前記第１関節からの相対位置が補正された角度範囲データに基づいて、前記第２関節の位置を決定することを特徴とする。
上記目的を達成するため、本発明の第２の観点にかかる動作モデリング装置は、第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をモデリングする動作モデリング装置であって、前記第１関節の位置を基準として、前記肢体の前記第２関節よりも先にある特定部位の位置を決定する特定部位位置決定手段と、前記特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データ記憶手段と、前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記角度範囲データ記憶手段に記憶された角度範囲データに基づいて、前記第２関節の位置を決定する第２関節位置決定手段と、前記肢体の長さを変化させる肢体長変化手段とを備え、前記角度範囲データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、前記特定部位位置決定手段は、前記第１関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、前記第２関節位置決定手段は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、前記第２関節の位置を決定することを特徴とする。
【０００８】
上記第１、第２の観点にかかる動作モデリング装置では、まず、胴体に第１関節を介して結合される肢体について、その第１関節を基準として、その肢体の中途に配された第２関節の先にある特定部位の位置を決定する。第１関節を基準に特定部位の位置が決定されると、その特定部位の位置に応じて設定された、第１関節からの相対位置に対して、第２関節の回転可能な角度範囲において第２関節の位置が決定される。つまり、肢体において第１関節を基準として特定部位の位置が決定されると、第２関節の関節角度が固定されるので、続いて第１関節と特定部位を結ぶ軸を中心とした第２関節の回転角度を決定することで、その肢体の動作のモデリングをすることができるようになる。さらに、第２関節の回転角度は、特定部位の位置に応じた回転角度の範囲内において決定されるので、肢体の特定部位の位置に対する不自然な動作を防ぐことができる。
具体的には、モデリングの対象となる、現実において人間の肘や膝のように、限定された方向のみに屈伸動作をする関節を有する腕や脚をモデリングの対象とするとき、その対象における第２関節が、第２関節の先にある特定部位の位置において、不自然に曲がってしまうことを防ぐことができ、その対象の肢体の動作において違和感のないモデリングができるようになる。また、その肢体の動作のモデリングにおいて、特定部位の位置に係る情報と、第２関節の回転角度に係る情報とだけで、その肢体の形状を決定することができるので、より少ない情報で動作のモデリングを行うことができる。
【０００９】
さらに、上記第１の観点にかかる動作モデリング装置では、肢体の長さを、第１関節から第２関節、第２関節から特定部位のそれぞれの長さの比率を一定に保ちながら変化させることができる。そして、肢体の長さを変化させた場合には、その肢体の長さに従って、第１関節から特定部位の相対位置が補正されるものとなる。これによって、常に同じ大きさのキャラクタだけではなく、様々な大きさに変化させたキャラクタに対しても同様の自然な動作のモデリングを行うことができる。
肢体の長さを変化させる前に特定部位の位置、および第２関節の位置を決定した（決定された位置は、肢体の長さが変化される前では存在できる位置）後に肢体の長さを変化させると、長さが変化された肢体では特定部位や第２関節が存在できない位置（例えば、障害物に衝突する位置など）に存在してしまうことがあり、再度特定部位の位置や第２関節の位置を決定し直さなければならなくなってしまう。ここでは、角度範囲データ補正手段により角度範囲補正データに対応付けて記憶されている特定部位の第１関節からの相対位置を補正することで、先に肢体の長さを変化させてから特定部位の位置、および第２関節の位置を決定することができ、このような位置の決定のための処理が一度で済むものとなる。
なお、前記可動域データ記憶手段をさらに備える動作モデリング装置においては、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記可動域データ記憶手段に前記可動域データに対応付けて記憶されている前記特定部位の前記第１関節からの相対位置を補正する可動域データ補正手段をさらに備え、前記特定部位位置決定手段は、前記可動域データ補正手段により前記特定部位の前記第１関節からの相対位置が補正された可動域データに基づいて、前記特定部位の位置を決定するものとすることができる。
一方、上記第２の観点にかかる動作モデリング装置では、肢体の長さを、第１関節から第２関節、第２関節から特定部位のそれぞれの長さを変化させることができる。そして、肢体の長さを変化させた場合には、第１関節から特定部位の相対位置において、その肢体の長さに対応した、異なる第２関節の回転可能な角度範囲を適用することができる。これによって、常に同じ大きさ、或いは形状のキャラクタだけではなく、様々な大きさ、或いは形状に変化させたキャラクタに対しても同様の過程においてその肢体の大きさ、形状に合わせた適正な動作のモデリングを行うことができる。
なお、前記可動域データ記憶手段をさらに備える動作モデリング装置においては、前記可動域データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記特定部位の可動域として異なる可動域を定義した複数の可動域データを記憶し、前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された複数の可動域データのうちの前記肢体長変化手段により変化させられた前記肢体の長さに対応した可動域データに基づいて、前記特定部位の位置を決定するものとすることができる。
【００１０】
上記第１、第２の観点にかかる動作モデリング装置において、前記キャラクタは、ゲームにおいて登場するキャラクタであり、前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、前記角度範囲データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶し、前記第２関節位置決定手段は、前記角度範囲データ記憶手段に記憶された複数の角度範囲データのうちの前記ゲーム状況判定手段により判定された状況に対応した角度範囲データに基づいて、前記第２関節の位置を決定するものとすることができる。
【００１１】
この場合には、そのゲーム状況に応じて第２関節の回転可能な角度範囲を変化させることができる。これによって、例えば、キャラクタがゲームの進行において負傷した場合には、その負傷した肢体に係る第２関節の回転可能な角度範囲を、通常の場合よりも狭く設定することができ、キャラクタに対して、そのゲームの状況に応じた自然な動作のモデリングをすることができる。また、他にこのようなゲーム状態としては、キャラクタが身につけているものの状態や、仮想空間におけるキャラクタの周りの環境などがある。
【００１２】
上記第１、第２の観点にかかる動作モデリング装置において、前記特定部位を前記第１関節からの相対位置として位置させることができる該特定部位の可動域を定義した可動域データを記憶する可動域データ記憶手段をさらに備え、前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された可動域データに基づいて、前記特定部位の位置を決定し、前記角度範囲データ記憶手段は、前記可動域データ記憶手段に記憶された可動域の範囲内の位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶するものとすることができる。
【００１３】
この場合には、特定部位の位置を定義された可動域において決定し、その位置に応じた第２関節の回転可能な角度範囲で第２関節の位置を決定する。これによって、例えば人型のキャラクタの腕部や脚部をモデリングの対象とした場合において、その腕部や脚部における手首や足首の位置が現実的に到達可能な範囲で決定することができる。そのため、その位置に応じて、関節が不自然に曲がるような動作のモデリングを防ぐことができ、さらに、現実には到達し得ないような位置に肢体が到達することも防ぐことができるようになるので、人型のキャラクタに対してより自然な人の動作をモデリングできるようになる。
【００１４】
上記第１、第２の観点にかかる動作モデリング装置において、前記キャラクタは、ゲームにおいて登場するキャラクタであり、前記動作モデリング装置は、前記ゲームの進行状況が予め定義された複数種類の状況のうちの何れの状況となっているかを判定するゲーム状況判定手段をさらに備え、前記可動域データ記憶手段は、前記複数種類の状況のそれぞれに対して、前記特定部位の可動域として異なる可動域を定義した複数の可動域データを記憶し、前記特定部位位置決定手段は、前記可動域データ記憶手段に記憶された複数の可動域データのうちの前記ゲーム状況判定手段により判定された状況に対応した可動域データに基づいて、前記特定部位の位置を決定するものとすることができる。
【００１５】
この場合には、そのゲーム状況に応じて特定部位の可動域を変化させることができる。これによって、例えば、キャラクタがゲームの進行において負傷した場合には、その負傷した肢体に係る特定部位の可動域を、通常の場合よりも狭く設定することができ、キャラクタに対して、そのゲームの状況に応じた自然な動作のモデリングをすることができる。
【００２２】
上記目的を達成するため、本発明の第３の観点にかかる動作モデリング方法は、第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置においてモデリングする動作モデリング方法であって、前記肢体の前記第２関節よりも先にある特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させるステップと、前記第１関節の位置を基準として、前記コンピュータ装置が備える処理装置が所定の演算により前記特定部位の位置を決定するステップと、前記決定された前記特定部位の位置に応じて前記コンピュータ装置が備える処理装置が前記記憶装置に記憶された角度範囲データを参照して、前記第２関節の位置を決定するステップと、前記第１関節から前記第２関節までの長さと前記第２関節から前記特定部位までの長さとの比率を維持しつつ、前記肢体の長さを変化させるステップと、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記記憶装置に前記角度範囲データに対応付けて記憶されている前記特定部位の前記第１関節からの相対位置を補正するステップとを備え、前記長さが変化させられた前記肢体の前記特定部位の位置は、前記第１関節の位置を基準として、特定され、前記第２関節の位置は、前記特定部位の前記第１関節からの相対位置が補正された角度範囲データに基づいて、決定されることを特徴とする。
【００２３】
上記目的を達成するため、本発明の第４の観点にかかる動作モデリング方法は、第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置においてモデリングする動作モデリング方法であって、前記肢体の前記第２関節よりも先にある特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させるステップと、前記第１関節の位置を基準として、前記コンピュータ装置が備える処理装置が所定の演算により前記特定部位の位置を決定するステップと、前記決定された前記特定部位の位置に応じて前記コンピュータ装置が備える処理装置が前記記憶装置に記憶された角度範囲データを参照して、前記第２関節の位置を決定するステップと、前記肢体の長さを変化させるステップとを備え、前記角度範囲データは、前記変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを含み、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置は、前記第１関節の位置を基準として、特定され、前記第２関節の位置は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、決定されることを特徴とする。
【００２４】
上記目的を達成するため、本発明の第５の観点にかかるプログラムは、第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置にモデリングさせるためのプログラムであって、前記肢体の前記第２関節よりも先にある特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させる角度範囲データ記憶手段、前記第１関節の位置を基準として、前記特定部位の位置を決定する特定部位位置決定手段、前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記記憶装置に予め記憶された角度範囲データに基づいて、前記第２関節の位置を決定する第２関節位置決定手段、及び、前記肢体長変化手段により変化させられた前記肢体の長さに従って、前記角度範囲データ記憶手段によって前記記憶装置に前記角度範囲データに対応付けて記憶されている前記特定部位の前記第１関節からの相対位置を補正する角度範囲データ補正手段として前記コンピュータ装置を機能させ、前記特定部位位置決定手段は、前記第１関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、前記第２関節位置決定手段は、前記角度範囲データ補正手段により前記特定部位の前記第１関節からの相対位置が補正された角度範囲データに基づいて、前記第２関節の位置を決定することを特徴とする。
【００２５】
上記目的を達成するため、本発明の第６の観点にかかるプログラムは、第１関節を介して胴体に結合されるとともに中途に第２関節が配された肢体であって、該第１関節を中心に所定の角度範囲内で回転させることができる肢体を有するキャラクタの動作をコンピュータ装置にモデリングさせるためのプログラムであって、前記肢体の前記第２関節よりも先にある特定部位の前記第１関節からの相対位置に対して、前記第２関節を回転させることが可能な角度範囲を定義した角度範囲データを対応付けて記憶した角度範囲データを、前記コンピュータ装置が備える記憶装置に予め記憶させる角度範囲データ記憶手段、前記第１関節の位置を基準として、前記特定部位の位置を決定する特定部位位置決定手段、前記特定部位位置決定手段により決定された前記特定部位の位置に応じて前記記憶装置に予め記憶された角度範囲データに基づいて、前記第２関節の位置を決定する第２関節位置決定手段、及び、前記肢体の長さを変化させる肢体長変化手段として前記コンピュータ装置を機能させ、前記角度範囲データ記憶手段は、前記肢体長変化手段により変化させることが可能な前記肢体の長さの範囲のうちの複数の範囲に対して、前記第２関節を回転させることが可能な角度範囲として異なる角度範囲を定義した複数の角度範囲データを記憶させ、前記特定部位位置決定手段は、前記第１関節の位置を基準として、前記肢体長変化手段により長さが変化させられた前記肢体の前記特定部位の位置を特定し、前記第２関節位置決定手段は、前記肢体長変化手段により変化させられた前記肢体の長さに対応した角度範囲データに基づいて、前記第２関節の位置を決定することを特徴とする。
【００２６】
上記第５、第６の観点にかかるプログラムは、コンピュータ読み取り可能な記録媒体に記録して提供することができる。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置に着脱可能に構成され、上記コンピュータ装置とは別個に提供される記録媒体としてもよい。このコンピュータ読み取り可能な記録媒体は、上記コンピュータ装置内に設けられ、上記コンピュータ装置と共に提供される固定ディスク装置などの記録媒体としてもよい。上記第３の観点にかかるプログラムは、ネットワーク上に存在するサーバ装置から、そのデータ信号を搬送波に重畳して、ネットワークを通じて上記コンピュータ装置に配信することもできる。
また、上記第５、第６の観点にかかるプログラムに含まれる各手段の実行する処理を各ステップの処理として実行する方法も、本発明の範囲に含まれる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に適用されるビデオゲーム装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係るプレイヤキャラクタについて、スケルトンモデルの右手首の到達可能範囲を示した図である。
【図３】先端部の位置が決定された場合における中間部の回転態様を示した図である。
【図４】先端部の到達点に格納された中間部の可動範囲を示した図である。
【図５】負傷時におけるプレイヤキャラクタの先端部の到達範囲、および中間部の可動範囲を示した図である。
【図６】右腕部の形状を決定するための処理を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【００２９】
図１は、この実施の形態に適用されるビデオゲーム装置の構成を示すブロック図である。図示するように、ビデオゲーム装置１００は、装置本体１０１を中心として構築される。この装置本体１０１は、その内部バス１１９に接続された制御部１０３、ＲＡＭ（Random Access Memory）１０５、ハードディスク・ドライブ（ＨＤＤ）１０７、サウンド処理部１０９、グラフィック処理部１１１、ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３、通信インターフェイス１１５、及びインターフェイス部１１７を含む。
【００３０】
この装置本体１０１のサウンド処理部１０９は、スピーカーであるサウンド出力装置１２５に、グラフィック処理部１１１は、表示画面１２２を有する表示装置１２１に接続されている。ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３には、記録媒体（本実施の形態では、ＤＶＤ−ＲＯＭまたはＣＤ−ＲＯＭ）１３１を装着し得る。通信インターフェイス１１５は、ネットワーク１５１に接続される。インターフェイス部１１７には、入力部（コントローラ）１６１とメモリーカード１６２とが接続されている。
【００３１】
制御部１０３は、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）などを含み、ＨＤＤ１０７や記録媒体１３１上に格納されたプログラムを実行し、装置本体１０１の制御を行う。制御部１０３は、内部タイマを備えている。ＲＡＭ１０５は、制御部１０３のワークエリアであり、後述する、プレイヤキャラクタの手首の可動域や、肘、膝のひねり角度などに関する情報は、ＲＡＭ１０５に一時記憶される。ＨＤＤ１０７は、プログラムやデータを保存するための記憶領域である。サウンド処理部１０９は、制御部１０３により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置１２５にサウンド信号を出力する。
【００３２】
グラフィック処理部１１１は、制御部１０３から出力される描画命令に従って、フレームメモリ１１２（図では、グラフィック処理部１１１の外側に描かれているが、グラフィック処理部１１１を構成するチップに含まれるＲＡＭ内に設けられる）に画像データを展開し、表示装置１２１の表示画面１２２上に画像を表示するビデオ信号を出力する。グラフィック処理部１１１から出力されるビデオ信号に含まれる画像の１フレーム時間は、例えば６０分の１秒である。フレームメモリ１１２は、２セット設けられており、データの書き込み用と読み出し用とがフレーム期間毎に切り替えられる。
【００３３】
グラフィック処理部１１１は、仮想３次元空間に存在するオブジェクト（プレイヤキャラクタ、ノンプレイヤキャラクタ、及びキャラクタ以外のオブジェクト）を仮想カメラにより透視変換した２次元画像の画像データを生成して、フレームメモリ１１２に書き込む。
【００３４】
ＤＶＤ／ＣＤ−ＲＯＭドライブ１１３は、記録媒体１３１に対しプログラム及びデータの読み出しを行う。通信インターフェイス１１５は、ネットワーク１５１に接続され、他のコンピュータとの通信を行う。入力部１６１は、方向キー及び複数の操作ボタンを備えている。仮想３次元空間におけるプレイヤキャラクタの位置は、入力部１６１の方向キーから入力される指示によって移動させられる。
【００３５】
インターフェイス部１１７は、入力部１６１からの入力データをＲＡＭ１０５に出力し、制御部１０３がそれを解釈して演算処理を実施する。インターフェイス部１１７は、また、制御部１０３からの指示に基づいて、ＲＡＭ１０５に記憶されているゲームの進行状況を示すデータをメモリーカード１６２に保存させ、メモリーカード１６２に保存されている中断時のゲームのデータを読み出して、ＲＡＭ１０５に転送する。
【００３６】
ビデオゲーム装置１００でゲームを行うためのプログラム及びデータは、最初例えば記録媒体１３１に記憶されている。記録媒体１３１に記憶されているデータとしては、ゲーム空間（仮想３次元空間）に存在するオブジェクトを構成するためのグラフィックデータを含んでいる。記録媒体１３１に記憶されたプログラム及びデータは、実行時にＤＶＤ／ＣＤ−ＲＯＭドライブ１１３により読み出されて、ＲＡＭ１０５にロードされる。制御部１０３は、ＲＡＭ１０５にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部１１１に出力し、サウンド出力の指示をサウンド処理部１０９に出力する。制御部１０３が処理を行っている間の中間的なデータは、ＲＡＭ１０５に記憶される。
【００３７】
この実施の形態にかかるビデオゲームでは、ゲーム空間となる仮想３次元空間に複数の３次元オブジェクトが存在し、これらのオブジェクトを仮想カメラにより透視変換した画像がゲームの画像として表示装置１２１の表示画面１２２に表示される。仮想３次元空間に存在するオブジェクトとしては、プレイヤの入力部１６１からの入力により動作させられるプレイヤキャラクタ、プレイヤキャラクタ以外のキャラクタであるノンプレイヤキャラクタ（敵キャラクタなど。制御部１０３により動作させられる）などが含まれ、それらが、バトルを行うことでゲームが進行するものである。バトルでは、互いに攻撃し合い、どちらかが戦闘不能となるまで続けられるものとなる。また、プレイヤキャラクタは敵キャラクタからの攻撃により負傷することがあり、それによって動作の不自由を強いられることもある。
【００３８】
そして、そのプレイヤキャラクタの動作は、プレイヤキャラクタはプレイヤの入力部１６１からの入力により、モデリングされた動作を実行することになる。この動作のモデリングでは、その一連の動作を形作る当該プレイヤキャラクタの各時点での形状において、プレイヤキャラクタの各四肢部の形状が、その四肢部毎においてモデリングされるものとなっている。以下、プレイヤキャラクタの動作のモデリングにおける、四肢部の形状のモデリングについて説明する。
【００３９】
まず、形状のモデリングの対象となる四肢部とは、当該プレイヤキャラクタのスケルトンモデルにおいて、上腕と下腕、或いは腿と脛といった２本の骨格からなる部位である。そして、プレイヤキャラクタの当該四肢部の形状のモデリングの手順は、まず、四肢部毎に定義される固定された部位（例えば、腕部なら肩、脚部なら股など。以下、固定部とする）を中心とした先端部（例えば、腕部なら手首、脚部なら足首など。以下、先端部とする）の到達範囲内から、当該先端部の位置を決定する。
【００４０】
そして、その四肢部の中間の関節部（腕部なら肘、脚部なら膝。以下、中間部とする）の位置を、固定部と先端部とを結んだ軸を中心とした回転角（ひねり角度）を中間部の可動範囲内から決定するものとなっている。以下、四肢部のモデリングの手順について、右腕部を例にして詳細に説明する。
【００４１】
図２は、スケルトンモデルと共に、当該スケルトンモデル右腕部における右手首（先端部）の到達範囲を示すものである。図示するように、右腕部においては、肩部（固定部）を中心として先端部の到達範囲が定義されている。このような、四肢部の先端部の到達範囲は各四肢部毎に同様に定義されている。右腕部のモデリングの手順としては、まずこの先端部の到達範囲内において、先端部の位置が決定されることとなる。このとき、先端部の位置が到達範囲内に設定されれば、その位置で先端部の位置が決定されるが、到達範囲外に設定されたときは、その位置から最も近い距離にある到達範囲に、その先端部の位置が修正されて決定されるものとなる。
【００４２】
先端部の位置が決定されると、右腕部において、固定部と位置の定められた先端部とから上腕と下腕とから作る肘部(中間部）の関節角の形状が定まる。続いて、先端部、或いは固定部を中心とした中間部の回転角、詳細には、先端部と固定部を直線で結んだ軸を中心とした中間部の回転角の範囲から、その中間部の位置が決定されるものとなる。
【００４３】
図３は、図２に示したスケルトンモデルの右腕部、および固定部と先端部とを直線で結んだ軸を中心とした中間部の回転を示したものである。図示するように、両端部の位置が決定されていると、中間部の位置が、その軸に対して中間部から引いた垂線と軸との交点Ｐを中心とした円周上のみから決定されるものとなる。そして、この円周上に定められる中間部の位置は、その先端部の位置に応じた回転角の範囲内において、当該先端部の位置から従来の手法（例えば、逆運動学など。詳細な説明は省略する）を用いて決定されることになる。
【００４４】
ここで、中間部の回転角を決定するとき、その回転方向は軸の先端部を進行方向とした右ねじ方向への回転を正とする。そして、軸と右腕部（上腕、下腕の各辺）で作る平面が、右腕部に定義されるローカル座標（ｘ，ｙ，ｚ）のｚ軸と平行となるような中間部の位置を、その中間部の回転角が０となる基準点とし、その中間部の回転角の可動範囲が定められるものとする。なお、中間部の回転の基準点の定義に関しては、これに限るものではなく、その基準点に対して、可動範囲が特定されるものであればよい。
【００４５】
次に、この先端部の位置に応じた可動範囲について説明する。図４（ａ）は、図示する肩部を右腕部に定義されるローカル座標（ｘ，ｙ，ｚ）の中心（０，０，０）として、格子状に定められた、先端部が到達位置の一部を示すものである。この格子状に定められた先端部の到達位置には、中間部の可動範囲が定義されている。そして、図４（ｂ）は、ＲＡＭ１０５に記憶されるその先端部の到達位置毎の中間部の可動範囲を示すものである。
【００４６】
図４（ａ）に示すように、中間部の可動範囲が定義されている先端部が到達可能な位置（黒丸）は、右腕部の固定部（肩：ローカル座標（０，０，０））を中心としたローカル３次元座標において格子状に定められている。そして、到達不可能な位置の座標においては、中間部の可動範囲が定義された位置は定められていない。
【００４７】
そして、図４（ｂ）に示すように、ＲＡＭ１０５において、図４（ａ）に示した各位置座標において定義される中間部の可動範囲が記憶されている。実際に、先端部がこの中間部の可動範囲が定義された座標に位置するときには、その可動範囲内で中間部の位置が決定されるものとなる。このとき、中間部の位置が可動範囲内に設定されれば、その位置で中間部の位置が決定されるが、可動範囲外に設定されたときは、その位置から最も近い可動範囲に、その中間部の位置が修正されて決定されるものとなる。
【００４８】
これに基づいて、先端部の座標位置が（０，１，０）と決定し、続いて、中間部の可動範囲が０〜３５（ｄｅｇ）の範囲で決定されることにより、右腕部の形状が決定されることになる。このように、右腕部の形状は、手首の到達可能範囲における位置である３変数と、肘の回転角である１変数の計４変数からモデリングされるものとなっている。
【００４９】
なお、先端部の位置が、先端部の到達範囲内であって、この中間部の可動範囲が定義された座標に位置しない場合には、その先端部の位置からの距離が最も近い、当該座標に定義された中間部の可動範囲内が、その先端部の位置における中間部の可動範囲として決定されるものとなる。
【００５０】
また、プレイヤキャラクタは、ゲームの進行過程において敵キャラクタのバトルを経て負傷する場合があり、そのようなプレイヤキャラクタにさせる動作のモデリングは、その負傷が反映されたものとなるように行う。このような負傷がプレイヤキャラクタの右上腕部に対して生じた場合における、右腕部の動作のモデリングに係るスケルトンモデルの右手首の到達範囲を図５（ａ）に、肘部の可動範囲を図５（ｂ）に示す。
【００５１】
プレイヤキャラクタの右上腕部に負傷が生じた場合には、図示するように、右手首の到達範囲は、図２に示す到達範囲よりも小さく設定されている。そして、図５（ｂ）に示す、右上腕部に負傷が生じた場合における中間部の可動範囲は、図４（ｂ）に示した通常時の中間部の可動範囲よりも、狭く設定されている。これは、実際の人間であっても負傷することで行動の不自由が生ずることと同様に、プレイヤキャラクタの右上腕部の負傷により、四肢部がモデリングできる動作の範囲が狭められたものとなっている。
【００５２】
次に、ビデオゲーム装置１００における処理について説明する。図６は、このビデオゲーム装置１００において実行される四肢部のモデリング処理を示すフローチャートである。まず、この四肢部のモデリング処理では、制御部１０３は、プレイヤキャラクタが四肢部において負傷しているか否かの判定を行う（ステップＳ１０１）。負傷していると判定されれば、制御部１０３は、先端部の到達範囲、および中間部の可動範囲について、プレイヤキャラクタの負傷時に適用される、到達範囲および可動範囲を設定する（ステップＳ１０２）。
【００５３】
ステップＳ１０１において、負傷していないと判定され、またはステップＳ１０２において、負傷時に適用される到達範囲および可動範囲が設定されると、続いて、制御部１０３は、プレイヤの入力部１６１の操作に応じて先端部の位置を設定する（ステップＳ１０３）。先端部の位置が設定されると、設定された位置が、先端部の到達範囲内にあるか否かの判定を行う（ステップＳ１０４）。到達範囲内にないと判定されれば、制御部１０３は、先端部の位置を、その位置から最も近い到達範囲内に修正して設定する（ステップＳ１０５）。
【００５４】
ステップＳ１０４において、先端部の位置が到達範囲内にあると判定され、またはステップＳ１０５において、先端部の位置が修正して設定されると、続いて、制御部１０３は、当該設定された位置において先端部の位置を決定する（ステップＳ１０６）。先端部の位置が決定されると、制御部１０３は、プレイヤの入力部１６１の操作に応じ、逆運動学などの従来の手法を用いて中間部の位置を設定する（ステップＳ１０７）。中間部の位置が設定されると、設定された位置が、中間部の可動範囲内にあるか否かの判定を行う（ステップＳ１０８）。
【００５５】
可動範囲内にないと判定されれば、制御部１０３は、中間部の位置を、その位置から最も近い可動範囲内に修正して設定する（ステップＳ１０９）。ステップＳ１０８において、中間部の位置が可動範囲内にあると判定され、またはステップＳ１０９において、中間部の位置が修正して設定されると、続いて、制御部１０３は、当該設定された位置において中間部の位置を決定する（ステップＳ１１０）。
【００５６】
以上説明したように、この実施の形態では、プレイヤキャラクタの動作のモデリングにおいて、まず、四肢部について、その固定部を基準として、先端部の位置を決定する。先端部の位置が決定されると、その先端部の位置に応じて定義されている中間部の可動範囲内において中間部の位置が決定される。つまり、四肢部において、固定部を基準として先端部の位置が決定されると、中間部の関節角度が決定され、固定部と先端部を結ぶ軸を中心として中間部の回転角度を、先端部の位置に応じた可動範囲内において決定することで、その四肢部の動作のモデリングをすることができる。
【００５７】
これによって、プレイヤキャラクタの四肢部において屈伸動作をする肘や膝などの関節が、その四肢部の手首や足首などの位置において、不自然に曲がってしまうことを防ぐことができ、そのプレイヤキャラクタの四肢部の動作において違和感のないモデリングができるようになる。また、その四肢部の動作のモデリングにおいて、先端部の位置に係る情報と、中間部の回転角度に係る情報だけで、その四肢部の形状を決定することができるので、より少ない情報で動作のモデリングを行うことができる。このようにモデリングに要する情報を少なくすることで、ゲームの進行に合わせたリアルタイム処理において有利である。
【００５８】
また、先端部の位置は、到達範囲内において決定され、その到達範囲内の位置に応じた中間部の可動範囲が定義されている。これによって、人型のプレイヤキャラクタであれば、その腕部や脚部における手首や足首の位置が現実的に到達可能な範囲で決定することができ、さらに、その位置に応じて、関節が不自然に曲がるような動作のモデリングを防ぐことができるようになり、このような人型のキャラクタに対してより自然な人の動作をモデリングできるようになる。
【００５９】
また、プレイヤキャラクタは、敵キャラクタとのバトルにおいて負傷した場合には、その負傷によって、先端部の到達範囲、および中間部の可動範囲が通常時より狭められることになる。これによって、プレイヤキャラクタに対して、そのゲームの状況に応じた自然な動作のモデリングをすることができる。
【００６０】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【００６１】
上記の実施の形態では、プレイヤキャラクタの四肢部の長さについては特に言及しなかったが、プレイヤキャラクタの動作のモデリングをする過程において、四肢部の長さが変化するものであってもよい。この場合において、四肢部の長さが、固定部から中間部、中間部から先端部のそれぞれの長さの比率を一定に保ちながら変化させてもよいし、またはその比率も変わるように、四肢部の長さを変化させてもよい。プレイヤキャラクタが全体的に拡大・縮小される場合も、このように固定部から中間部、中間部から先端部のそれぞれの長さの比率を一定に保ちながら四肢部の長さが変化される。
【００６２】
このように固定部から中間部、中間部から先端部のそれぞれの長さの比率が一定のまま四肢部（または、キャラクタ全体）が大きくなる場合において、先端部の到達範囲が広くなるような場合には、併せて図４（ａ）に示す中間部の可動範囲が定義された格子間の間隔を大きくするようにデータの補正を行う（四肢部が小さくなる場合は、格子間の間隔を小さくするようにデータの補正を行う）。例えば、プレイヤキャラクタの大きさが２倍になって四肢部の長さも２倍になる場合には、ローカル座標が（１，０，２）である格子の点のローカル座標は、（２，０，４）に補正される。
【００６３】
このような補正を行うことで、当初の大きさではプレイヤキャラクタの四肢部の位置（先端部及び中間部）を全く決定しないまま、先にプレイヤキャラクタを拡大・縮小させるなど四肢部の長さを変化させる。そして、四肢部の長さが変化させられたプレイヤキャラクタについて、四肢の先端部の位置を決定する（決定される各先端部の位置は、障害物に衝突したりして存在し得ない位置とはならない）。その後に、上記の補正されたデータを用いて、四肢の中間部の位置を決定する。
【００６４】
なお、四肢部の長さが変化することで、先端部の所定の位置における中間部の可動範囲が変化する場合に、その中間部位置が可動範囲外に存在しうるようになったときには、上記の実施の形態と同様に、その中間部の位置を最も近い可動範囲の位置に修正するようにしてもよい。
【００６５】
この変形例では、補正されたデータを適用して、先に四肢部の長さを変化させて、先端部の位置、および第２関節の位置を決定するものとしている。四肢部の長さを変化させる前に先端部の位置、および中間部の位置を決定した（決定された位置は、肢体の長さが変化される前では存在できる位置）後にそのままプレイヤキャラクタを拡大させるなどして四肢部の長さを変化させるのでは、長さが変化された後の四肢部では障害物に衝突する位置などの先端部が存在できない位置に存在してしまうことがある。中間部が存在できない位置に存在してしまうこともある。このような場合は、改めて先端部の位置や中間部の位置を決定し直さなければならない。
【００６６】
一方、この変形例のように格子間のデータを補正し、補正したデータを適用できるようにすることで、プレイヤキャラクタを拡大・縮小させるなど四肢部の長さの変化を確定させてから、変化された長さで四肢部のそれぞれにおける先端部及び中間部の位置を決定できる。このため、四肢部のそれぞれにおける先端部及び中間部の位置を何度も決定し直すことなく一度で決定できるようになり、処理負荷を小さくすることができる。また、格子間のデータの補正が必要となっても、その処理負荷は極小さくて済むので、先端部及び中間部の位置を一旦決めてから四肢部の長さを変化させる場合に生じ得る処理負荷に比べれば、大した問題とはならない。
【００６７】
また、四肢部の長さを変化させる場合には、上記の実施の形態において説明した、図４（ａ）に示した各位置座標において定義される中間部の可動範囲のデータは、その長さの変化に応じた複数の可動範囲のデータを記憶しているものとして、四肢部の長さが変化する場合には、その長さの変化に応じて中間部の可動範囲を変化させるようにすることができる。
【００６８】
これは、プレイヤキャラクタが全体的に拡大・縮小される場合のように、固定部から中間部、中間部から先端部のそれぞれの長さの比率を一定に保ちながら四肢部の長さが変化されるものであっても、固定部から中間部、中間部から先端部のそれぞれの長さの比率が変わるものであってもよい。さらに、全体としては四肢部の長さが変わらなくても、固定部から中間部、中間部から先端部のそれぞれの長さの比率が変わる場合には、四肢部の長さが変化するものとして、この例に含められる。
【００６９】
このようにすることで、ゲームの進行において、常に同じ形状のキャラクタのみを動作させるだけではなく、様々な形状に変化させることができるようになり、その変化後のキャラクタに対してもその四肢部の大きさ、形状に合わせた適正な動作のモデリングが可能となる。また、プレイヤキャラクタに自然な動作をさせながらも、様々な形状にプレイヤキャラクタを変化させることができるので、プレイヤはゲームとしての興趣が得られるようになる。例えば、プレイヤキャラクタの手だけが伸びて敵キャラクタを攻撃できるような場合に、手が伸びるほど肘の可動範囲が小さくなるような様子をモデリングできる。
【００７０】
なお、四肢部の長さが、固定部から中間部、中間部から先端部のそれぞれの長さの比率が一定の場合と変わる場合とでは、その四肢部自体の長さが同じであっても、その先端部の到達範囲が異なるものとしてもよい。これは、例えば、上記の実施の形態において図２のスケルトンモデルで示した右腕の手首の到達範囲であれば、固定部から中間部、中間部から先端部のそれぞれの長さの比率が一定の場合には、全体としてその到達範囲が広くなるのに対し、比率が変わる場合には、スケルトンモデルの背面側の到達範囲が広くなるような到達範囲の変化があってもよい。
【００７１】
この手法により、本発明において四肢部の動作をモデリングするキャラクタには、胴体に対して四肢部だけの大きさ、形状が変化するような仮想的なキャラクタ、例えば、極端に腕部の長いキャラクタを用いるものとすることができ、そのキャラクタの胴体と四肢部とに合わせた、適切な四肢部の先端部の到達範囲、および中間部の可動範囲を設定することができる。これによって、例えば、一部に極端な大きさの四肢部、あるいは四肢部の中でも固定部から中間部、中間部から先端部の比率が変化の前後で変わる四肢部を有する仮想的なキャラクタであっても、その四肢部の大きさ、形状に合わせた適正な動作のモデリングが可能となる。
【００７２】
また、四肢部（または、キャラクタ全体）の大きさ、形状を変化させたときには、それが大きく変化する場合には、一般的に動作が鈍くなるものであり、結果として四肢部の先端部の到達範囲、および中間部の可動範囲が狭くなるように定義してもよい。一方、小さく変化する場合には、一般的に動作が素早くなるものであり、結果として四肢部の先端部の到達範囲、および中間部の可動範囲が広くなるように定義するようにしてもよい。
【００７３】
上記の実施の形態では、四肢部の動作のモデリングについて、人型のプレイヤキャラクタの腕部や脚部といった、関節が１つの場合の四肢部の動作のモデリングを例に示したが、関節が２つ以上ある場合であっても、その関節角の形状の組合せとして中間部の可動範囲を定義し、上記の実施の形態を適用するものとしてもよい。
【００７４】
上記の実施の形態では、右上腕部が負傷した場合について、先端部の到達範囲、および中間部の可動範囲が狭まる場合の例を１つ示したが、このように負傷した場合の先端部の到達範囲、および中間部の可動範囲の狭まる範囲は、負傷の程度に応じて変化するものであってもよい。例えば、負傷の程度が軽い場合の先端部の到達範囲、および中間部の可動範囲に対して、負傷の程度が重い場合の先端部の到達範囲、および中間部の可動範囲は、より狭められるように定義してもよい。こうすることで、プレイヤは自らが動作させるプレイヤキャラクタの動作に対する現実味を得られるものとなる。
【００７５】
また、先端部の到達範囲、および中間部の可動範囲が変化するようなゲームの状況は、プレイヤキャラクタが負傷した場合に限らず、例えば、プレイヤキャラクタが武器や防具を装備できる場合において、その武器や防具の種類が変化するというものでもよい。さらに詳細に説明すると、重い武器や防具を装備する場合には、先端部の到達範囲、および中間部の可動範囲がより狭く定義され、反対に、軽い武器や防具を装備する場合には、先端部の到達範囲、および中間部の可動範囲が広く定義されるようにするなどである。
【００７６】
また、同様に、プレイヤキャラクタに各種ステータスを設定している場合には、例えば、そのステータスの示す状態が、毒に犯されている状態や麻痺の状態であるとき、先端部の到達範囲、および中間部の可動範囲はより狭く定義されるものとしてもよい。また、ステータスにおいて、プレイヤキャラクタの気分や気持ちの状態を示す場合に、気分や気持ちが落ち込んでいる状態のときは、先端部の到達範囲、および中間部の可動範囲はより狭く定義され、反対に、気分や気持ちが上昇している状態のときは、先端部の到達範囲、および中間部の可動範囲が広く定義されるものとしてもよい。
【００７７】
また、プレイヤキャラクタを動作させる仮想３次元空間における状況が、プレイヤキャラクタの行動に影響を及ぼすようなものである場合にも、先端部の到達範囲、および中間部の可動範囲が変化するようにしてもよい。例えば、仮想３次元空間における状況が、気温の寒い状況であるときには、先端部の到達範囲、および中間部の可動範囲はより狭く定義され、また、重力や、移動体に乗っているときに生じる荷重により先端部の到達範囲、および中間部の可動範囲はより狭く定義されるものとしてもよい。また、その仮想３次元空間における状況が水中である場合には、先端部の到達範囲、および中間部の可動範囲が変化されるものとしてもよい。
【００７８】
また、プレイヤキャラクタ自身の動作の状態において、先端部の到達範囲、および中間部の可動範囲が変化するようにしてもよい。例えば、プレイヤキャラクタが走っている状態のときの両腕の先端部の到達範囲、および中間部の可動範囲については、現実的にも、制限されるものであるため、その到達範囲、可動範囲が狭く定義されるものとしてもよい。また、例えば、両手首が縛られている場合に、一方の腕の動作は、他方の腕からの影響を受けることによって制限されることも考えられ、他方の腕の形状によっては、一方の中間部の可動範囲がより狭く定義されるものとしてもよい。
【００７９】
また、現実的な四肢部の動作においても、勢いよく動かせば、通常よりもより広い範囲に亘って四肢部を動作させることができるため、上記の実施の形態におけるプレイヤキャラクタにおいても、前の動作の速度に応じて、先端部の到達範囲、および中間部の可動範囲がより広くなるものとしてもよい。
【００８０】
上記の実施の形態では、右腕を例にして各四肢部に先端部の到達範囲、および中間部の可動範囲が定義されているものとしたが、これに限らず、四肢部においても両腕だけ、このような先端部の到達範囲、および中間部の可動範囲が定義されているものとしてもよい。
【００８１】
上記の実施の形態では、右腕を例にして、その右腕において、先端部の到達範囲、およびその先端部の位置に応じた中間部の可動範囲を定義し、他の四肢部についてはその四肢部毎に到達範囲、可動範囲を定義しているものとしていたが、両腕の片方の腕において先端部の到達範囲、中間部の可動範囲のデータが定義されていれば、その反転したデータを他方の腕に適用するものとしてもよい。これによって、それぞれの独立した到達範囲、可動範囲のデータを保持する必要はなく、情報量を軽減することができるようになる。また、このような情報量の軽減は、左右対称な四肢部を有するもの、例えば、他のほ乳類やは虫類、或いは昆虫などにおいても同様に適用することができる。
【００８２】
上記の実施の形態では、プレイヤキャラクタをモデルとして、そのモデリングの手順を示したが、ノンプレイヤキャラクタも同様に、その動作をモデリングするものとしてもよい。
【００８３】
上記の実施の形態では、胴体に対して四肢部、例えば、腕部、脚部などの動作のモデリングについて説明した。これは、例えば、両腕の動作範囲は、肩関節の位置が同じであれば、胴体の動き（捻りなど）による影響があまり見られないからである。一方、人間の足部（膝下）の動作範囲は、空間上で同じ場所に位置していても、腿部（膝上）の動きによって相当な影響を受けるので、通常であれば、膝の位置を基準としたつま先の位置や足首の角度のモデリングに、上記の実施の形態をそのままに適用することはできない。
【００８４】
もっとも、人間が椅子に座った姿勢だけを考えるならば腿部が固定されるので、足部の動作範囲に対して腿部の動きというものをほとんど無視することができる。そこで、例えば、人型のキャラクタが椅子に座っていることを前提とした上で足部の動作をモデリングする場合には、腿部を胴体、足部を胴体に結合される肢体と見立て、膝関節を上記の実施の形態における肩関節、つま先を上記の実施の形態における手首、足首を上記の実施の形態における肘といった具合に当て嵌め、上記の実施の形態と同様の手法によって、足部の動作をモデリングすることが可能となる。
【００８５】
上記の実施の形態では、プレイヤの操作およびゲーム進行に応じて、プレイヤキャラクタの四肢部の動作をモデリングするものとしていたが、予め、プレイヤの操作およびゲーム進行に応じたプレイヤキャラクタの動作をモデリングし、そのモデリングした動作をプレイヤの操作、およびゲーム進行に応じて実行するものであってもよい。
【００８６】
上記の実施の形態では、人型のプレイヤキャラクタの四肢部を例とした動作のモデリングを示したが、これに限らず、四肢部を有する、例えば、骨格を有する脊椎動物や、甲殻類など、動物全般をモデルとして動作のモデリングを行ってもよく、また、油圧ショベル、ロボットアームのような、無生物に対しても適用できる。
【００８７】
上記の実施の形態では、本発明にかかるキャラクタの動作に係るモデリングをビデオゲームでする場合に適用し、各プレイヤがゲームを進めるために用いる端末装置としてゲーム専用機であるビデオゲーム装置１００を適用していた。これに対して、本発明は、３次元コンピュータグラフィックスによるモデリングであれば、ビデオゲーム以外でキャラクタの動作に係るモデリングをする場合にも適用することができる。
【００８８】
また、本発明にかかる手法でモデリングの処理を行う装置は、ビデオゲーム装置１００と同様の構成要素を備えるものであれば、汎用のパーソナルコンピュータなどを適用してもよい。３次元コンピュータグラフィックスを処理できる能力があれば、表示装置１２１及びサウンド出力装置１２５を装置本体１０１と同一の筐体内に納めた構成を有する携帯ゲーム機（アプリケーションの実行機能を有する携帯電話機を含む）を適用するものとしてもよい。
【００８９】
記録媒体１３１としては、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭの代わりに半導体メモリーカードを適用することができる。このメモリーカードを挿入するためのカードスロットをＤＶＤ／ＣＤ−ＲＯＭドライブ１１３の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体１３１に格納して提供するのではなく、ＨＤＤ１０７に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
【００９０】
上記の実施の形態では、ビデオゲーム装置１００のプログラム及びデータは、記録媒体１３１に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク１５１上に存在するサーバ装置が有する固定ディスク装置に格納しておき、装置本体１０１にネットワーク１５１を介して配信するものとしてもよい。ビデオゲーム装置１００において、通信インターフェイス１１５がサーバ装置から受信したプログラム及びデータは、ＨＤＤ１０７に保存し、実行時にＲＡＭ１０５にロードすることができる。
【符号の説明】
【００９１】
１００  ビデオゲーム装置
１０１  ビデオゲーム装置本体
１０３  制御部
１０５  ＲＡＭ
１０７  ＨＤＤ
１０９  サウンド処理部
１１１  グラフィック処理部
１１２  フレームメモリ
１１３  ＤＶＤ／ＣＤ−ＲＯＭドライブ
１１５  通信インターフェイス
１１７  インターフェイス部
１１９  内部バス
１２１  表示装置
１２２  表示画面
１２５  サウンド出力装置
１３１  記録媒体
１５１  ネットワーク
１６１  入力部
１６２  メモリーカード
【図１】
0005118220.tif 000002
【図２】
0005118220.tif 000003
【図３】
0005118220.tif 000004
【図４】
0005118220.tif 000005
【図５】
0005118220.tif 000006
【図６】
0005118220.tif 000007