(57)【特許請求の範囲】
【請求項１】
複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成プログラムであって、コンピュータを、
各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
前記頂点の座標、前記移動量及び前記移動方向から所定時間後の頂点の座標を求める座標算出手段として機能させることを特徴とする動画像生成プログラム。
【請求項２】
前記移動量算出手段は、前記基準移動量について前記結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求め、この最大移動量を用いて移動量を求めることを特徴とする請求項１に記載の動画像生成プログラム。
【請求項３】
前記移動量算出手段は、モデルの大きさに基づいて前記最大移動量を修正することを特徴とする請求項２に記載の動画像生成プログラム。
【請求項４】
前記移動量算出手段は、前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする請求項２または３に記載の動画像生成プログラム。
【請求項５】
前記移動量算出手段は、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする請求項４に記載の動画像生成プログラム。
【請求項６】
前記方向算出手段は、３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする請求項１〜５のいずれかに記載の動画像生成プログラム。
【請求項７】
前記方向算出手段は、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする請求項６に記載の動画像生成プログラム。
【請求項８】
複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成方法であって、コンピュータが、
前記コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とを格納しており、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出処理と、
各ポリゴンを構成する頂点の移動方向を求める方向算出処理と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出処理とを実行することを特徴とする動画像生成方法。
【請求項９】
複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成装置であって、
各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出手段とを備えることを特徴とする動画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオゲームやコンピュータグラフィックス等に適用でき、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成技術に関するものである。
【０００２】
【従来の技術】
近年、オブジェクト（又はキャラクタ）をモニタ画面内に作成される仮想３次元空間上に表示するような種々のゲーム装置が普及している。かかるゲーム装置として、スキー、サーフィン、スケートボード、スノーボード等を模擬したものが知られている。これらのゲームにおいては、仮想３次元空間内をオブジェクトが移動するため、オブジェクトの表面（例えば、キャラクタの着ている衣服）が風を受けて揺動するような動画像を表示することによって、臨場感を高めることができる。
【０００３】
従来は、典型的な場面に応じたオブジェクトの表面の揺動を予めモーションデータとして記憶しておき、ゲームの展開に応じて表示される場面が上記の典型的な場面のいずれに属するかを判定して、対応するモーションデータを読み出して表示していた。
【０００４】
【発明が解決しようとする課題】
しかし、上記の方法では、記憶するモーションデータの個数に限界があるために、充分に臨場感のあるオブジェクトの表面の揺動を表現することに限界があった。一方、単純にオブジェクトの表面を一定の振幅で不規則に（周期あるいは位置を不規則に）振動させる方法も考えられるが、この方法では、オブジェクトの表面の動きが不自然となり、充分に臨場感のあるオブジェクトの表面の動きを表現することは困難である。
【０００５】
本発明は、上記の課題に鑑みてなされたもので、臨場感のあるオブジェクトの表面の揺動を表現することの可能な動画像生成プログラム、動画像生成方法及び装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
請求項１に記載の本発明は、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成プログラムであって、コンピュータを、
各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出手段として機能させることを特徴とする動画像生成プログラムである。
【０００７】
請求項１に記載の本発明に従えば、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する（移動の大きさ、向きが不規則に変化する）動画像を生成する動画像生成プログラムであって、コンピュータを、各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、結合度と基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標を求める座標算出手段として機能させる。
【０００８】
すなわち、頂点座標記憶手段に、各ポリゴンを構成する頂点の座標が格納され、結合度記憶手段に、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度が格納され、基準移動量記憶手段に、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量が格納されており、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められ、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められる。
【０００９】
このようにして、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する（適切な）移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる（例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い）ようになり、臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【００１０】
請求項２に記載の本発明は、前記移動量算出手段が、前記基準移動量について前記結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求め、この最大移動量を用いて移動量を求めることを特徴とする。
【００１１】
請求項２に記載の本発明に従えば、移動量算出手段は、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求め、この最大移動量を用いて移動量を求める。
【００１２】
すなわち、移動量算出手段によって、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量が求められ、この最大移動量を用いて移動量が求められる。
【００１３】
このようにして、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量が求められるため、所望する（適切な）最大移動量が容易に求められる。また、この最大移動量を用いて移動量が求められるため、所望する（適切な）移動量が容易に求められる。
【００１４】
請求項３に記載の本発明は、前記移動量算出手段が、モデルの大きさに基づいて前記最大移動量を修正することを特徴とする。
【００１５】
請求項３に記載の本発明に従えば、移動量算出手段は、モデルの大きさに基づいて最大移動量を修正する。
【００１６】
すなわち、移動量算出手段によって、モデルの大きさに基づいて最大移動量が修正される。
【００１７】
このようにして、移動量算出手段によって、モデルの大きさに基づいて最大移動量が修正されるため、例えば、モデルの大きさに比例して最大移動量を修正することによって、揺動の大きさがモデルの大きさに比例することとなり、更に臨場感のある揺動を表現することが可能となる。
【００１８】
請求項４に記載の本発明は、前記移動量算出手段が、前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする。
【００１９】
請求項４に記載の本発明に従えば、移動量算出手段は、最大移動量の範囲内の乱数（値の範囲が０以上で最大移動量の値以下の乱数）を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする。
【００２０】
すなわち、移動量算出手段によって、最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められる。
【００２１】
このようにして、最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、適切な範囲内で不規則に（周期性を持たずに）大きさの変化する移動量が容易に求められ、自然な揺動を表現することが可能となる。
【００２２】
請求項５に記載の本発明は、前記移動量算出手段が、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする。
【００２３】
請求項５に記載の本発明に従えば、移動量算出手段は、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数（値の範囲が０以上で最大移動量の値以下の乱数）を発生させ、発生された乱数値に基づいて移動量を求める。
【００２４】
すなわち、移動量算出手段によって、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められる。
【００２５】
このようにして、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動量も略一致する（座標が略一致する頂点の最大移動量は略一致するため）。従って、隣接するポリゴン間に段差（あるいは段差（あるいは隙間））の無い動画像が生成され、自然な揺動を表現することが可能となる。
【００２６】
請求項６に記載の本発明は、前記方向算出手段が、３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする。
【００２７】
請求項６に記載の本発明に従えば、方向算出手段は、３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求める。
【００２８】
すなわち、方向算出手段によって、３個の乱数が発生され、発生された乱数値に基づいて移動方向が求められる。
【００２９】
このようにして、３個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、例えば、この３個の乱数の値をＸ、Ｙ、Ｚ成分とするベクトルの方向を移動方向とすることによって、不規則に（周期性を持たずに）向きの変化する移動方向が容易に求められ、自然な揺動を表現することが可能となる。
【００３０】
請求項７に記載の本発明は、前記方向算出手段が、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする。
【００３１】
請求項７に記載の本発明に従えば、方向算出手段は、頂点の座標に基づいて値が定まる乱数の初期値を元にして３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求める。
【００３２】
すなわち、方向算出手段によって、頂点の座標に基づいて値が定まる乱数の初期値を元にして３個の乱数が発生され、発生された乱数値に基づいて移動方向が求められる。
【００３３】
このようにして、頂点の座標に基づいて値が定まる乱数の初期値を元にして３個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動方向も略一致する。従って、隣接するポリゴン間に段差（あるいは隙間）の無い動画像が生成され、自然な揺動を表現することが可能となる。
【００３４】
請求項８に記載の本発明は、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成方法であって、コンピュータが、
前記コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とを格納しており、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出処理と、
各ポリゴンを構成する頂点の移動方向を求める方向算出処理と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出処理とを実行することを特徴とする動画像生成方法である。
【００３５】
請求項８に記載の本発明に従えば、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する（移動の大きさ、向きが不規則に変化する）動画像を生成する動画像生成方法であって、コンピュータが、コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とを格納しており、結合度と基準移動量とに基づいて頂点の移動量を求める移動量算出処理と、各ポリゴンを構成する頂点の移動方向を求める方向算出処理と、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標を求める座標算出処理とを実行する。
【００３６】
すなわち、コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とが格納されており、移動量算出処理において結合度と基準移動量とに基づいて頂点の移動量が求められ、方向算出処理において各ポリゴンを構成する頂点の移動方向を求められ、座標算出処理において、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められる。
【００３７】
このようにして、移動量算出処理において、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する（適切な）移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる（例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い）ようになり、更に臨場感が高められる。更に、方向算出処理において、各ポリゴンを構成する頂点の移動方向が求められ、座標算出処理において、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【００３８】
請求項９に記載の本発明は、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成装置であって、
各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出手段とを備えることを特徴とする動画像生成装置である。
【００３９】
請求項９に記載の本発明に従えば、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する（移動の大きさ、向きが不規則に変化する）動画像を生成する動画像生成装置であって、各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、結合度と基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標を求める座標算出手段とを備える動画像生成装置である。
【００４０】
すなわち、頂点座標記憶手段に、各ポリゴンを構成する頂点の座標が格納され、結合度記憶手段に、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度が格納され、基準移動量記憶手段に、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量が格納されており、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められ、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められる。
【００４１】
このようにして、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する（適切な）移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる（例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い）ようになり、更に臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【００４２】
【発明の実施の形態】
図１は、本発明の動画像生成装置が適用されるビデオゲーム装置の一実施形態を示すブロック構成図である。このビデオゲーム装置は、ゲーム機本体１００と、プログラムデータが記録された記録媒体２００とを備えている。ゲーム機本体１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１と、ＣＰＵ１に接続されたアドレスバス、データバス、コントロールバスからなるバスライン２と、グラフィックスデータ生成プロセッサ３とを備えている。
【００４３】
バスライン２には、インターフェース回路４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなるメインメモリ５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２、インターフェース回路１３が接続されている。描画プロセッサ１０には、バッファ２１が接続されると共に、テレビジョンモニタ（以下、「モニタ」という。）２２が接続され、音声プロセッサ１１には、バッファ２３が接続されると共に、増幅回路２４を介してスピーカ２５が接続されている。また、デコーダ１２には、バッファ２６が接続されると共に、記録媒体ドライバ２７が接続され、インターフェース回路１３には、メモリ２８が接続されると共に、コントローラ２９が接続されている。
【００４４】
このビデオゲーム装置は、用途に応じてその形態が異なる。例えば、このビデオゲーム装置が家庭用として構成されている場合においては、モニタ２２及びスピーカ２５はゲーム機本体１００とは別体となる。一方、このビデオゲーム装置が業務用として構成されている場合においては、図１に示す構成要素はすべて１つの筺体に収納される。また、このビデオゲーム装置がパーソナルコンピュータやワークステーションを核として構成されている場合においては、モニタ２２は、コンピュータ用のディスプレイに対応し、描画プロセッサ１０、音声プロセッサ１１、伸張回路７は、それぞれ記録媒体２００に記録されているプログラムデータの一部またはコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応し、インターフェース回路４、パラレルポート８、シリアルポート９及びインターフェース回路１３は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ２１，２３，２６は、それぞれメインメモリ５または拡張メモリ（図示省略）の各エリアに対応する。なお、本実施形態では、このビデオゲーム装置が家庭用として構成されている場合を例にして説明する。
【００４５】
次に、図１に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ３は、ＣＰＵ１のいわばコプロセッサとしての役割を果たす。すなわち、このグラフィックスデータ生成プロセッサ３は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を、並列処理により行う。このグラフィックスデータ生成プロセッサ３が行う主な処理としては、ＣＰＵ１から供給される画像データの２次元または３次元空間内における各頂点の座標データと、移動量データと、回転量データとに基づいて、処理対象画像の表示エリア上におけるアドレスを求め、当該アドレスデータを、再びＣＰＵ１に返す処理や、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
【００４６】
インターフェース回路４は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用である。ＲＯＭ６には、ビデオゲーム装置のオペレーティングシステムとしてのプログラムデータが記憶されている。パーソナルコンピュータで言えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）に相当する。
【００４７】
伸張回路７は、動画に対するＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｇｒｏｕｐ）や静止画に対するＪＰＥＧ（Ｊｏｉｎｔ  Ｐｉｃｔｕｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｇｒｏｕｐ）に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理が施される。伸張処理は、デコード処理（ＶＬＣ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅによりエンコードされたデータのデコード）、逆量子化処理、ＩＤＣＴ（Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）処理、イントラ画像の復元処理等である。描画プロセッサ１０は、所定時間Ｔ（１フレーム、例えばＴ＝１／６０秒）ごとに、ＣＰＵ１による表示命令に基づいて、バッファ２１に対する表示処理を行う。
【００４８】
バッファ２１は、例えばＲＡＭからなり、表示エリア（フレームバッファ）と非表示エリアとからなる。表示エリアは、モニタ２２の表示面上に表示するデータの展開エリアからなる。本実施形態においては、非表示エリアは、スケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメデータ及び各アニメの内容を示すパターンデータの他、テクスチャデータやカラーパレットデータ等の記憶エリアからなる。
【００４９】
ここで、テクスチャデータは、２次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。これらのデータは、記録媒体２００から一度に、またはゲームの進行状況に合致して複数回に分けて、ＣＰＵ１により予めバッファ２１の非表示エリアに記録される。表示命令としては、ポリゴンを用いて立体的な画像を表示するための表示命令と、通常の２次元画像を表示するための表示命令とがある。ここで、ポリゴンは、多角形の２次元仮想図形であり、本実施形態においては三角形が用いられる。ポリゴンを用いて立体的な画像を表示するための表示命令は、バッファ２１の表示エリア上におけるポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャデータのバッファ２１上における記憶位置を示すテクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ２１上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【００５０】
これらのデータのうち、表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの３次元空間上におけるポリゴン頂点の座標データを、画面自体の移動量データ及び回転量データに基づいて座標変換することによって２次元上でのポリゴン頂点の座標データに置換されたものである。また、輝度データは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの上記座標変換後のポリゴン頂点の座標データが示す位置から、仮想的に配置された光源間での距離に基づいて決定される。上記ポリゴン頂点アドレスデータは、バッファ２１の表示エリア上のアドレスを示し、描画プロセッサ１０は、３個のポリゴン頂点アドレスデータで示されるバッファ２１の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【００５１】
仮想ゲーム空間内におけるキャラクタ等の物体は多数のポリゴンで構成される。ＣＰＵ１は、各ポリゴンの３次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ２１に記憶する。そして、後述するコントローラ２９の操作により、表示面上でキャラクタを移動させる場合、言い換えれば、キャラクタそのものの動きを表現する場合またはキャラクタを見ている視点位置を変える場合、次のような処理が行われる。
【００５２】
すなわち、ＣＰＵ１は、グラフィックスデータ生成プロセッサ３に対し、バッファ２１の非表示エリア内に保持している各ポリゴンの頂点の３次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データを与える。グラフィックスデータ生成プロセッサ３は、各ポリゴンの頂点の３次元座標データと、各ポリゴンの移動量データ及び回転量データとに基づいて、順次、各ポリゴンの移動後及び回転後の３次元座標データを求める。このようにして求められた各ポリゴンの３次元座標データのうち、水平及び垂直方向の座標データが、バッファ２１の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして、描画プロセッサ１０に供給される。描画プロセッサ１０は、３個のポリゴン頂点アドレスデータによって示されるバッファ２１の三角形の表示エリア上に、予め割り当てられているテクスチャアドレスデータが示すテクスチャデータを書き込む。これによって、モニタ２２の表示面上には、多数のポリゴンにテクスチャデータの貼り付けられた物体が表示される。
【００５３】
通常の２次元画像を表示するための表示命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ２１上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。これらのデータのうち、頂点アドレスデータは、グラフィックスデータ生成プロセッサ３がＣＰＵ１からの２次元平面上における頂点の座標データをＣＰＵ１からの移動量データ及び回転量データに基づいて、座標変換して得られる座標データである。
【００５４】
音声プロセッサ１１は、記録媒体２００から読み出されたＡＤＰＣＭ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データをバッファ２３に記憶し、このバッファ２３に記憶されたＡＤＰＣＭデータを音源とする。そして、音声プロセッサ１１は、ＡＤＰＣＭデータを例えば周波数４４．１ｋＨｚのクロック信号に基づき読み出す。そして、音声プロセッサ１１は、バッファ２３から読み出したＡＤＰＣＭデータに対し、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定、リバーブの付加等の処理を施す。
【００５５】
記録媒体２００から読み出される音声データがＣＤ−ＤＡ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｉｇｉｔａｌ  Ａｕｄｉｏ）等のＰＣＭデータの場合においては、音声プロセッサ１１によりＡＤＰＣＭデータに変換される。また、ＰＣＭデータに対するプログラムデータによる処理はメインメモリ５上において直接行われる。メインメモリ５上において処理されたＰＣＭデータは、音声プロセッサ１１に供給されてＡＤＰＣＭデータに変換された後に上述した各種処理が施され、その後に音声としてスピーカ２５から出力される。
【００５６】
記録媒体ドライバ２７は、例えばＣＤ−ＲＯＭドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等である。記録媒体２００は、例えばＣＤ−ＲＯＭ、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等である。記録媒体ドライバ２７は、記録媒体２００から画像、音声、プログラムデータを読み出し、読み出したデータをデコーダ１２に供給する。デコーダ１２は、記録媒体ドライバ２７からの再生データに対し、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）によるエラー訂正処理を施し、エラー訂正処理を施したデータを、メインメモリ５または音声プロセッサ１１に供給する。メモリ２８は、例えば、ホルダ及びカード型のメモリからなる。カード型のメモリは、例えばゲームの途中で中断した場合の中断時点での状態を保持する等のように、中断時点での各種ゲームパラメータを保持するためのものである。
【００５７】
コントローラ２９は、外部から操作可能な操作手段で、第１左ボタン２９Ｌ１、第２左ボタン２９Ｌ２、第１右ボタン２９Ｒ１、第２右ボタン２９Ｒ２、上方向キー２９Ｕ、下方向キー２９Ｄ、左方向キー２９Ｌ、右方向キー２９Ｒ、スタートボタン２９ａ、セレクトボタン２９ｂ、第１ボタン２９ｃ、第２ボタン２９ｄ、第３ボタン２９ｅ、第４ボタン２９ｆ、左スティック２９ＳＬ及び右スティック２９ＳＲを備え、プレイヤの操作に応じた操作信号をＣＰＵ１に送出するものである。上方向キー２９Ｕ、下方向キー２９Ｄ、左方向キー２９Ｌ、及び右方向キー２９Ｒは、プレイヤがＣＰＵ１に対し、例えばキャラクタやカーソルをモニタ２２の画面上で上下左右に移動させるコマンドを与えるものである。スタートボタン２９ａは、プレイヤが、記録媒体２００からロードされるゲームプログラムデータの開始をＣＰＵ１に指示するためのものである。セレクトボタン２９ｂは、プレイヤが、記録媒体２００からメインメモリ５にロードされるゲームプログラムデータに関する各種選択をＣＰＵ１に指示するためのものである。
【００５８】
コントローラ２９のうちで、左スティック２９ＳＬ及び右スティック２９ＳＲを除く各ボタン及び各キーは、外部からの押圧力により中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチからなる。左スティック２９ＳＬ及び右スティック２９ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。すなわち、直立したスティックを有し、このスティックの所定位置を支点として前後左右を含む３６０°方向に亘って傾倒可能な構成になっている。そして、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とする左右方向のｘ座標及び前後方向のｙ座標の値が、インターフェース回路１３を介して、操作信号としてＣＰＵ１に送出されるようになっている。なお、第１左ボタン２９Ｌ１、第２左ボタン２９Ｌ２、第１右ボタン２９Ｒ１及び第２右ボタン２９Ｒ２の機能は、記録媒体２００からロードされるゲームプログラムデータによって異なる。
【００５９】
次に、このビデオゲーム装置の概略動作について説明する。電源スイッチ（図示省略）がオンにされ、ビデオゲーム装置に電源が投入される。この時、記録媒体２００が記録媒体ドライバ２７に装填されていると、ＣＰＵ１が、ＲＯＭ６に記憶されているオペレーティングシステムに基づいて、記録媒体ドライバ２７に対し記録媒体２００からのプログラムデータの読み出しを指示する。これにより、記録媒体ドライバ２７は、記録媒体２００から画像、音声及びプログラムデータを読み出す。読み出された画像、音声及びプログラムデータは、デコーダ１２に供給され、ここで、エラー訂正処理が施される。
【００６０】
デコーダ１２においてエラー訂正処理が施された画像データは、バスライン２を介して伸張回路７に供給され、ここで、上述した伸張処理が施された後に、描画プロセッサ１０に供給され、この描画プロセッサ１０により、バッファ２１の非表示エリアに書き込まれる。また、デコーダ１２においてエラー訂正処理が施された音声データは、メインメモリ５に書き込まれるか、または音声プロセッサ１１に供給されてバッファ２３に書き込まれる。そして、デコーダ１２においてエラー訂正処理が施されたプログラムデータは、メインメモリ５に書き込まれる。以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラムデータ、及びプレイヤがコントローラ２９を介して指示する内容に基づいて、ゲームを進行する。すなわち、ＣＰＵ１は、コントローラ２９を介してプレイヤから指示される指示内容に基づいて、適宜、画像処理の制御、音声処理の制御、内部処理の制御を行う。
【００６１】
画像処理の制御として、本実施形態においては、例えば、キャラクタに指示されるアニメに該当するパターンデータから、各スケルトンの座標の計算及びポリゴンの頂点の座標データの計算、得られた３次元座標データや視点位置データのグラフィックスデータ生成プロセッサ３への供給、グラフィックスデータ生成プロセッサ３が求めたバッファ２１の表示エリア上のアドレスデータや輝度データを含む表示命令の発行等を行う。音声処理の制御として、例えば音声プロセッサ１１に対する音声出力コマンドの発行、レベル、リバーブ等の指定を行う。内部処理の制御として、例えば、コントローラ２９の操作に応じた演算等を行う。
【００６２】
図２は、動画像生成装置の機能ブロック図である。なお、本発明の動画像生成プログラムは、上述のゲームプログラムと同様に図１に示す記録媒体２００に記録されており、メインメモリ５上にロードされ、プレイヤがコントローラ２９を介して行う操作が受け付けられつつ、ＣＰＵ１によりメインメモリ５上の動画像生成プログラムが順次実行されることによって動画像生成装置が実現される。
【００６３】
動画像生成装置３００は、モデルの各ポリゴンを構成する頂点の座標を格納する頂点座標記憶部３０１と、モデルの各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶部３０２と、モデルの各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶部３０３と、結合度記憶部３０２に格納された結合度と基準移動量記憶部３０３に格納された基準移動量とに基づいて頂点の移動量を求める移動量算出部３１０と、各ポリゴンを構成する頂点の移動方向を求める方向算出部３１１と、頂点座標記憶部３０１に格納された頂点の座標と移動量算出部３１０によって求められた移動量と方向算出部３１１によって求められた移動方向とから所定時間（例えば１フレーム、ここで１フレーム＝１／６０秒）後の頂点の座標を求める座標算出部３１２とを備えている。なお、本実施形態では、人体の上半身を表わすスケルトンに結合された上着モデルの表面が不規則に揺動する（移動の大きさ、向きが不規則に変化する）動画像を生成する場合について説明する。
【００６４】
頂点座標記憶部３０１は、モデルの各ポリゴンを構成する頂点の初期の座標データと座標算出部３１２によって求められた所定時間後（移動後）の座標データとを格納するものである。本実施形態においては、ポリゴンが三角形である場合について説明するため、各ポリゴンはそれぞれ３個の頂点から構成されている。図３は、ポリゴンと頂点との関係を示す概念図である。（ａ）は、同一座標の頂点が、１の頂点として扱われる場合（通常の場合）であり、（ｂ）は、一部の頂点が、同一座標の頂点であっても、２つの頂点（別の頂点）として扱われる場合である。
【００６５】
（ａ）において、例えば、ポリゴン４５３は３個の頂点４０３，４０４，４０５から構成されており、ポリゴン４５４は３個の頂点４０４，４０５，４０６から構成されている。すなわち、頂点４０４，４０５は、ポリゴン４５３及び４５４の共通の頂点である。（ｂ）において、例えば、ポリゴン５５３は３個の頂点５０３，５０４，５０５から構成されており、ポリゴン５５４は３個の頂点５０６，５０７，５０８から構成されている。すなわち、頂点５０４と５０６及び頂点５０５と５０７は同一座標の頂点であるが、異なる頂点として扱われる。
【００６６】
例えば、ポリゴン５５３とポリゴン５５４とが別々のモデルを構成するポリゴンである場合等では、（ｂ）のように、同一座標の頂点であっても、別の頂点として扱われる。このような場合には、単純に乱数を発生させることによって各頂点の移動量あるいは移動方向を求めて、モデルの揺動を表わした場合には、同一座標の頂点の移動量あるいは移動方向が異なることとなり、隣接するポリゴン間に段差（あるいは隙間）のある画像が形成されてしまう。従って、同一座標の頂点であるか否かを判定する必要があるが、全ての頂点についてこの判定を行うには、多大な計算を要する。本実施形態では、後述するように移動量あるいは移動方向を求める際に使用する乱数を、頂点の座標に基づいて値が定まる乱数の初期値を元にして発生させることによって、上記問題を解消している。
【００６７】
結合度記憶部３０２は、モデルの各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納するものである。複数のスケルトンの結合している頂点については、結合度の合計が１００％となるように結合度が設定されている。図４は、上着モデル８００を構成するポリゴンの表示位置を規定する人体の上半身を表わすスケルトン７００の一例である。スケルトン７００は、頭スケルトン７０１、首スケルトン７０２、右肩スケルトン７０３、右腕１スケルトン７０４、右腕２スケルトン７０５、右手スケルトン７０６、左肩スケルトン７０７、左腕１スケルトン７０８、左腕２スケルトン７０９、左手スケルトン７１０、胸スケルトン７１１、腹スケルトン７１２及び腰スケルトン７１３の１３個のスケルトンから構成されている。
【００６８】
図５は、上着モデル８００のポリゴンを構成する各頂点の各スケルトンへの結合度の一例を表わす図表である。ここでは、上着モデル８００のポリゴンは、頂点８０１、８０２、・・・、８９９から構成されているものとする。例えば、頂点８０１は、頭スケルトン７０１に１００％結合され、頂点８０２は、頭スケルトン７０１に５０％、首スケルトン７０２に５０％結合されている。すなわち、頂点８０１の動きは、頭スケルトン７０１の動きによって１００％規定され、頂点８０２の動きは、頭スケルトン７０１の動きによって５０％規定され、首スケルトン７０２の動きによって５０％規定されるのである。
【００６９】
基準移動量記憶部３０３は、モデルの各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納するものである。図６は、スケルトン毎の基準移動量の一例を示す図表である。例えば、首スケルトン７０２の基準移動量は２であり、左腕２スケルトン７０９の基準移動量は５であり、腹スケルトン７１２の基準移動量は１０である。従って、首スケルトン７０２、左腕２スケルトン７０９、腹スケルトン７１２のみにそれぞれ結合する頂点の移動量の最大値は、それぞれ２、５、１０となり、この順で移動量が増大することとなり、上着モデルの揺れ幅が部位によって異なることとなる。
【００７０】
移動量算出部３１０は、結合度記憶部３０２に格納された結合度と基準移動量記憶部３０３に格納された基準移動量とに基づいて頂点の移動量を求めるものである。具体的な移動量の求め方について、以下に説明する。まず、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求める。例えば、結合度がＡ１％のスケルトンの基準移動量がＢ１であり、結合度がＡ２％の別のスケルトンの基準移動量がＢ２である場合の、最大移動量ＭＣは、ＭＣ＝（（Ａ１×Ｂ１）＋（Ａ２×Ｂ２））／（Ａ１＋Ａ２）で与えられる。ただし、Ａ１＋Ａ２＝１００（％）である。
【００７１】
つぎに、モデルの大きさに基づいて最大移動量ＭＣを修正する。例えば、基準となるモデルの大きさＳＭＳに対して、対象とするモデルの大きさがＡＭＳである場合には、最大移動量ＭＣを（ＡＭＳ／ＳＭＳ）倍するのである。ここで、モデルの大きさは、例えば、各辺が座標軸に平行であってモデルがその内部に入る最小の直方体（バウンディングボックスという）の体積で表わす。モデルが大きい程、最大移動量ＭＣが大きくなり、揺れ幅が大きくなるため、リアルな揺動を表現することができる。
【００７２】
そして、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量ＭＣの範囲内の乱数（値の範囲が０以上で最大移動量ＭＣの値以下の乱数）を発生させ、発生された乱数値に基づいて移動量を求める。以下に具体的な移動量の計算方法の一例について説明する。まず、頂点のＸ、Ｙ、Ｚ座標の値ＸＮ、ＹＮ、ＺＮに対して、乱数の初期値ＳＥＥＤを以下のようにして決定する。
ＸＸ＝（（ＸＮ×１００）の整数部）
ＹＹ＝（（ＹＮ×１００）の整数部）
ＺＺ＝（（ＺＮ×１００）の整数部）
ＳＥＥＤ＝１２×ＸＸ＋３４５×ＹＹ＋７６８９×ＺＺ＋ＢＳ
ここで、定数ＢＳは、当該計算を実施している時刻を数値化したもの（例えば、１０時２０分の場合には、１０２０）である。そのため、計算時刻が変わる度に、初期値が変更され、乱数が周期的になることが防止される。
【００７３】
つぎに、初期値ＳＥＥＤを用いた乱数の発生方法の一例を以下に説明する。
ＴＭＰ＝ＳＥＥＤ×ＳＥＥＤ×１２３４５＋ＳＥＥＤ×６７８９＋ＳＥＥＤ
ＶＡＬＵＥ＝（ＴＭＰの１０００の桁の値）×１００＋（ＴＭＰの１００の桁の値）×１０＋（ＴＭＰの１０の桁の値）
このようにして、乱数の値ＶＡＬＵＥが得られる。ただし、次回計算時の初期値ＳＥＥＤには、この乱数の値ＶＡＬＵＥが用いられる。この方法によって、２個の乱数の値ＶＡＬＵＥ１、ＶＡＬＵＥ２を発生させる。
【００７４】
次いで、最大移動量ＭＣの範囲内の乱数（値の範囲が０以上で最大移動量ＭＣの値以下の乱数）を発生させる方法について説明する。乱数の値ＶＡＬＵＥ１及びＶＡＬＵＥ２の内、小さい方を大きい方で除することによって０〜１の乱数が得られ、これに最大移動量ＭＣを乗ずることによって、最大移動量ＭＣの範囲内の乱数が得られる。
【００７５】
このようにして、頂点の座標に基づいて値が定まる乱数の初期値を元にして乱数を発生させることによって、頂点の座標が略一致する頂点の移動量を略一致させることができる。
【００７６】
方向算出部３１１は、上述の頂点の座標に基づいて値が定まる乱数の初期値ＳＥＥＤを元にして３個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めるものである。乱数の発生方法は、移動量算出部３１０による乱数の発生方法と同様である。ここで、移動方向は、長さが１のベクトル（ＶＸ，ＶＹ，ＶＺ）で表わすものとする。上記３個の乱数を、それぞれＸ、Ｙ、Ｚ成分とするベクトルを正規化することによって移動方向ベクトル（ＶＸ，ＶＹ，ＶＺ）を求める。
【００７７】
座標算出部３１２は、頂点座標記憶部３０１に格納された頂点の座標と移動量算出部３１０によって求められた移動量と方向算出部３１１によって求められた移動方向とから所定時間（例えば１フレーム、ここで１フレーム＝１／６０秒）後の頂点の座標を求め、求められた移動後の頂点の座標を、頂点座標記憶部３０１に格納するものである。具体的には、現在の頂点の座標に、移動量に移動方向ベクトルを乗じることによって得られる移動ベクトルを加算することによって、移動後の頂点の座標を求める。
【００７８】
図７は、動画像生成装置の処理の概要を表わすフローチャートである。まず、方向算出部３１１によって、頂点座標記憶部３０１からモデルの各ポリゴンを構成する頂点の座標が読み込まれる（ステップＳ１）。次いで、方向算出部３１１によって、頂点の座標を用いて乱数の初期値ＳＥＥＤが求められる（ステップＳ３）。そして、方向算出部３１１によって、初期値ＳＥＥＤから３個の乱数が発生される（ステップＳ５）。次に、方向算出部３１１によって、ステップＳ５で発生された３個の乱数を用いて頂点の移動方向が求められる（ステップＳ７）。
【００７９】
そして、移動量算出部３１０によって、結合度記憶部３０２から頂点の各スケルトンに対する結合度が読み出され、基準移動量記憶部３０３からスケルトン毎の基準移動量が読み出される（ステップＳ９）。次いで、移動量算出部３１０によって、結合度と基準移動量とを用いて最大移動量が求められる（ステップＳ１１）。次に、移動量算出部３１０によって、ステップＳ１１で求められた最大移動量の範囲内の乱数が初期値ＳＥＥＤから発生されて、この乱数の値を用いて移動量が求められる（ステップＳ１３）。そして、座標算出部３１２によって、ステップＳ７で求められた移動方向とステップＳ１３で求められた移動量とを用いて所定時間後の（移動後の）頂点の座標が求められ、所定時間後の（移動後の）頂点の座標は、頂点座標記憶部３０１に格納される（ステップＳ１５）。
【００８０】
図８は、本発明の動画像生成装置を用いた上着モデル８００の頂点の移動を表わす概念図である。（ａ）は、上着モデル８００の初期の頂点位置であり、（ｂ）は所定時間後の上着モデル８００の頂点位置である。頂点の移動量は、腹スケルトン７１２（図４参照）に結合されている頂点８５０は大きく、左腕１スケルトン７０８に結合されている頂点８３０は中程度であり、首スケルトン７０２に結合されている頂点８１０は小さくなっている。これは、腹スケルトン７１２、左腕１スケルトン７０８及び首スケルトン７０２の基準移動量が、それぞれ１０、５、２となっている（図６参照）ためである。このように、部位によって揺動の幅が異なるため、揺動の画像の臨場感が高められる。
【００８１】
また、本発明は以下の形態をとることができる。
（Ａ）本実施形態においては、ゲーム装置に適用される形態について説明したが、コンピュータグラフィックス等の他の動画像を生成する装置に適用される形態でもよい。
（Ｂ）本実施形態においては、複数のスケルトンに結合する頂点がある場合について説明したが、１のスケルトンにのみ結合する形態でもよい。この場合には処理が簡単になる。
（Ｃ）本実施形態においては、モデルの大きさに基づいて最大移動量を修正する場合について説明したが、修正しない形態でもよい。この場合には処理が簡単になる。
（Ｄ）本実施形態においては、モデルの大きさをバウンディングボックスの体積で表わす場合について説明したが、その他の方法で表わす形態でもよい。例えば、モデルの大きさをモデルの高さ（ある座標の最大値と最小値の差）で表わす形態でもよい。この場合には、処理が簡単になる。
（Ｅ）本実施形態においては、乱数の初期値ＳＥＥＤを求める際に使用する定数ＢＳが時刻を数値化したものである場合について説明したが、その他の方法で定数ＢＳを定める形態でもよい。例えば、一定回数（例えば１００回）乱数が発生される度に、ある規則（例えば、現在の定数ＢＳに１００を加えたものを次回から使用する定数ＢＳとする）によって定数ＢＳを変更する形態でもよい。あるいは、予め移動後の座標を格納するファイル名が設定されている場合には、ファイル名を構成する各文字をＡＳＣＩＩコードに置きなおした数字（例えば「Ａ」の場合は「６５」、「Ｂ」の場合は「６６」）を使用して定数ＢＳを設定する形態でもよい。例えば、ファイル名３文字である場合に、先頭文字のＡＳＣＩＩコードＢＳ１、２文字目のＡＳＣＩＩコードＢＳ２、３文字目のＡＳＣＩＩコードＢＳ３を用いて、次式によって定数ＢＳを設定する。
ＢＳ＝ＢＳ１×ＢＳ１×ＢＳ１＋ＢＳ２×ＢＳ２×ＢＳ２×２＋ＢＳ３×ＢＳ３×ＢＳ３×３＋ＢＳ１×ＢＳ１＋ＢＳ２×ＢＳ２＋ＢＳ３×ＢＳ３＋ＢＳ１＋ＢＳ２＋ＢＳ３
【００８２】
【発明の効果】
請求項１に記載の本発明によれば、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する（適切な）移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる（例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い）ようになり、臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【００８３】
請求項２に記載の本発明によれば、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量が求められるため、所望する（適切な）最大移動量が容易に求められる。また、この最大移動量を用いて移動量が求められるため、所望する（適切な）移動量が容易に求められる。
【００８４】
請求項３に記載の本発明によれば、移動量算出手段によって、モデルの大きさに基づいて最大移動量が修正されるため、例えば、モデルの大きさに比例して最大移動量を修正することによって、揺動の大きさがモデルの大きさに比例することとなり、更に臨場感のある揺動を表現することが可能となる。
【００８５】
請求項４に記載の本発明によれば、最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、適切な範囲内で不規則に大きさの変化する移動量が容易に求められ、自然な揺動を表現することが可能となる。
【００８６】
請求項５に記載の本発明によれば、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動量も略一致する（座標が略一致する頂点の最大移動量は略一致するため）。従って、隣接するポリゴン間に段差（あるいは段差（あるいは隙間））の無い動画像が生成され、自然な揺動を表現することが可能となる。
【００８７】
請求項６に記載の本発明によれば、３個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、例えば、この３個の乱数の値をＸ、Ｙ、Ｚ成分とするベクトルの方向を移動方向とすることによって、不規則に向きの変化する移動方向が容易に求められ、自然な揺動を表現することが可能となる。
【００８８】
請求項７に記載の本発明によれば、頂点の座標に基づいて値が定まる乱数の初期値を元にして３個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動方向も略一致する。従って、隣接するポリゴン間に段差（あるいは隙間）の無い動画像が生成され、自然な揺動を表現することが可能となる。
【００８９】
請求項８に記載の本発明によれば、移動量算出処理において、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する（適切な）移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる（例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い）ようになり、臨場感が高められる。更に、方向算出処理において、各ポリゴンを構成する頂点の移動方向が求められ、座標算出処理において、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【００９０】
請求項９に記載の本発明によれば、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する（適切な）移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる（例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い）ようになり、臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【図面の簡単な説明】
【図１】本発明の動画像生成装置が適用されるビデオゲーム装置の一実施形態を示すブロック構成図である
【図２】動画像生成装置の機能ブロック図である。
【図３】ポリゴンと頂点との関係を示す概念図である。
【図４】上着モデルを構成するポリゴンの表示位置を規定する人体の上半身を表わすスケルトンの一例である。
【図５】上着モデルのポリゴンを構成する各頂点の各スケルトンへの結合度の一例を表わす図表である。
【図６】スケルトン毎の基準移動量の一例を示す図表である。
【図７】動画像生成装置の処理の概要を表わすフローチャートである。
【図８】本発明の動画像生成装置を用いた上着モデルの頂点の移動を表わす概念図である。
【符号の説明】
１  ＣＰＵ
２  バスライン
３  グラフィックスデータ生成プロセッサ
４  インターフェース回路
５  メインメモリ
６  ＲＯＭ
７  伸張回路
８  パラレルポート
９  シリアルポート
１０  描画プロセッサ
１１  音声プロセッサ
１２  デコーダ
１３  インターフェース回路
２１  バッファ
２２  モニタ
２９  コントローラ
１００  ゲーム機本体
２００  記録媒体
３００  動画像生成装置
３０１  頂点座標記憶部（頂点座標記憶手段）
３０２  結合度記憶部（結合度記憶手段）
３０３  基準移動量記憶部（基準移動量記憶手段）
３１０  移動量算出部（移動量算出手段）
３１１  方向算出部（方向算出手段）
３１２  座標算出部（座標算出手段）
【図１】
0003564440.tif 000002
【図２】
0003564440.tif 000003
【図３】
0003564440.tif 000004
【図４】
0003564440.tif 000005
【図５】
0003564440.tif 000006
【図６】
0003564440.tif 000007
【図７】
0003564440.tif 000008
【図８】
0003564440.tif 000009