JP3564440B2 - 動画像生成プログラム、動画像生成方法及び装置 - Google Patents

動画像生成プログラム、動画像生成方法及び装置 Download PDF

Info

Publication number
JP3564440B2
JP3564440B2 JP2001240447A JP2001240447A JP3564440B2 JP 3564440 B2 JP3564440 B2 JP 3564440B2 JP 2001240447 A JP2001240447 A JP 2001240447A JP 2001240447 A JP2001240447 A JP 2001240447A JP 3564440 B2 JP3564440 B2 JP 3564440B2
Authority
JP
Japan
Prior art keywords
movement amount
vertex
skeleton
moving image
coordinates
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.)
Expired - Fee Related
Application number
JP2001240447A
Other languages
English (en)
Other versions
JP2003051030A (ja
Inventor
賢太朗 永山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Corp
Original Assignee
Konami Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Corp filed Critical Konami Corp
Priority to JP2001240447A priority Critical patent/JP3564440B2/ja
Priority to US10/208,385 priority patent/US6972766B2/en
Priority to EP02017664A priority patent/EP1288866B1/en
Priority to DE60204089T priority patent/DE60204089T2/de
Publication of JP2003051030A publication Critical patent/JP2003051030A/ja
Application granted granted Critical
Publication of JP3564440B2 publication Critical patent/JP3564440B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Description

【0001】
【発明の属する技術分野】
本発明は、ビデオゲームやコンピュータグラフィックス等に適用でき、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成技術に関するものである。
【0002】
【従来の技術】
近年、オブジェクト(又はキャラクタ)をモニタ画面内に作成される仮想3次元空間上に表示するような種々のゲーム装置が普及している。かかるゲーム装置として、スキー、サーフィン、スケートボード、スノーボード等を模擬したものが知られている。これらのゲームにおいては、仮想3次元空間内をオブジェクトが移動するため、オブジェクトの表面(例えば、キャラクタの着ている衣服)が風を受けて揺動するような動画像を表示することによって、臨場感を高めることができる。
【0003】
従来は、典型的な場面に応じたオブジェクトの表面の揺動を予めモーションデータとして記憶しておき、ゲームの展開に応じて表示される場面が上記の典型的な場面のいずれに属するかを判定して、対応するモーションデータを読み出して表示していた。
【0004】
【発明が解決しようとする課題】
しかし、上記の方法では、記憶するモーションデータの個数に限界があるために、充分に臨場感のあるオブジェクトの表面の揺動を表現することに限界があった。一方、単純にオブジェクトの表面を一定の振幅で不規則に(周期あるいは位置を不規則に)振動させる方法も考えられるが、この方法では、オブジェクトの表面の動きが不自然となり、充分に臨場感のあるオブジェクトの表面の動きを表現することは困難である。
【0005】
本発明は、上記の課題に鑑みてなされたもので、臨場感のあるオブジェクトの表面の揺動を表現することの可能な動画像生成プログラム、動画像生成方法及び装置を提供することを目的としている。
【0006】
【課題を解決するための手段】
請求項1に記載の本発明は、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成プログラムであって、コンピュータを、
各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出手段として機能させることを特徴とする動画像生成プログラムである。
【0007】
請求項1に記載の本発明に従えば、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する(移動の大きさ、向きが不規則に変化する)動画像を生成する動画像生成プログラムであって、コンピュータを、各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、結合度と基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標を求める座標算出手段として機能させる。
【0008】
すなわち、頂点座標記憶手段に、各ポリゴンを構成する頂点の座標が格納され、結合度記憶手段に、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度が格納され、基準移動量記憶手段に、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量が格納されており、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められ、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められる。
【0009】
このようにして、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する(適切な)移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる(例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い)ようになり、臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【0010】
請求項2に記載の本発明は、前記移動量算出手段が、前記基準移動量について前記結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求め、この最大移動量を用いて移動量を求めることを特徴とする。
【0011】
請求項2に記載の本発明に従えば、移動量算出手段は、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求め、この最大移動量を用いて移動量を求める。
【0012】
すなわち、移動量算出手段によって、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量が求められ、この最大移動量を用いて移動量が求められる。
【0013】
このようにして、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量が求められるため、所望する(適切な)最大移動量が容易に求められる。また、この最大移動量を用いて移動量が求められるため、所望する(適切な)移動量が容易に求められる。
【0014】
請求項3に記載の本発明は、前記移動量算出手段が、モデルの大きさに基づいて前記最大移動量を修正することを特徴とする。
【0015】
請求項3に記載の本発明に従えば、移動量算出手段は、モデルの大きさに基づいて最大移動量を修正する。
【0016】
すなわち、移動量算出手段によって、モデルの大きさに基づいて最大移動量が修正される。
【0017】
このようにして、移動量算出手段によって、モデルの大きさに基づいて最大移動量が修正されるため、例えば、モデルの大きさに比例して最大移動量を修正することによって、揺動の大きさがモデルの大きさに比例することとなり、更に臨場感のある揺動を表現することが可能となる。
【0018】
請求項4に記載の本発明は、前記移動量算出手段が、前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする。
【0019】
請求項4に記載の本発明に従えば、移動量算出手段は、最大移動量の範囲内の乱数(値の範囲が0以上で最大移動量の値以下の乱数)を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする。
【0020】
すなわち、移動量算出手段によって、最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められる。
【0021】
このようにして、最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、適切な範囲内で不規則に(周期性を持たずに)大きさの変化する移動量が容易に求められ、自然な揺動を表現することが可能となる。
【0022】
請求項5に記載の本発明は、前記移動量算出手段が、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする。
【0023】
請求項5に記載の本発明に従えば、移動量算出手段は、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数(値の範囲が0以上で最大移動量の値以下の乱数)を発生させ、発生された乱数値に基づいて移動量を求める。
【0024】
すなわち、移動量算出手段によって、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められる。
【0025】
このようにして、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動量も略一致する(座標が略一致する頂点の最大移動量は略一致するため)。従って、隣接するポリゴン間に段差(あるいは段差(あるいは隙間))の無い動画像が生成され、自然な揺動を表現することが可能となる。
【0026】
請求項6に記載の本発明は、前記方向算出手段が、3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする。
【0027】
請求項6に記載の本発明に従えば、方向算出手段は、3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求める。
【0028】
すなわち、方向算出手段によって、3個の乱数が発生され、発生された乱数値に基づいて移動方向が求められる。
【0029】
このようにして、3個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、例えば、この3個の乱数の値をX、Y、Z成分とするベクトルの方向を移動方向とすることによって、不規則に(周期性を持たずに)向きの変化する移動方向が容易に求められ、自然な揺動を表現することが可能となる。
【0030】
請求項7に記載の本発明は、前記方向算出手段が、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする。
【0031】
請求項7に記載の本発明に従えば、方向算出手段は、頂点の座標に基づいて値が定まる乱数の初期値を元にして3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求める。
【0032】
すなわち、方向算出手段によって、頂点の座標に基づいて値が定まる乱数の初期値を元にして3個の乱数が発生され、発生された乱数値に基づいて移動方向が求められる。
【0033】
このようにして、頂点の座標に基づいて値が定まる乱数の初期値を元にして3個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動方向も略一致する。従って、隣接するポリゴン間に段差(あるいは隙間)の無い動画像が生成され、自然な揺動を表現することが可能となる。
【0034】
請求項8に記載の本発明は、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成方法であって、コンピュータが、
前記コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とを格納しており、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出処理と、
各ポリゴンを構成する頂点の移動方向を求める方向算出処理と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出処理とを実行することを特徴とする動画像生成方法である。
【0035】
請求項8に記載の本発明に従えば、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する(移動の大きさ、向きが不規則に変化する)動画像を生成する動画像生成方法であって、コンピュータが、コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とを格納しており、結合度と基準移動量とに基づいて頂点の移動量を求める移動量算出処理と、各ポリゴンを構成する頂点の移動方向を求める方向算出処理と、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標を求める座標算出処理とを実行する。
【0036】
すなわち、コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とが格納されており、移動量算出処理において結合度と基準移動量とに基づいて頂点の移動量が求められ、方向算出処理において各ポリゴンを構成する頂点の移動方向を求められ、座標算出処理において、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められる。
【0037】
このようにして、移動量算出処理において、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する(適切な)移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる(例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い)ようになり、更に臨場感が高められる。更に、方向算出処理において、各ポリゴンを構成する頂点の移動方向が求められ、座標算出処理において、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【0038】
請求項9に記載の本発明は、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成装置であって、
各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出手段とを備えることを特徴とする動画像生成装置である。
【0039】
請求項9に記載の本発明に従えば、複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する(移動の大きさ、向きが不規則に変化する)動画像を生成する動画像生成装置であって、各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、結合度と基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標を求める座標算出手段とを備える動画像生成装置である。
【0040】
すなわち、頂点座標記憶手段に、各ポリゴンを構成する頂点の座標が格納され、結合度記憶手段に、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度が格納され、基準移動量記憶手段に、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量が格納されており、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められ、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められる。
【0041】
このようにして、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する(適切な)移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる(例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い)ようになり、更に臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【0042】
【発明の実施の形態】
図1は、本発明の動画像生成装置が適用されるビデオゲーム装置の一実施形態を示すブロック構成図である。このビデオゲーム装置は、ゲーム機本体100と、プログラムデータが記録された記録媒体200とを備えている。ゲーム機本体100は、CPU(Central Processing Unit)1と、CPU1に接続されたアドレスバス、データバス、コントロールバスからなるバスライン2と、グラフィックスデータ生成プロセッサ3とを備えている。
【0043】
バスライン2には、インターフェース回路4、RAM(Random Access Memory)等からなるメインメモリ5、ROM(Read Only Memory)6、伸張回路7、パラレルポート8、シリアルポート9、描画プロセッサ10、音声プロセッサ11、デコーダ12、インターフェース回路13が接続されている。描画プロセッサ10には、バッファ21が接続されると共に、テレビジョンモニタ(以下、「モニタ」という。)22が接続され、音声プロセッサ11には、バッファ23が接続されると共に、増幅回路24を介してスピーカ25が接続されている。また、デコーダ12には、バッファ26が接続されると共に、記録媒体ドライバ27が接続され、インターフェース回路13には、メモリ28が接続されると共に、コントローラ29が接続されている。
【0044】
このビデオゲーム装置は、用途に応じてその形態が異なる。例えば、このビデオゲーム装置が家庭用として構成されている場合においては、モニタ22及びスピーカ25はゲーム機本体100とは別体となる。一方、このビデオゲーム装置が業務用として構成されている場合においては、図1に示す構成要素はすべて1つの筺体に収納される。また、このビデオゲーム装置がパーソナルコンピュータやワークステーションを核として構成されている場合においては、モニタ22は、コンピュータ用のディスプレイに対応し、描画プロセッサ10、音声プロセッサ11、伸張回路7は、それぞれ記録媒体200に記録されているプログラムデータの一部またはコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応し、インターフェース回路4、パラレルポート8、シリアルポート9及びインターフェース回路13は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ21,23,26は、それぞれメインメモリ5または拡張メモリ(図示省略)の各エリアに対応する。なお、本実施形態では、このビデオゲーム装置が家庭用として構成されている場合を例にして説明する。
【0045】
次に、図1に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ3は、CPU1のいわばコプロセッサとしての役割を果たす。すなわち、このグラフィックスデータ生成プロセッサ3は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を、並列処理により行う。このグラフィックスデータ生成プロセッサ3が行う主な処理としては、CPU1から供給される画像データの2次元または3次元空間内における各頂点の座標データと、移動量データと、回転量データとに基づいて、処理対象画像の表示エリア上におけるアドレスを求め、当該アドレスデータを、再びCPU1に返す処理や、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
【0046】
インターフェース回路4は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用である。ROM6には、ビデオゲーム装置のオペレーティングシステムとしてのプログラムデータが記憶されている。パーソナルコンピュータで言えば、BIOS(Basic Input Output System)に相当する。
【0047】
伸張回路7は、動画に対するMPEG(Moving Picture Engineering Group)や静止画に対するJPEG(Joint Picture Engineering Group)に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理が施される。伸張処理は、デコード処理(VLC:Variable Length Codeによりエンコードされたデータのデコード)、逆量子化処理、IDCT(Inverse Discrete Cosine Transform)処理、イントラ画像の復元処理等である。描画プロセッサ10は、所定時間T(1フレーム、例えばT=1/60秒)ごとに、CPU1による表示命令に基づいて、バッファ21に対する表示処理を行う。
【0048】
バッファ21は、例えばRAMからなり、表示エリア(フレームバッファ)と非表示エリアとからなる。表示エリアは、モニタ22の表示面上に表示するデータの展開エリアからなる。本実施形態においては、非表示エリアは、スケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメデータ及び各アニメの内容を示すパターンデータの他、テクスチャデータやカラーパレットデータ等の記憶エリアからなる。
【0049】
ここで、テクスチャデータは、2次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。これらのデータは、記録媒体200から一度に、またはゲームの進行状況に合致して複数回に分けて、CPU1により予めバッファ21の非表示エリアに記録される。表示命令としては、ポリゴンを用いて立体的な画像を表示するための表示命令と、通常の2次元画像を表示するための表示命令とがある。ここで、ポリゴンは、多角形の2次元仮想図形であり、本実施形態においては三角形が用いられる。ポリゴンを用いて立体的な画像を表示するための表示命令は、バッファ21の表示エリア上におけるポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャデータのバッファ21上における記憶位置を示すテクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ21上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【0050】
これらのデータのうち、表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ3が、CPU1からの3次元空間上におけるポリゴン頂点の座標データを、画面自体の移動量データ及び回転量データに基づいて座標変換することによって2次元上でのポリゴン頂点の座標データに置換されたものである。また、輝度データは、グラフィックスデータ生成プロセッサ3が、CPU1からの上記座標変換後のポリゴン頂点の座標データが示す位置から、仮想的に配置された光源間での距離に基づいて決定される。上記ポリゴン頂点アドレスデータは、バッファ21の表示エリア上のアドレスを示し、描画プロセッサ10は、3個のポリゴン頂点アドレスデータで示されるバッファ21の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【0051】
仮想ゲーム空間内におけるキャラクタ等の物体は多数のポリゴンで構成される。CPU1は、各ポリゴンの3次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ21に記憶する。そして、後述するコントローラ29の操作により、表示面上でキャラクタを移動させる場合、言い換えれば、キャラクタそのものの動きを表現する場合またはキャラクタを見ている視点位置を変える場合、次のような処理が行われる。
【0052】
すなわち、CPU1は、グラフィックスデータ生成プロセッサ3に対し、バッファ21の非表示エリア内に保持している各ポリゴンの頂点の3次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データを与える。グラフィックスデータ生成プロセッサ3は、各ポリゴンの頂点の3次元座標データと、各ポリゴンの移動量データ及び回転量データとに基づいて、順次、各ポリゴンの移動後及び回転後の3次元座標データを求める。このようにして求められた各ポリゴンの3次元座標データのうち、水平及び垂直方向の座標データが、バッファ21の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして、描画プロセッサ10に供給される。描画プロセッサ10は、3個のポリゴン頂点アドレスデータによって示されるバッファ21の三角形の表示エリア上に、予め割り当てられているテクスチャアドレスデータが示すテクスチャデータを書き込む。これによって、モニタ22の表示面上には、多数のポリゴンにテクスチャデータの貼り付けられた物体が表示される。
【0053】
通常の2次元画像を表示するための表示命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ21上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。これらのデータのうち、頂点アドレスデータは、グラフィックスデータ生成プロセッサ3がCPU1からの2次元平面上における頂点の座標データをCPU1からの移動量データ及び回転量データに基づいて、座標変換して得られる座標データである。
【0054】
音声プロセッサ11は、記録媒体200から読み出されたADPCM(Adaptive Differential Pulse Code Modulation)データをバッファ23に記憶し、このバッファ23に記憶されたADPCMデータを音源とする。そして、音声プロセッサ11は、ADPCMデータを例えば周波数44.1kHzのクロック信号に基づき読み出す。そして、音声プロセッサ11は、バッファ23から読み出したADPCMデータに対し、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定、リバーブの付加等の処理を施す。
【0055】
記録媒体200から読み出される音声データがCD−DA(Compact Disk Digital Audio)等のPCMデータの場合においては、音声プロセッサ11によりADPCMデータに変換される。また、PCMデータに対するプログラムデータによる処理はメインメモリ5上において直接行われる。メインメモリ5上において処理されたPCMデータは、音声プロセッサ11に供給されてADPCMデータに変換された後に上述した各種処理が施され、その後に音声としてスピーカ25から出力される。
【0056】
記録媒体ドライバ27は、例えばCD−ROMドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等である。記録媒体200は、例えばCD−ROM、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等である。記録媒体ドライバ27は、記録媒体200から画像、音声、プログラムデータを読み出し、読み出したデータをデコーダ12に供給する。デコーダ12は、記録媒体ドライバ27からの再生データに対し、ECC(Error Correction Code)によるエラー訂正処理を施し、エラー訂正処理を施したデータを、メインメモリ5または音声プロセッサ11に供給する。メモリ28は、例えば、ホルダ及びカード型のメモリからなる。カード型のメモリは、例えばゲームの途中で中断した場合の中断時点での状態を保持する等のように、中断時点での各種ゲームパラメータを保持するためのものである。
【0057】
コントローラ29は、外部から操作可能な操作手段で、第1左ボタン29L1、第2左ボタン29L2、第1右ボタン29R1、第2右ボタン29R2、上方向キー29U、下方向キー29D、左方向キー29L、右方向キー29R、スタートボタン29a、セレクトボタン29b、第1ボタン29c、第2ボタン29d、第3ボタン29e、第4ボタン29f、左スティック29SL及び右スティック29SRを備え、プレイヤの操作に応じた操作信号をCPU1に送出するものである。上方向キー29U、下方向キー29D、左方向キー29L、及び右方向キー29Rは、プレイヤがCPU1に対し、例えばキャラクタやカーソルをモニタ22の画面上で上下左右に移動させるコマンドを与えるものである。スタートボタン29aは、プレイヤが、記録媒体200からロードされるゲームプログラムデータの開始をCPU1に指示するためのものである。セレクトボタン29bは、プレイヤが、記録媒体200からメインメモリ5にロードされるゲームプログラムデータに関する各種選択をCPU1に指示するためのものである。
【0058】
コントローラ29のうちで、左スティック29SL及び右スティック29SRを除く各ボタン及び各キーは、外部からの押圧力により中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチからなる。左スティック29SL及び右スティック29SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。すなわち、直立したスティックを有し、このスティックの所定位置を支点として前後左右を含む360°方向に亘って傾倒可能な構成になっている。そして、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とする左右方向のx座標及び前後方向のy座標の値が、インターフェース回路13を介して、操作信号としてCPU1に送出されるようになっている。なお、第1左ボタン29L1、第2左ボタン29L2、第1右ボタン29R1及び第2右ボタン29R2の機能は、記録媒体200からロードされるゲームプログラムデータによって異なる。
【0059】
次に、このビデオゲーム装置の概略動作について説明する。電源スイッチ(図示省略)がオンにされ、ビデオゲーム装置に電源が投入される。この時、記録媒体200が記録媒体ドライバ27に装填されていると、CPU1が、ROM6に記憶されているオペレーティングシステムに基づいて、記録媒体ドライバ27に対し記録媒体200からのプログラムデータの読み出しを指示する。これにより、記録媒体ドライバ27は、記録媒体200から画像、音声及びプログラムデータを読み出す。読み出された画像、音声及びプログラムデータは、デコーダ12に供給され、ここで、エラー訂正処理が施される。
【0060】
デコーダ12においてエラー訂正処理が施された画像データは、バスライン2を介して伸張回路7に供給され、ここで、上述した伸張処理が施された後に、描画プロセッサ10に供給され、この描画プロセッサ10により、バッファ21の非表示エリアに書き込まれる。また、デコーダ12においてエラー訂正処理が施された音声データは、メインメモリ5に書き込まれるか、または音声プロセッサ11に供給されてバッファ23に書き込まれる。そして、デコーダ12においてエラー訂正処理が施されたプログラムデータは、メインメモリ5に書き込まれる。以降、CPU1は、メインメモリ5に記憶されているゲームプログラムデータ、及びプレイヤがコントローラ29を介して指示する内容に基づいて、ゲームを進行する。すなわち、CPU1は、コントローラ29を介してプレイヤから指示される指示内容に基づいて、適宜、画像処理の制御、音声処理の制御、内部処理の制御を行う。
【0061】
画像処理の制御として、本実施形態においては、例えば、キャラクタに指示されるアニメに該当するパターンデータから、各スケルトンの座標の計算及びポリゴンの頂点の座標データの計算、得られた3次元座標データや視点位置データのグラフィックスデータ生成プロセッサ3への供給、グラフィックスデータ生成プロセッサ3が求めたバッファ21の表示エリア上のアドレスデータや輝度データを含む表示命令の発行等を行う。音声処理の制御として、例えば音声プロセッサ11に対する音声出力コマンドの発行、レベル、リバーブ等の指定を行う。内部処理の制御として、例えば、コントローラ29の操作に応じた演算等を行う。
【0062】
図2は、動画像生成装置の機能ブロック図である。なお、本発明の動画像生成プログラムは、上述のゲームプログラムと同様に図1に示す記録媒体200に記録されており、メインメモリ5上にロードされ、プレイヤがコントローラ29を介して行う操作が受け付けられつつ、CPU1によりメインメモリ5上の動画像生成プログラムが順次実行されることによって動画像生成装置が実現される。
【0063】
動画像生成装置300は、モデルの各ポリゴンを構成する頂点の座標を格納する頂点座標記憶部301と、モデルの各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶部302と、モデルの各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶部303と、結合度記憶部302に格納された結合度と基準移動量記憶部303に格納された基準移動量とに基づいて頂点の移動量を求める移動量算出部310と、各ポリゴンを構成する頂点の移動方向を求める方向算出部311と、頂点座標記憶部301に格納された頂点の座標と移動量算出部310によって求められた移動量と方向算出部311によって求められた移動方向とから所定時間(例えば1フレーム、ここで1フレーム=1/60秒)後の頂点の座標を求める座標算出部312とを備えている。なお、本実施形態では、人体の上半身を表わすスケルトンに結合された上着モデルの表面が不規則に揺動する(移動の大きさ、向きが不規則に変化する)動画像を生成する場合について説明する。
【0064】
頂点座標記憶部301は、モデルの各ポリゴンを構成する頂点の初期の座標データと座標算出部312によって求められた所定時間後(移動後)の座標データとを格納するものである。本実施形態においては、ポリゴンが三角形である場合について説明するため、各ポリゴンはそれぞれ3個の頂点から構成されている。図3は、ポリゴンと頂点との関係を示す概念図である。(a)は、同一座標の頂点が、1の頂点として扱われる場合(通常の場合)であり、(b)は、一部の頂点が、同一座標の頂点であっても、2つの頂点(別の頂点)として扱われる場合である。
【0065】
(a)において、例えば、ポリゴン453は3個の頂点403,404,405から構成されており、ポリゴン454は3個の頂点404,405,406から構成されている。すなわち、頂点404,405は、ポリゴン453及び454の共通の頂点である。(b)において、例えば、ポリゴン553は3個の頂点503,504,505から構成されており、ポリゴン554は3個の頂点506,507,508から構成されている。すなわち、頂点504と506及び頂点505と507は同一座標の頂点であるが、異なる頂点として扱われる。
【0066】
例えば、ポリゴン553とポリゴン554とが別々のモデルを構成するポリゴンである場合等では、(b)のように、同一座標の頂点であっても、別の頂点として扱われる。このような場合には、単純に乱数を発生させることによって各頂点の移動量あるいは移動方向を求めて、モデルの揺動を表わした場合には、同一座標の頂点の移動量あるいは移動方向が異なることとなり、隣接するポリゴン間に段差(あるいは隙間)のある画像が形成されてしまう。従って、同一座標の頂点であるか否かを判定する必要があるが、全ての頂点についてこの判定を行うには、多大な計算を要する。本実施形態では、後述するように移動量あるいは移動方向を求める際に使用する乱数を、頂点の座標に基づいて値が定まる乱数の初期値を元にして発生させることによって、上記問題を解消している。
【0067】
結合度記憶部302は、モデルの各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納するものである。複数のスケルトンの結合している頂点については、結合度の合計が100%となるように結合度が設定されている。図4は、上着モデル800を構成するポリゴンの表示位置を規定する人体の上半身を表わすスケルトン700の一例である。スケルトン700は、頭スケルトン701、首スケルトン702、右肩スケルトン703、右腕1スケルトン704、右腕2スケルトン705、右手スケルトン706、左肩スケルトン707、左腕1スケルトン708、左腕2スケルトン709、左手スケルトン710、胸スケルトン711、腹スケルトン712及び腰スケルトン713の13個のスケルトンから構成されている。
【0068】
図5は、上着モデル800のポリゴンを構成する各頂点の各スケルトンへの結合度の一例を表わす図表である。ここでは、上着モデル800のポリゴンは、頂点801、802、・・・、899から構成されているものとする。例えば、頂点801は、頭スケルトン701に100%結合され、頂点802は、頭スケルトン701に50%、首スケルトン702に50%結合されている。すなわち、頂点801の動きは、頭スケルトン701の動きによって100%規定され、頂点802の動きは、頭スケルトン701の動きによって50%規定され、首スケルトン702の動きによって50%規定されるのである。
【0069】
基準移動量記憶部303は、モデルの各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納するものである。図6は、スケルトン毎の基準移動量の一例を示す図表である。例えば、首スケルトン702の基準移動量は2であり、左腕2スケルトン709の基準移動量は5であり、腹スケルトン712の基準移動量は10である。従って、首スケルトン702、左腕2スケルトン709、腹スケルトン712のみにそれぞれ結合する頂点の移動量の最大値は、それぞれ2、5、10となり、この順で移動量が増大することとなり、上着モデルの揺れ幅が部位によって異なることとなる。
【0070】
移動量算出部310は、結合度記憶部302に格納された結合度と基準移動量記憶部303に格納された基準移動量とに基づいて頂点の移動量を求めるものである。具体的な移動量の求め方について、以下に説明する。まず、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求める。例えば、結合度がA1%のスケルトンの基準移動量がB1であり、結合度がA2%の別のスケルトンの基準移動量がB2である場合の、最大移動量MCは、MC=((A1×B1)+(A2×B2))/(A1+A2)で与えられる。ただし、A1+A2=100(%)である。
【0071】
つぎに、モデルの大きさに基づいて最大移動量MCを修正する。例えば、基準となるモデルの大きさSMSに対して、対象とするモデルの大きさがAMSである場合には、最大移動量MCを(AMS/SMS)倍するのである。ここで、モデルの大きさは、例えば、各辺が座標軸に平行であってモデルがその内部に入る最小の直方体(バウンディングボックスという)の体積で表わす。モデルが大きい程、最大移動量MCが大きくなり、揺れ幅が大きくなるため、リアルな揺動を表現することができる。
【0072】
そして、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量MCの範囲内の乱数(値の範囲が0以上で最大移動量MCの値以下の乱数)を発生させ、発生された乱数値に基づいて移動量を求める。以下に具体的な移動量の計算方法の一例について説明する。まず、頂点のX、Y、Z座標の値XN、YN、ZNに対して、乱数の初期値SEEDを以下のようにして決定する。
XX=((XN×100)の整数部)
YY=((YN×100)の整数部)
ZZ=((ZN×100)の整数部)
SEED=12×XX+345×YY+7689×ZZ+BS
ここで、定数BSは、当該計算を実施している時刻を数値化したもの(例えば、10時20分の場合には、1020)である。そのため、計算時刻が変わる度に、初期値が変更され、乱数が周期的になることが防止される。
【0073】
つぎに、初期値SEEDを用いた乱数の発生方法の一例を以下に説明する。
TMP=SEED×SEED×12345+SEED×6789+SEED
VALUE=(TMPの1000の桁の値)×100+(TMPの100の桁の値)×10+(TMPの10の桁の値)
このようにして、乱数の値VALUEが得られる。ただし、次回計算時の初期値SEEDには、この乱数の値VALUEが用いられる。この方法によって、2個の乱数の値VALUE1、VALUE2を発生させる。
【0074】
次いで、最大移動量MCの範囲内の乱数(値の範囲が0以上で最大移動量MCの値以下の乱数)を発生させる方法について説明する。乱数の値VALUE1及びVALUE2の内、小さい方を大きい方で除することによって0〜1の乱数が得られ、これに最大移動量MCを乗ずることによって、最大移動量MCの範囲内の乱数が得られる。
【0075】
このようにして、頂点の座標に基づいて値が定まる乱数の初期値を元にして乱数を発生させることによって、頂点の座標が略一致する頂点の移動量を略一致させることができる。
【0076】
方向算出部311は、上述の頂点の座標に基づいて値が定まる乱数の初期値SEEDを元にして3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めるものである。乱数の発生方法は、移動量算出部310による乱数の発生方法と同様である。ここで、移動方向は、長さが1のベクトル(VX,VY,VZ)で表わすものとする。上記3個の乱数を、それぞれX、Y、Z成分とするベクトルを正規化することによって移動方向ベクトル(VX,VY,VZ)を求める。
【0077】
座標算出部312は、頂点座標記憶部301に格納された頂点の座標と移動量算出部310によって求められた移動量と方向算出部311によって求められた移動方向とから所定時間(例えば1フレーム、ここで1フレーム=1/60秒)後の頂点の座標を求め、求められた移動後の頂点の座標を、頂点座標記憶部301に格納するものである。具体的には、現在の頂点の座標に、移動量に移動方向ベクトルを乗じることによって得られる移動ベクトルを加算することによって、移動後の頂点の座標を求める。
【0078】
図7は、動画像生成装置の処理の概要を表わすフローチャートである。まず、方向算出部311によって、頂点座標記憶部301からモデルの各ポリゴンを構成する頂点の座標が読み込まれる(ステップS1)。次いで、方向算出部311によって、頂点の座標を用いて乱数の初期値SEEDが求められる(ステップS3)。そして、方向算出部311によって、初期値SEEDから3個の乱数が発生される(ステップS5)。次に、方向算出部311によって、ステップS5で発生された3個の乱数を用いて頂点の移動方向が求められる(ステップS7)。
【0079】
そして、移動量算出部310によって、結合度記憶部302から頂点の各スケルトンに対する結合度が読み出され、基準移動量記憶部303からスケルトン毎の基準移動量が読み出される(ステップS9)。次いで、移動量算出部310によって、結合度と基準移動量とを用いて最大移動量が求められる(ステップS11)。次に、移動量算出部310によって、ステップS11で求められた最大移動量の範囲内の乱数が初期値SEEDから発生されて、この乱数の値を用いて移動量が求められる(ステップS13)。そして、座標算出部312によって、ステップS7で求められた移動方向とステップS13で求められた移動量とを用いて所定時間後の(移動後の)頂点の座標が求められ、所定時間後の(移動後の)頂点の座標は、頂点座標記憶部301に格納される(ステップS15)。
【0080】
図8は、本発明の動画像生成装置を用いた上着モデル800の頂点の移動を表わす概念図である。(a)は、上着モデル800の初期の頂点位置であり、(b)は所定時間後の上着モデル800の頂点位置である。頂点の移動量は、腹スケルトン712(図4参照)に結合されている頂点850は大きく、左腕1スケルトン708に結合されている頂点830は中程度であり、首スケルトン702に結合されている頂点810は小さくなっている。これは、腹スケルトン712、左腕1スケルトン708及び首スケルトン702の基準移動量が、それぞれ10、5、2となっている(図6参照)ためである。このように、部位によって揺動の幅が異なるため、揺動の画像の臨場感が高められる。
【0081】
また、本発明は以下の形態をとることができる。
(A)本実施形態においては、ゲーム装置に適用される形態について説明したが、コンピュータグラフィックス等の他の動画像を生成する装置に適用される形態でもよい。
(B)本実施形態においては、複数のスケルトンに結合する頂点がある場合について説明したが、1のスケルトンにのみ結合する形態でもよい。この場合には処理が簡単になる。
(C)本実施形態においては、モデルの大きさに基づいて最大移動量を修正する場合について説明したが、修正しない形態でもよい。この場合には処理が簡単になる。
(D)本実施形態においては、モデルの大きさをバウンディングボックスの体積で表わす場合について説明したが、その他の方法で表わす形態でもよい。例えば、モデルの大きさをモデルの高さ(ある座標の最大値と最小値の差)で表わす形態でもよい。この場合には、処理が簡単になる。
(E)本実施形態においては、乱数の初期値SEEDを求める際に使用する定数BSが時刻を数値化したものである場合について説明したが、その他の方法で定数BSを定める形態でもよい。例えば、一定回数(例えば100回)乱数が発生される度に、ある規則(例えば、現在の定数BSに100を加えたものを次回から使用する定数BSとする)によって定数BSを変更する形態でもよい。あるいは、予め移動後の座標を格納するファイル名が設定されている場合には、ファイル名を構成する各文字をASCIIコードに置きなおした数字(例えば「A」の場合は「65」、「B」の場合は「66」)を使用して定数BSを設定する形態でもよい。例えば、ファイル名3文字である場合に、先頭文字のASCIIコードBS1、2文字目のASCIIコードBS2、3文字目のASCIIコードBS3を用いて、次式によって定数BSを設定する。
BS=BS1×BS1×BS1+BS2×BS2×BS2×2+BS3×BS3×BS3×3+BS1×BS1+BS2×BS2+BS3×BS3+BS1+BS2+BS3
【0082】
【発明の効果】
請求項1に記載の本発明によれば、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する(適切な)移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる(例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い)ようになり、臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【0083】
請求項2に記載の本発明によれば、基準移動量について結合度を荷重として荷重平均することによって移動量の最大値である最大移動量が求められるため、所望する(適切な)最大移動量が容易に求められる。また、この最大移動量を用いて移動量が求められるため、所望する(適切な)移動量が容易に求められる。
【0084】
請求項3に記載の本発明によれば、移動量算出手段によって、モデルの大きさに基づいて最大移動量が修正されるため、例えば、モデルの大きさに比例して最大移動量を修正することによって、揺動の大きさがモデルの大きさに比例することとなり、更に臨場感のある揺動を表現することが可能となる。
【0085】
請求項4に記載の本発明によれば、最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、適切な範囲内で不規則に大きさの変化する移動量が容易に求められ、自然な揺動を表現することが可能となる。
【0086】
請求項5に記載の本発明によれば、頂点の座標に基づいて値が定まる乱数の初期値を元にして最大移動量の範囲内の乱数が発生され、発生された乱数値に基づいて移動量が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動量も略一致する(座標が略一致する頂点の最大移動量は略一致するため)。従って、隣接するポリゴン間に段差(あるいは段差(あるいは隙間))の無い動画像が生成され、自然な揺動を表現することが可能となる。
【0087】
請求項6に記載の本発明によれば、3個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、例えば、この3個の乱数の値をX、Y、Z成分とするベクトルの方向を移動方向とすることによって、不規則に向きの変化する移動方向が容易に求められ、自然な揺動を表現することが可能となる。
【0088】
請求項7に記載の本発明によれば、頂点の座標に基づいて値が定まる乱数の初期値を元にして3個の乱数が発生され、発生された乱数値に基づいて移動方向が求められるため、座標が略一致する頂点の乱数の初期値は略一致し、その結果、移動方向も略一致する。従って、隣接するポリゴン間に段差(あるいは隙間)の無い動画像が生成され、自然な揺動を表現することが可能となる。
【0089】
請求項8に記載の本発明によれば、移動量算出処理において、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する(適切な)移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる(例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い)ようになり、臨場感が高められる。更に、方向算出処理において、各ポリゴンを構成する頂点の移動方向が求められ、座標算出処理において、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【0090】
請求項9に記載の本発明によれば、移動量算出手段によって、結合度と基準移動量とに基づいて頂点の移動量が求められるため、結合度と基準移動量とを適切に設定することによって、所望する(適切な)移動量が得られる。例えば、キャラクタの着ている衣服モデルが風を受けて揺動する場合には、衣服モデルの部位によって、結合されているスケルトンが相異なり、スケルトン毎に設定されている基準移動量が相異なるようにすると、移動量すなわち揺動の範囲が相異なる(例えば、襟元及び袖口の近傍の揺動の範囲は狭く、腹部周囲の揺動の範囲は広い)ようになり、臨場感が高められる。更に、方向算出手段によって、各ポリゴンを構成する頂点の移動方向が求められ、座標算出手段によって、頂点の座標と移動量と移動方向とから所定時間後の頂点の座標が求められるため、臨場感のある揺動を表現することが可能となる。
【図面の簡単な説明】
【図1】本発明の動画像生成装置が適用されるビデオゲーム装置の一実施形態を示すブロック構成図である
【図2】動画像生成装置の機能ブロック図である。
【図3】ポリゴンと頂点との関係を示す概念図である。
【図4】上着モデルを構成するポリゴンの表示位置を規定する人体の上半身を表わすスケルトンの一例である。
【図5】上着モデルのポリゴンを構成する各頂点の各スケルトンへの結合度の一例を表わす図表である。
【図6】スケルトン毎の基準移動量の一例を示す図表である。
【図7】動画像生成装置の処理の概要を表わすフローチャートである。
【図8】本発明の動画像生成装置を用いた上着モデルの頂点の移動を表わす概念図である。
【符号の説明】
1 CPU
2 バスライン
3 グラフィックスデータ生成プロセッサ
4 インターフェース回路
5 メインメモリ
6 ROM
7 伸張回路
8 パラレルポート
9 シリアルポート
10 描画プロセッサ
11 音声プロセッサ
12 デコーダ
13 インターフェース回路
21 バッファ
22 モニタ
29 コントローラ
100 ゲーム機本体
200 記録媒体
300 動画像生成装置
301 頂点座標記憶部(頂点座標記憶手段)
302 結合度記憶部(結合度記憶手段)
303 基準移動量記憶部(基準移動量記憶手段)
310 移動量算出部(移動量算出手段)
311 方向算出部(方向算出手段)
312 座標算出部(座標算出手段)

Claims (9)

  1. 複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成プログラムであって、コンピュータを、
    各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
    各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
    各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
    前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
    各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
    前記頂点の座標、前記移動量及び前記移動方向から所定時間後の頂点の座標を求める座標算出手段として機能させることを特徴とする動画像生成プログラム。
  2. 前記移動量算出手段は、前記基準移動量について前記結合度を荷重として荷重平均することによって移動量の最大値である最大移動量を求め、この最大移動量を用いて移動量を求めることを特徴とする請求項1に記載の動画像生成プログラム。
  3. 前記移動量算出手段は、モデルの大きさに基づいて前記最大移動量を修正することを特徴とする請求項2に記載の動画像生成プログラム。
  4. 前記移動量算出手段は、前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする請求項2または3に記載の動画像生成プログラム。
  5. 前記移動量算出手段は、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして前記最大移動量の範囲内の乱数を発生させ、発生された乱数値に基づいて移動量を求めることを特徴とする請求項4に記載の動画像生成プログラム。
  6. 前記方向算出手段は、3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする請求項1〜5のいずれかに記載の動画像生成プログラム。
  7. 前記方向算出手段は、前記頂点の座標に基づいて値が定まる乱数の初期値を元にして3個の乱数を発生させ、発生された乱数値に基づいて移動方向を求めることを特徴とする請求項6に記載の動画像生成プログラム。
  8. 複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成方法であって、コンピュータが、
    前記コンピュータに設けられた記憶手段に各ポリゴンを構成する頂点の座標と、各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度と、各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量とを格納しており、
    前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出処理と、
    各ポリゴンを構成する頂点の移動方向を求める方向算出処理と、
    前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出処理とを実行することを特徴とする動画像生成方法。
  9. 複数のポリゴンと各ポリゴンの表示位置を規定する複数のスケルトンとを備えるモデルの表面が不規則に揺動する動画像を生成する動画像生成装置であって、
    各ポリゴンを構成する頂点の座標を格納する頂点座標記憶手段と、
    各ポリゴンを構成する頂点の各スケルトンに対する結合の程度である結合度を格納する結合度記憶手段と、
    各スケルトン毎に設定され、当該スケルトンのみに結合する頂点の移動量の最大値である基準移動量を格納する基準移動量記憶手段と、
    前記結合度と前記基準移動量とに基づいて頂点の移動量を求める移動量算出手段と、
    各ポリゴンを構成する頂点の移動方向を求める方向算出手段と、
    前記頂点の座標と前記移動量と前記移動方向とから所定時間後の頂点の座標を求める座標算出手段とを備えることを特徴とする動画像生成装置。
JP2001240447A 2001-08-08 2001-08-08 動画像生成プログラム、動画像生成方法及び装置 Expired - Fee Related JP3564440B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001240447A JP3564440B2 (ja) 2001-08-08 2001-08-08 動画像生成プログラム、動画像生成方法及び装置
US10/208,385 US6972766B2 (en) 2001-08-08 2002-07-29 Recording medium storing dynamic picture image generation program, dynamic picture image generation program, dynamic picture image generation method, and device for the same
EP02017664A EP1288866B1 (en) 2001-08-08 2002-08-06 Image generation method
DE60204089T DE60204089T2 (de) 2001-08-08 2002-08-06 Bilderzeugungsverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001240447A JP3564440B2 (ja) 2001-08-08 2001-08-08 動画像生成プログラム、動画像生成方法及び装置

Publications (2)

Publication Number Publication Date
JP2003051030A JP2003051030A (ja) 2003-02-21
JP3564440B2 true JP3564440B2 (ja) 2004-09-08

Family

ID=19071060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001240447A Expired - Fee Related JP3564440B2 (ja) 2001-08-08 2001-08-08 動画像生成プログラム、動画像生成方法及び装置

Country Status (4)

Country Link
US (1) US6972766B2 (ja)
EP (1) EP1288866B1 (ja)
JP (1) JP3564440B2 (ja)
DE (1) DE60204089T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7787142B2 (en) * 2003-05-09 2010-08-31 Ppg Industries Ohio, Inc. Method and system for designing the color of a coating composition on an article
US20040236552A1 (en) * 2003-05-22 2004-11-25 Kimberly-Clark Worldwide, Inc. Method of evaluating products using a virtual environment
JP3926307B2 (ja) 2003-08-06 2007-06-06 株式会社スクウェア・エニックス 3次元画像描画装置及び方法、プログラム、並びに記録媒体
JP4545543B2 (ja) * 2004-05-07 2010-09-15 任天堂株式会社 ゲームシステムおよびゲームプログラム
US8098256B2 (en) 2005-09-29 2012-01-17 Apple Inc. Video acquisition with integrated GPU processing
JP2007143684A (ja) 2005-11-25 2007-06-14 Konami Digital Entertainment:Kk ゲーム装置、ゲーム用画像処理方法及びプログラム
TWI520765B (zh) * 2014-03-27 2016-02-11 國立臺灣大學 幾何結構解析方法、其系統及其電腦程式產品
CN108959393B (zh) * 2018-05-31 2021-04-13 北京五八信息技术有限公司 动态图片处理方法、装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5663514A (en) * 1995-05-02 1997-09-02 Yamaha Corporation Apparatus and method for controlling performance dynamics and tempo in response to player's gesture
JP3537259B2 (ja) * 1996-05-10 2004-06-14 株式会社ソニー・コンピュータエンタテインメント データ処理装置およびデータ処理方法
JP3625172B2 (ja) * 2000-04-26 2005-03-02 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録されたコンピュータ読み取り可能な記録媒体およびビデオゲーム装置
JP3625201B2 (ja) * 2001-10-24 2005-03-02 株式会社コナミコンピュータエンタテインメントスタジオ 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置

Also Published As

Publication number Publication date
JP2003051030A (ja) 2003-02-21
DE60204089D1 (de) 2005-06-16
EP1288866A3 (en) 2004-02-04
DE60204089T2 (de) 2006-02-02
US20030032482A1 (en) 2003-02-13
EP1288866A2 (en) 2003-03-05
US6972766B2 (en) 2005-12-06
EP1288866B1 (en) 2005-05-11

Similar Documents

Publication Publication Date Title
JP3853329B2 (ja) ゲームプログラム及びゲーム装置
JP2010022646A (ja) プログラム、情報記憶媒体および画像生成システム
JP2011101752A (ja) プログラム、情報記憶媒体、及び、画像生成装置
JP3625172B2 (ja) 画像作成装置、画像作成方法、画像作成プログラムが記録されたコンピュータ読み取り可能な記録媒体およびビデオゲーム装置
JP3564440B2 (ja) 動画像生成プログラム、動画像生成方法及び装置
KR100543153B1 (ko) 3차원 화상 처리 프로그램, 3차원 화상 처리 장치, 3차원화상 처리 방법 및 비디오 게임 장치
JP2007141082A (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP2005032140A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3001538B1 (ja) ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体
JP3597792B2 (ja) 3次元画像処理方法、装置、3次元画像処理プログラム及びビデオゲーム装置
JP3602835B2 (ja) ビデオゲーム装置およびその制御方法ならびにゲームプログラム
JP5088972B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム、記録媒体、及び半導体装置
JP2001079261A (ja) 画像生成システム及び情報記憶媒体
EP1235187A1 (en) Image processor, image processing method, and storage medium
JP2001273525A (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法
JP3643036B2 (ja) 透視変換する装置及び方法
JP3737784B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP2000339497A (ja) 画像生成装置、画像生成方法、エンタテインメント・システム及び記録媒体
JP3617960B2 (ja) 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置
JP2003288609A (ja) 3次元画像処理プログラム、3次元画像処理装置、3次元画像処理方法及びビデオゲーム装置
JP3105817B2 (ja) 画像表示処理装置,画像表示処理方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体
JP3629453B2 (ja) ゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置
JP4632530B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
JP2004141352A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4391633B2 (ja) 画像生成システム及び情報記憶媒体

Legal Events

Date Code Title Description
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: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040607

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080611

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140611

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees