(57)【要約】【課題】オブジェクトのアニメーション表示のためのメモリの容量低減と演算負荷の軽減とを図る。【解決手段】多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件、例えばゲーム空間を描画する仮想カメラ視点との距離に応じて複数種類準備されたポリゴンを付随するスケルトンに貼り付けることで描画する。仮想カメラ視点との距離に応じてノードを定義するデータであって特定位置を基準にしたベクトルデータを格納するバッファ１１と、仮想カメラ視点との距離に応じて使用するノードを選定するＣＰＵ１と、モーションデータを格納するバッファ１１と、選定されたノードをモーションデータに従って順次ゲーム空間上に展開生成するグラフィックスデータ生成プロセッサ３とを備える。【選択図】      図１
2004303063.tif 000002
【特許請求の範囲】
【請求項１】
多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画するための画像生成プログラムであって、
コンピュータを、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、
前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、
選定された前記ノードの定義データからスケルトンを仮想空間上に生成するスケルトン生成手段として機能させることを特徴とする画像生成プログラム。
【請求項２】
動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段としてコンピュータを更に機能させ、前記スケルトン生成手段は、前記選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成することを特徴とする請求項１記載の画像生成プログラム。
【請求項３】
前記オブジェクト描画条件は、前記仮想空間に配置された仮想カメラ視点と描画されるオブジェクトとの間の前記仮想空間における距離であることを特徴とする請求項１又は２に記載の画像生成プログラム。
【請求項４】
前記ノード定義データ選定手段は、前記仮想カメラ視点と描画されるオブジェクトとの間の距離と、選定すべきノードとをルックアップテーブル形式で対応付けて格納することを特徴とする請求項３記載の画像生成プログラム。
【請求項５】
前記ノード定義データ選定手段は、前記仮想カメラ視点と描画されるオブジェクトとの間の距離を複数領域に分け、各領域に応じて使用するノード定義データを選定することを特徴とする請求項３又は４記載の画像生成プログラム。
【請求項６】
前記ノード定義データ選定手段は、前記仮想カメラ視点と描画されるオブジェクトとの間の距離に応じて、使用するノードを選定するための情報をマスキング情報として記憶し、前記スケルトン生成手段は、前記マスキング情報を用いてのマスキング処理を実行することで、選定されたノードの定義データのみから前記仮想空間上にスケルトンを生成することを特徴とする請求項３乃至５のいずれかに記載の画像生成プログラム。
【請求項７】
前記オブジェクト描画条件は、前記仮想空間に配置された仮想カメラ視点から見た描画されるオブジェクトの画像サイズであることを特徴とする請求項１又は２に記載の画像生成プログラム。
【請求項８】
前記オブジェクト描画条件は、描画されるオブジェクトの前記仮想空間での移動速度であることを特徴とする請求項１又は２に記載の画像生成プログラム。
【請求項９】
前記スケルトン生成手段により生成したスケルトンにポリゴンが貼り付けられることによりオブジェクトが描画され、選定されるノードに対応して前記各オブジェクト描画条件毎に異なるポリゴンを記憶するポリゴン記憶手段を更に有することを特徴とする請求項１乃至８のいずれかに記載の画像生成プログラム。
【請求項１０】
多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画する画像生成装置であって、
前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、
前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、
選定された前記ノードの定義データからスケルトンを仮想空間上に生成するスケルトン生成手段とを有することを特徴とする画像生成装置。
【請求項１１】
多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画する画像生成方法であって、
前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを予めノード定義データ記憶手段に格納しておき、
前記オブジェクト描画条件に応じて使用するノードを選定し、
選定された前記ノードの定義データからスケルトンを仮想空間上に生成することを特徴とする画像生成方法。
【請求項１２】
多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画するビデオゲーム装置であって、
前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、
前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、
選定された前記ノードの定義データからスケルトンを仮想空間上に生成するスケルトン生成手段とを有することを特徴とするビデオゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多関節構造体をベースとして例えばこれにポリゴンを貼り付けてなるオブジェクトを描画し、更にモーションデータに応じて動画像として描画するための技術に関する。
【０００２】
【従来の技術】
従来、人物等を模擬的に表すオブジェクトをモニタ画面等にグラフィック表示可能に描画するのに、例えば腰の位置を基準（ＲＯＯＴ）とし、この基準（ＲＯＯＴ）から最初の関節（ノード位置）を定義し、この関節から次の関節を定義するというように順次関節を求め、関節同士を連結してスケルトンを生成し、さらに各スケルトンにポリゴンを貼り付けるといった体系を採用し、描画処理時には、基準（ＲＯＯＴ）から順番に下流側に向けて、ノード、ポリゴン等の座標、回転量を演算して描画する手法がある。そして、オブジェクトに動き（アニメーション）を与える場合、その動き毎に予め準備されたモーション定義データに従って順次演算処理して各時点でのオブジェクトを経時的に変化するように描画することで、オブジェクトをゲーム空間上で移動表示していた。
【０００３】
ところで、近年のビデオゲームの分野にあっては画像の高精細化の要求があり、それに伴い特にゲーム空間に描画されるオブジェクトに使用するポリゴンデータ量、特にゲーム空間で移動するオブジェクトの動画像を描画するためのモーション定義データ量が著しく増大する傾向にある。特にゲーム装置の場合、その特質上、描画処理を高速周期で繰り返す必要があり、大容量のメモリを搭載した高速処理のハードウエアを搭載すれば、ある程度の要求は満足できるものの、メモリ、演算処理部の資源は有限であり、ハードウェアを有効利用可能なソフトウェア部分の開発にさらなる工夫が求められている。
【０００４】
例えば、仮想カメラ視点、即ちプレイヤーの視点位置に対してゲーム空間内で近接／離反するキャラクタ（オブジェクト）の描画を高速処理する一手法として、近距離用、中距離用及び遠距離用として各々別々のオブジェクトを予め準備したものが提案されている。すなわち、オブジェクトを規定するノードの個数を距離に応じて３種類準備しておき、かつそれに合わせてポリゴンデータ（さらにテクスチャデータ）もそれぞれ準備しておき、仮想カメラ視点との距離に応じて切り替えて使用するようにしたものである。仮想カメラ視点との距離が近距離であれば、最も精細なオブジェクトデータを読み出して描画処理を行い、遠距離であれば、最も粗いオブジェクトデータを読み出して描画処理を行うことで、演算負荷を軽減している。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記したような基準（ＲＯＯＴ）から順次スケルトンを定義する方法では、近距離用、中距離用及び遠距離用としてスケルトンを準備する態様の場合、オブジェクトに同一の動き、例えば「歩く」動作についてアニメーション（動画表示）を行わせる場合、近距離用、中距離用及び遠距離用の各動き毎にそれぞれ別のモーション定義データを準備する必要があり、特にオブジェクトに細かな動き、種々の動きが要求される現状のゲーム分野では、アニメーションの種類が著しく多くなり、そのデータ量は無視できない。また、同一の動きを行わせるにも拘わらず、近距離用、中距離用及び遠距離用にそれぞれ別のアニメーション演算プログラムデータを持たせる必要もある。
【０００６】
また、距離に無関係に、オブジェクトを１種類の（すなわち高精細の）スケルトンで定義し、アニメーション演算を行うタイプでは、特に遠距離でのアニメーション演算に於いて実際に遊技者には認識できないようなポリゴンについても全て演算を実行する等不要な演算を多量に行っていることとなり、演算負荷の軽減上好ましいとは言い難い。
【０００７】
一方、例えば上記基準から各関節に対してベクトルを定義し、このベクトルの端点をノードとしてこれらノードからスケルトンを生成する方法がある。この方法によれば上記基準から順次演算するよりも直接的にスケルトンを生成することができ、オブジェクトの描画をより高速に行うことが可能となるが、依然、上記距離に応じたオブジェクトデータ、モーションデータを用意する場合の問題、一つの精細なオブジェクトを距離と無関係に用いる場合の問題を解決することはできない。
【０００８】
尚、仮想カメラ視点からのゲーム空間に於ける距離のみならず、例えば大きさが変化するキャラクタ（オブジェクト）を描画する場合も同様な改善が望まれる。また、低速〜高速で左右等に移動するキャラクタ（オブジェクト）を描画する場合、低速でオブジェクトが移動する場合には精細に描画することが望ましいが、高速で移動するオブジェクトはさほど精細でなくとも問題とならないことから、上記同様な工夫が望まれる。
【０００９】
本発明は、上記に鑑みてなされたもので、メモリを大量に必要としたり、不要な演算を多量に行う必要がなく、仮想カメラ視点とオブジェクトとの間の距離、オブジェクトの大きさ、オブジェクトの移動速度等のオブジェクト描画条件に応じた描画を行い、オブジェクトの静止画像、動画像を高速描画を可能とする画像生成装置、画像生成プログラム、画像生成方法及びビデオゲーム装置を提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
請求項１記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画する画像生成プログラムであって、コンピュータを、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、選定された前記ノードの定義データからスケルトンを仮想空間上に生成するスケルトン生成手段として機能させるものである。
【００１１】
請求項１０記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画する画像生成装置であって、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、選定された前記ノードの定義データからスケルトンを仮想空間上に生成するスケルトン生成手段とを有することを特徴とする画像生成装置である。
【００１２】
請求項１１記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画する画像生成方法であって、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを予めノード定義データ記憶手段に格納しておき、前記オブジェクト描画条件に応じて使用するノードを選定し、選定された前記ノードの定義データからスケルトンを仮想空間上に生成することを特徴とする画像生成方法である。
【００１３】
請求項１２記載の発明は、多関節構造のオブジェクトを、関節に対応するノードを用いてオブジェクト描画条件に応じて３次元仮想空間に描画するビデオゲーム装置であって、前記仮想空間の特定位置を基準として前記仮想空間で使用され得る全てのノードを定義するノード定義データを格納するノード定義データ記憶手段と、前記オブジェクト描画条件に応じて使用するノードを選定するノード定義データ選定手段と、選定された前記ノードの定義データからスケルトンを仮想空間上に生成するスケルトン生成手段とを有することを特徴とするビデオゲーム装置である。
【００１４】
これらの各発明によれば、仮想空間に画像を生成・描画するのに使用され得る全てのノードを定義するためのノード定義データを記憶しておき、例えば仮想カメラ視点に対する距離やオブジェクトの大きさ、オブジェクトの移動速度等のオブジェクト描画条件に応じてオブジェクトの描画に用いるスケルトンを生成するためのノード定義データを選定し、選定されたノード定義データを基にスケルトンを生成し、これに同じくオブジェクト描画条件に応じたポリゴンを貼り付けて例えばモニタ上に描画する。従って、オブジェクト描画条件毎にそれぞれのノード定義データを持つ必要がない分、データ容量が低減化され、演算負荷の軽減が図れる。特に、モーションデータを用いて動画像を生成・描画する場合、オブジェクト描画条件毎にそれぞれモーションデータを持つ必要がなく、一層、データ容量が低減化され、演算負荷の軽減が図れる。
【００１５】
ここで、スケルトンは、一般的には関節同士を接続するものであるが、仮想空間の特定位置を基準にしたノード定義データのうち、選定されたノード定義データのみからスケルトンが生成されるので、オブジェクト描画条件に応じて適正なスケルトンが仮想空間上に生成される。
【００１６】
例えば、ノード定義データとしては各関節位置をノード番号に割り当てるデータテーブルを用いることができる。
【００１７】
請求項２記載の発明は、請求項１記載の画像生成プログラムにおいて、動画像を生成するべく、前記ノード定義データ及び前記オブジェクトの所定時間分のモーションを定義するモーション定義データから生成されるモーションデータを格納するためのモーションデータ記憶手段としてコンピュータを更に機能させ、前記スケルトン生成手段は、前記選定された前記ノードに関する前記モーションデータに従ってスケルトンを順次仮想空間上に生成することを特徴する。この発明によれば、モーションデータ記憶手段から順次読み出されたモーションデータに従ってスケルトンが仮想空間上に生成され、結果的にオブジェクトが動画像として描画される。
【００１８】
モーション定義データとしては、前記仮想空間の特定位置を一端とする標準の位置ベクトル（ノードの位置座標）及び標準の方向ベクトル（角度データ）からなるベクトルデータを用いることが考えられる。
【００１９】
ここで、図１０を用いて、モーション定義データとしてベクトルデータを含む場合の選定されるベクトルデータと、ノードと、これに貼り付けるポリゴンとの関係を説明する。図１０において、（ｎ０）、（ｎ１）、（ｎ２）、（ｎ３）は仮想空間の特定位置Ｐｂを基点としてノード位置を定義するベクトルデータを表し、（Ｎ０）、（Ｎ１）、（Ｎ２）、（Ｎ３）はノード番号を表している。図１０（ａ）はベクトルデータ（ｎ０）、（ｎ１）、（ｎ２）、（ｎ３）が全て使用（選定）された場合の図、図１０（ｂ）はオブジェクト描画条件に応じたベクトルデータ（ｎ０）、（ｎ１）、（ｎ３）が使用（選定）された場合の図、図１０（ｃ）はオブジェクト描画条件に応じたベクトルデータ（ｎ０）、（ｎ３）が使用（選定）された場合の図である。図１０（ａ）では、ベクトルデータ（ｎ０）、（ｎ１）、（ｎ２）、（ｎ３）を夫々使用して（ノード番号（Ｎ０）、（Ｎ１）、（Ｎ２）、（Ｎ３）を用いて）スケルトンが生成され、それに対応する、即ちスケルトン生成のオブジェクト描画条件と同じオブジェクト描画条件に応じた形、大きさのポリゴン（Ｐ０）、（Ｐ１）、（Ｐ２）が貼り付けられ、更にテクスチャを貼り付けて画像として描画される。また、図１０（ｂ）では、ベクトルデータ（ｎ２）を除いて（ノード番号（Ｎ２）を除いて）ノード番号（Ｎ１）と、除いたノード番号（Ｎ２）以外の、例えばノード番号（Ｎ３）との間でスケルトンが生成され、それに対応する形、大きさのポリゴン（Ｐ０’）、（Ｐ１’）が貼り付けられ、更にテクスチャが貼り付けられて画像として描画される。また、図１０（ｃ）では、ベクトルデータ（ｎ１）、（ｎ２）を除いて（ノード番号（Ｎ１）、（Ｎ２）を除いて）ノード番号（Ｎ０）と、除いたノード番号（Ｎ１）、（Ｎ２）以外の、例えばノード番号（Ｎ３）との間でスケルトンが生成され、それに対応する形、大きさのポリゴン（Ｐ０’’）が貼り付けられ、更にテクスチャを貼り付けて画像として描画されることとなる。尚、例えば静止画像の場合には上記の通りであり、ベクトルデータの時間変化を表すデータは用いる必要がない。
【００２０】
更に、動画像の場合、従来のように基準位置からスケルトンを順番に指定していく手法の場合のように、描画条件毎に定義データ類を準備しておかなくても、１種類分のノード定義データ及び各動作に応じたモーション定義データ（を記憶しておき、オブジェクト描画条件に応じて必要なノードを選定し、選定されたノードとその動作に関するモーション定義データとからモーションデータを生成し、このモーションデータからスケルトンを生成し、オブジェクト描画条件に応じたポリゴンをテクスチャと共に貼り付けて画像として描画される。これにより、データ容量が軽減され、かつ演算負荷の軽減が図れる。
【００２１】
すなわち、本発明によれば、一部のノードを不使用としても、残りの（選定された）ノードでスケルトンが容易に生成され、これに応じたポリゴンをテクスチャと共に貼り付けることで画像として描画できる。
【００２２】
尚、ノード定義データとしては、全ノードを定義するようなデータであれば良い。また、モーション定義データとしては、例えば或るノードＡに対しては特定位置を基準とする直接的な位置ベクトルをもって定義し、そのノードＡと関係する複数のノードは、ノードＡから各ノードへの方向ベクトル及び標準的なスケルトンの長さのデータを用いても良い。動画像を描画する場合、所定時間分の動きを表す角度データと、スケルトンの長さデータの伸縮の程度を表す係数とを用い、これらから描画する画像のスケルトンを求めることができる。
【００２３】
請求項３記載の発明は、請求項１又は２に記載の画像生成プログラムにおいて、前記オブジェクト描画条件は、前記仮想空間に配置された仮想カメラ視点と描画されるオブジェクトとの間の前記仮想空間における距離であることを特徴とする。この発明によれば、描画するオブジェクトの仮想カメラ視点からの距離が近ければ多数のノードを用いることで精細な画像が提供し得る一方、遠ければ、ノードの個数を減らして描画しても不自然さはない。
【００２４】
請求項４記載の発明は、請求項３に記載の画像生成プログラムにおいて、前記ノード定義データ選定手段は、仮想カメラ視点と描画されるオブジェクトとの間の距離と、選定すべきノードとをルックアップテーブル形式で対応付けて格納することを特徴とする。この発明によれば、距離情報をルックアップテーブルにて参照することで、出力としてノードの選定結果が得られるので、構成が容易になり、かつ高速処理が可能となる。
【００２５】
請求項５記載の発明は、請求項３又は４記載の画像生成プログラムにおいて、前記ノード定義データ選定手段は、仮想カメラ視点と描画されるオブジェクトとの間の距離を複数領域に分け、各領域に応じて使用するノードを選定することを特徴とする。この発明によれば、近い距離領域に含まれるオブジェクトは細かい画像として表示され、遠い距離領域に含まれるオブジェクトは遠距離となってモニタ上での視認が容易でないことから、違和感（不自然さ）のない程度の粗い画像として表示される。
【００２６】
請求項６記載の発明は、請求項３乃至５のいずれかに記載の画像生成プログラムにおいて、前記ノード定義データ選定手段は、前記仮想カメラ視点と描画されるオブジェクトとの間の距離に応じて、使用するノードを選定するための情報をマスキング情報として記憶し、前記スケルトン生成手段は、前記マスキング情報を用いてマスキング処理することで、選定されたノードの定義データから前記仮想空間上にスケルトンを生成するようになっていることを特徴とする。この発明によれば、仮想カメラ視点と前記オブジェクトとの間の距離に応じた各ノードの選定状態がマスキング情報として得られるので、このマスキング情報をいわばゲート（乃至はアンド論理処理）的に作用させることで、選定されたノードのみから仮想空間上にスケルトンが生成される。
【００２７】
請求項７記載の発明は、請求項１又は２記載の画像生成プログラムにおいて、前記オブジェクト描画条件は、前記仮想空間に配置された仮想カメラ視点から見た描画されるオブジェクトの画像サイズであることを特徴とする。この発明によれば、仮想空間上での、例えば表示対象となるオブジェクトと仮想カメラ視点との距離とから該対象オブジェクトの表示サイズ、例えば縦、横（あるいは高さ、幅）の少なくとも一方の寸法を、あるいは該対象オブジェクトの描画面積をサイズ算定部で算出し、算出結果の大小によってノード定義データ選定手段がノードの選定処理を実行することとなる。
【００２８】
請求項８記載の発明は、請求項１又は２に記載の画像生成プログラムにおいて、前記オブジェクト描画条件は、描画されるオブジェクトの前記仮想空間での移動速度であることを特徴とする。この発明によれば、例えば、モニタ上、仮想カメラ視点の左右に高速でオブジェクトが移動する場合、低速で移動する場合に比較してモニタ上での視認が容易でないことから、違和感（不自然さ）のない程度の粗い画像として表示される。
【００２９】
請求項９記載の発明は、請求項１乃至８に記載の画像生成プログラムにおいて、前記スケルトン生成手段により生成したスケルトンにポリゴンを貼り付けることによりオブジェクトが描画され、選定されるノードに対応して前記各オブジェクト描画条件毎に異なるポリゴンを記憶するポリゴン記憶手段を有するようになっていることを特徴とすることを特徴とする。この発明によれば、ノード定義データおよび各モーション定義データは１通りで済み、一方、各ポリゴンはオブジェクト描画条件毎に選定されるノードに対応する形で設けられているので、オブジェクト描画条件によっては隣接するノードが選定されない場合でも、それを補うようにポリゴンの数、（１つのノードによって得られる）モデルの形状を設定しておけば、描画された画像上でも不自然さのない画像を描くことが可能となる。
【００３０】
【発明の実施の形態】
図１は、本発明が適用されるテレビゲームシステムの一実施形態を示す構成図である。
【００３１】
図１に示されるゲームシステムは、ゲーム機本体と、プログラムデータが記録された記録媒体３０とからなる。ゲーム機本体は、アドレス、データ及びコントロールバスからなるバス２に接続されたＣＰＵ１と、このバス２に接続された、グラフィックスデータ生成プロセッサ３、インターフェース回路４、メインメモリ５、ＲＯＭ６、伸張回路７、パラレルポート８、シリアルポート９、描画処理プロセッサ１０及びバッファ１１、音声処理プロセッサ１３及びバッファ１４、デコーダ１７及びバッファ１８、インターフェース回路２０、及びメモリ２１を備えて構成されている。描画処理プロセッサ１０にはテレビジョンモニタ１２が接続され、音声処理プロセッサ１３に増幅回路１５を介してスピーカ１６が接続され、デコーダ１７に記録媒体ドライバ１９が接続され、インターフェース回路２０にメモリ２１及びコントローラ２２が接続されている。
【００３２】
ここで、上記ゲームシステムは、用途に応じてその形態が異なる。すなわち、上記ゲームシステムが、家庭用として構成されている場合においては、テレビジョンモニタ（以下、モニタという）１２及びスピーカ１６はゲーム機本体とは別体となる。また、上記ゲームシステムが、業務用として構成されている場合においては、図１に示されている構成要素はすべて一体型となっている１つの筺体に収納される。また、上記ゲームシステムが、パーソナルコンピュータやワークステーションを核として構成されている場合においては、モニタ１２は、上記コンピュータ用のディスプレイに対応し、描画処理プロセッサ１０、音声処理プロセッサ１３、伸張回路７は、それぞれ記録媒体３０に記録されているプログラムデータの一部若しくはコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応し、インターフェース回路４、パラレルポート８、シリアルポート９及びインターフェース回路２０は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ１１、１４及び１８は、それぞれメインメモリ５若しくは図示しない拡張メモリの各エリアに対応する。本実施の形態では、上記ゲームシステムが、家庭用として構成されている場合を例にして説明する。
【００３３】
次に、図１に示した各構成要素について説明する。グラフィックスデータ生成回路３は、ＣＰＵ１のいわばコプロセッサとしての役割を果たす。すなわち、このグラフィックスデータ生成回路３は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理により行う。このグラフィックスデータ生成回路３の主な処理は、ＣＰＵ１から供給される画像データの２次元若しくは３次元内における各頂点の座標データ、移動量データ、回転量データ及び仮想カメラ視点データに基づいて処理対象画像の表示エリア上におけるアドレスを求め、当該アドレスデータを、再びＣＰＵ１に返す処理や、仮想的に設定された光源からの距離に応じて、画像の輝度を計算する公知の処理等である。
【００３４】
上記インターフェース回路４は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用である。上記ＲＯＭ６はゲームシステムのオペレーティングシステムとしてのプログラムデータが、記憶されている。パーソナルコンピュータで言えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）に相当する。
【００３５】
伸張回路７は、動画に対するＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｇｒｏｕｐ）や静止画に対するＪＰＥＧ（Ｊｏｉｎｔ  Ｐｉｃｔｕｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｇｒｏｕｐ）に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理が施される。伸張処理は、デコード処理（ｖｌｃ：Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅによりエンコードされたデータのデコード）、逆量子化処理、ＩＤＣＴ（Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）処理、イントラ画像の復元処理等である。
【００３６】
描画処理プロセッサ１０は、ＣＰＵ１が発行する描画命令に基づいて、バッファ１１に対する描画処理を行う。
【００３７】
バッファ１１は、表示エリアと非表示エリアとからなり、表示エリアは、モニタ１２の表示面上に表示するデータの展開エリアであり、非表示エリア（メモリ）は、メインメモリ５に取り込まれた、以下の各種データに基づいてのデータ展開が行われるエリアである。
【００３８】
メインメモリ５は、ノード定義データ（全ノードを定義するデータ）と、ポリゴンを定義するモデルデータと、キャラクタ等を描画するべく各スケルトンに相対的に対応するポリゴンを定義する後述する距離領域毎のモデルデータとを記憶すると共に、キャラクタ等のモデルに動きを行わせるべく各ノード定義データを所定時間（例えばモニタ１２のフレーム周期；１／６０秒）毎に規定する動き（データ基端の座標データ（位置ベクトル）、スケルトンの延在軸線を中心とする軸回転角、即ちねじれを表す回転角データ（方向ベクトル））データ（モーション定義データ）と、距離領域毎でのノード定義データを選定するための選定データと、選定データに応じて選定されたノードについてのみ仮想空間としての３次元空間にスケルトンの展開生成処理を行わせるためのマスキング処理用のマスキング情報（マスクデータ）とを記憶し、さらに、テクスチャデータと、カラーパレットデータとを記憶する。
【００３９】
上記において、時間軸のない静止画の場合のオブジェクトの描画は、ノード定義データを用い、モーション定義データを用いずに生成できる。一方、動画の場合のオブジェクトの描画は、ノード定義データとモーション定義データとからモーションデータ（ノード位置及び角度データ）を生成し、このモーションデータから実際に描画が行われる。動画の場合に、モーション定義データとして持つことで、モーションデータを求める処理が増える一方、各モーションを全てモーションデータとして持つ場合に比して、メモリ容量を、モーションの種類によっては格段に低減できることとなる。なお、モーションデータのまま持つようにした態様であっても構わない。
【００４０】
また、テクスチャデータは、２次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。
【００４１】
これらのデータは、記録媒体３０から一度に、若しくはゲームの進行状況に合わせて複数回に分けて、ＣＰＵ１により予めメインメモリ５に記録される。
【００４２】
描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の２次元画像を描画するための描画命令がある。ここで、ポリゴンは、多角形の２次元画像であり、本実施の形態においては、三角形若しくは四角形が用いられる。
【００４３】
ポリゴンを用いて立体的な画像を描画するための描画命令は、バッファ１１の表示エリア上におけるポリゴン頂点アドレスデータ、ポリゴンが貼り付けられるテクスチャデータのバッファ１１上における記憶位置を示すテクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１１上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データとからなる。
【００４４】
これらのデータの内、表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの３次元空間上におけるポリゴン頂点座標データを、対応するスケルトンの３次元空間内でのベクトルデータに基づいて座標変換することによって２次元上でのポリゴン頂点座標データに置換したものである。また、輝度データは、上記グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの上記座標変換後のポリゴン頂点座標データが示す位置から、仮想的に配置された光源間での距離に基づいて決定される。
【００４５】
上記ポリゴン頂点アドレスデータは、バッファ１１の表示エリア上のアドレスを示す。描画処理プロセッサ１０は、３若しくは４個のポリゴン頂点アドレスデータで示されるバッファ１１の表示エリアの範囲に対応するテクスチャデータを書き込む。
【００４６】
コントローラ２２の操作により、表示面上でキャラクタ（オブジェクト）を動かす場合、言い換えれば、キャラクタそのものの動きを表現する場合若しくはキャラクタを見ている位置（仮想カメラ視点）を変える場合、次のような処理が行われる。ＣＰＵ１は、非表示エリア上のノード定義データ内のベクトルデータ（位置データ、回転角データ）を、グラフィックスデータ生成プロセッサ３によって、仮想カメラ視点、３次元空間上で移動量データ及び回転量データに基づき座標変換させ、スケルトンを３次元空間上に展開生成する。各ポリゴンの３次元空間上の座標データは、対応するノードと関連してメインメモリ５に記憶されている。そして、グラフィックスデータ生成プロセッサ３は、ＣＰＵ１の指令により、それぞれのノードに対応する各ポリゴンの移動後及び回転後の３次元座標データを求める。このようにして求められた各ポリゴンの３次元座標データの内、水平及び垂直方向の座標データが、バッファ１１の表示エリア上のアドレスデータ、すなわち、ポリゴン頂点アドレスデータとして、描画処理プロセッサ１０に供給される。描画処理プロセッサ１０は、３個若しくは４個のポリゴン頂点アドレスデータによって示されるバッファ１１の三角形若しくは四角形の表示エリア上に、予め割り当てられているテクスチャアドレスデータが示すテクスチャデータを書き込む。これによって、モニタ１２の表示面上には、多数のポリゴンにテクスチャデータの貼り付けられた物体（オブジェクト）が表示される。
【００４７】
通常の２次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１１上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データからなる。これらのデータの内、頂点アドレスデータは、グラフィックスデータ生成プロセッサ３がＣＰＵ１からの２次元平面上における頂点座標データをＣＰＵ１からの移動量データ及び回転量データに基づいて、座標変換して得られる座標データである。以下、描画処理については、「描画命令を発行する」等のように簡略化して記載する。
【００４８】
音声処理プロセッサ１３は、記録媒体３０から読み出されたＡＤＰＣＭデータをバッファ１４に記載し、このバッファ１４に記憶されたＡＤＰＣＭデータを音源とする。そして、音声処理プロセッサ１３は、ＡＤＰＣＭデータを、例えば４４．１ＫＨｚの周波数のクロックで読み出す。そして、音声処理プロセッサ１３は、バッファ１４から読み出したＡＤＰＣＭデータに対し、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定、リバーブの付加等の処理を施す。記録媒体３０から読み出される音声データがＣＤ−ＤＡ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ｄｉｇｉｔａｌ  Ａｕｄｉｏ）等のＰＣＭデータの場合においては、音声処理プロセッサ１３により、ＡＤＰＣＭデータに変換される。また、ＰＣＭデータに対するプログラムデータによる処理は、メインメモリ５上において直接行われる。メインメモリ５上において処理されたＰＣＭデータは、音声処理プロセッサ１３に供給されてＡＤＰＣＭデータに変換された後に、上述した各種処理が施された後に、音声としてスピーカ１６から出力される。
【００４９】
記録媒体ドライバ１９は、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等である。記録媒体３０は、例えばハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等である。記録媒体ドライバ１９は、記録媒体３０から画像、音声、プログラムデータを読み出し、読み出したデータを、デコーダ１７に供給する。デコーダ１７は、記録媒体ドライバ１９からの再生データに対し、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）によるエラー訂正処理を施し、エラー訂正処理を施したデータを、メインメモリ５若しくは音声処理プロセッサ１３に供給する。
【００５０】
メモリ２１は、例えば、ホルダ及びカード型のメモリからなる。カード型のメモリは、例えば終了時点の状態を保持する等のように、ゲーム各種パラメータを保持するためのものである。
【００５１】
コントローラ２２は、オブジェクトに所要の動きを行わせる操作指示部で、左トリガーボタン２２Ｌ、右トリガーボタン２２Ｒ、スタートボタン２２ａ、上キーＵ、下キーＤ、左キーＬ、右キーＲからなる十字キー２２ｂと、キャンセルボタン２２ｃ、セレクトボタン２２ｄ、ボタンユニット２２ｅ、アナログスティック２２ｆ、図示はしていないがコントローラの裏面には、決定ボタンがさらに設けられている。
【００５２】
十字キー２２ｂ及びアナログスティック２２ｆは、遊技者がＣＰＵ１に対してオブジェクトを画面上で上下左右に動かし、乃至はオブジェクトの一部に動きを行わせるコマンドを与える操作指示部材である。上下の動きとは例えばジャンプ（ＪＵＭＰ）をいい、左右の動きとは例えば歩行動作とか、走行動作をいう。左右における各態様は、例えば、同時に左トリガーボタン２２Ｌや右トリガーボタン２２Ｒ等の方向指示部材を操作する等すれば、夫々を区別可能に指示することができる。スタートボタン２２ａは、ゲームプレーヤが、記録媒体３０からロードされるゲームプログラムの開始をＣＰＵ１に指示するためのものである。また、決定した事項をキャンセルしてその前の段階に戻すキャンセルボタン２２ｃ、記録媒体３０からメインメモリ５にロードされるゲームプログラムデータに関する各種選定をＣＰＵ１に指示するセレクトボタン２２ｄ、ゲーム空間内での視点の切り替えをＣＰＵ１に指示するボタンユニット２２ｅが設けられている。なお、左トリガーボタン２２Ｌ、右トリガーボタン２２Ｒ、裏面の決定ボタンの機能は、記録媒体３０からロードされるゲームプログラムによって異なるが、例えば格闘ゲーム等では、攻撃の各種技に対応させている。
【００５３】
次に当該ゲームシステムの動作につき説明する。電源スイッチ（図示せず）がオンにされると、ゲームシステムに電源が投入される。この時、記録媒体３０が、記録媒体ドライバ１９に装填されていると、ＣＰＵ１が、ＲＯＭ６に記憶されているオペレーティングシステムに基づいて、記録媒体ドライバ１９に対し、記録媒体３０からのプログラムデータの読み出しを指示する。これにより、記録媒体ドライバ１９は、記録媒体３０から画像、音声及びプログラムデータを読み出す。読み出された画像、音声及びプログラムデータは、デコーダ１７に供給され、ここで、エラー訂正処理が施される。デコーダ１７においてエラー訂正処理の施された画像データは、バス２を介して伸張回路７に供給され、ここで、上述した伸張処理が施された後に、描画処理プロセッサ１０に供給され、この描画処理プロセッサ１０により、バッファ１１の非表示エリアに書き込まれる。なお、デコーダ１７においてエラー訂正処理の施された音声データは、メインメモリ５若しくは音声処理プロセッサ１３に供給され、メインメモリ５若しくはバッファ１４に書き込まれる。
【００５４】
また、デコーダ１７においてエラー訂正処理の施されたプログラムデータは、メインメモリ５に供給され、このメインメモリ５に書き込まれる。以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラムデータに基づき実行されるプログラム、並びにゲームプレーヤが、コントローラ２２を介して指示する内容に基づいて、ゲームを進行する。即ち、ＣＰＵ１は、コントローラ２２を介してゲームプレーヤから指示される指示内容に基づいて、適宜、画像処理の制御、音声処理の制御、内部処理の制御を行う。画像処理の制御とは、本実施の形態においては、キャラクタに指示される一連の動きに該当するモーションデータや仮想カメラ視点データ等から、グラフィックスデータ生成プロセッサ３での各スケルトンの座標等の計算乃至ポリゴンの頂点座標データの計算の指令、得られた３次元座標データからバッファ１１の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等である。音声処理の制御とは、音声処理プロセッサ１３に対する音声出力コマンドの発行、レベル、リバーブ等の指定である。内部処理の制御とは、例えばコントローラ２２の操作に応じた演算等である。
【００５５】
図２は、図１に示したＣＰＵ１の有する機能実行部を示す説明図である。ＣＰＵ１は、図１に示した記録媒体３０から読み出され、メインメモリ５に記憶されたプログラムデータを読むことにより、図２に示す機能を持つ。この図２に示されているＣＰＵ１の機能は、コントローラ２２のいずれのボタンが操作されたかを検出するボタン操作検出部１０１、３次元ゲーム空間内での仮想カメラ視点を予め準備された所定のルール等に基づいて設定する仮想カメラ視点位置データ設定部１０２、テレビジョンモニタ１２への表示範囲を決める表示範囲情報抽出部１０３、仮想カメラ視点と前記オブジェクトとの間の距離に応じて使用するノード定義データを選定するノード定義データ選定手段としてのノード定義データ選定部１０４、ノード定義データを用いてベクトル演算を実行するスケルトン生成演算指令部１０５の他、ポリゴン演算指令部１０６、描画命令発行部１０７、輝度処理部１０８とを有して構成される。
【００５６】
この実施態様においては、以下に説明するように、テレビジョンモニタ１２へのキャラクタの表示をノードに対する回転量の制御で行うようにしたものである。
【００５７】
図３は、人体を模擬したオブジェクトを規定するノードの連結関係を示す一実施形態を示す図、図４は、図３の各ノードを定義するノード定義データのテーブルの一例を示すものである。
【００５８】
図３中、長線はスケルトンを示し、点は関節（スケルトンの基点となる「ノード」）を示す。図３、図４に示すように、ノード番号（Ｎ０）がＨｉｐｓを示し、左足側が、ｌ−ｈｉｐ（Ｎ１）、ｌ−ｈｉｐ−ｒｏｌｌ（Ｎ２）、ｌ−ｋｎｅｅ（Ｎ３）、ｌ−ｋｎｅｅ−ｒｏｌｌ（Ｎ４）、ｌ−ａｎｋｌｅ（Ｎ５）、ｌ−ｆｏｏｔ（Ｎ６）、ｌ−ｔｏｅ（Ｎ７）、続いて左足側が、ｒ−ｈｉｐ（Ｎ８）、ｒ−ｈｉｐ−ｒｏｌｌ（Ｎ９）、ｒ−ｋｎｅｅ（Ｎ１０）、ｒ−ｋｎｅｅ−ｒｏｌｌ（Ｎ１１）、ｒ−ａｎｋｌｅ（Ｎ１２）、ｒ−ｆｏｏｔ（Ｎ１３）、ｒ−ｔｏｅ（Ｎ１４）とあり、さらに、上半身側が、ｓｐｉｎｅ０（Ｎ１５）、ｓｐｉｎｅ１（Ｎ１６）、…続いて左腕、さらに右腕の最終のノードまで順次定義される。各ノードには、例えばその親ノード番号と長さ等のデータが含まれる。
【００５９】
図５は、ノード定義データ選定部のマスキング情報として記憶されたマスクデータの一例を示す図である。マスクデータＡは、仮想カメラ視点と描画するオブジェクトとの間の距離が所定値以下の近距離領域である場合に採用されるもので、ｍａｓｋ値のｎ桁分の“０”、“１”は、その１番目から順番にノード番号に対応している。例えば最初の“１”はノード（Ｎ０）を使用することを示す。
【００６０】
マスクデータＢは、仮想カメラ視点と当該オブジェクトとの間の距離が所定値を超えてある中間距離までの中距離領域である場合に採用されるもので、例えばｍａｓｋ値の３桁目や５桁目の“０”はノード（Ｎ２）、（Ｎ４）を不使用とすることを示す。
【００６１】
マスクデータＣは、仮想カメラ視点と当該オブジェクトとの間の距離が中間距離を超えた遠距離領域である場合に採用されるものである。ｍａｓｋ値内の“０”がマスクデータＡ，Ｂ，Ｃの順で増加しているのは、オブジェクトが仮想カメラから遠ざかるに応じて、ある程度のノード定義データ、すなわちこれにより生成されるスケルトンに対応するポリゴンを省略（不使用と）しても、遊技者には粗い画像として認識されることがなくなるからである。スケルトン生成演算指令部１０５はこのオブジェクトを描画するに際して、ノード番号に従ったノード定義データがマスクデータ上でｍａｓｋ値“０”であれば、処理を省略（スキップ）するゲート処理を施して、次のｍａｓｋ値“１”のノードに対する処理に移行する。なお、Ｍはモーションデータである。処理手順にもよるが、実際にはモーションデータではなく、モーション定義データの段階でマスクをかければ、不使用のノードの展開処理を省略することができる。
【００６２】
図６は、近距離（Ａ）、中距離（Ｂ）、遠距離（Ｃ）毎に準備されたポリゴンの頂点座標データの一例である。図６に示すように、各ポリゴンはノードに付随して規定されている。
【００６３】
近距離（Ａ）では、全ノード定義データを用い、すなわち全ての関節であるノード（Ｎ０）〜（Ｎｎ）の各々に対して、付随するモデルを構成するための所定数のポリゴンの頂点座標データが規定されている。ノード（Ｎ０）にはポリゴンＰ０１、Ｐ０２、…が、ノード（Ｎ１）にはポリゴンＰ２１、Ｐ２２、…が、ノード（Ｎ２）にはポリゴンＰ２１、Ｐ２２、…が、ノード（Ｎ３）にはポリゴンＰ３１、Ｐ３２、…が、ノード（Ｎ７）にはポリゴンＰ７１、Ｐ７２が、そして、ノード（Ｎｎ）にはポリゴンＰｎ１、Ｐｎ２、…が対応している。
【００６４】
中距離（Ｂ）では、全関節、すなわちノード（Ｎ０）〜（Ｎｎ）のうち、図５の（Ｂ）でｍａｓｋ値“１”に対応したノードに対してのみ、付随するモデルを構成するためのポリゴンの頂点座標データが規定されている。ノード（Ｎ０）にはポリゴンＰ０１’、Ｐ０２’、…が、ノード（Ｎ１）にはポリゴンＰ１１’、Ｐ１２’、…が、ノード（Ｎ２）はなく、ノード（Ｎ３）にはポリゴンＰ３１’、Ｐ３２’、…が、そして、ノード（Ｎｎ）にはポリゴンＰｎ１’、Ｐｎ２’、…が対応している。
【００６５】
遠距離（Ｃ）では、全関節、すなわちノード（Ｎ０）〜（Ｎｎ）のうち、図５の（Ｃ）でｍａｓｋ値“１”に対応したノードに対してのみ、付随するモデルを構成するためのポリゴンの頂点座標データが規定されている。ノード（Ｎ０）にはポリゴンＰ０１’’、Ｐ０２’’、…が、ノード（Ｎ１）、（Ｎ２）はなく、ノード（Ｎ３）にはポリゴンＰ３１’’、Ｐ３２’’、…が、ノード（Ｎ４）〜（Ｎ６）はなく、ノード（Ｎ７）にはポリゴンＰ７１’’、Ｐ７２’’、…が、そして、ノード（Ｎｎ）にはポリゴンＰｎ１’’、Ｐｎ２’’、…が対応している。
【００６６】
なお、遠距離になる程、１つのノードに対応するポリゴン数も少なくて済むから、同じノードであっても、近距離（Ａ）、中距離（Ｂ）、遠距離（Ｃ）の順で、少しずつポリゴン数が少なくなっているものもある。また、中距離（Ｂ）や遠距離（Ｃ）では、全てのノード定義データを使用していないことから、使用するノードについて、近距離（Ａ）の場合と同じポリゴンをそのまま用いただけでは描画画像の連続性が不自然となる可能性もある。そこで、抜けたノードに対して少なくとも隣接する一方側のノードに対応するポリゴンとして、この抜けたノードに付随していたポリゴンで描画されていた部分を必要に応じてカバーするようなポリゴンを中距離（Ｂ）、遠距離（Ｃ）にて規定しておくようにすれば、違和感のない自然な画像として描画することが可能となる。このように、オブジェクト描画条件、例えば近距離（Ａ）、中距離（Ｂ）、遠距離（Ｃ）に応じてポリゴンを対応設定しておくことで、より適切な画像の描画が可能となる。
【００６７】
図７は、オブジェクトに対するモーション定義データの一例を示す図である。図６に示すように、あるオブジェクトに対する動きを定義するものとして複数種類のデータＭＤ１、ＭＤ２，…ＭＤｍがノード番号に対応付けられて格納されている。動きとしては、例えばジャンプ、歩行、走行、伏せる、泳ぐその他、種々である。また、同じ歩行でも、歩行（タイプ１）、歩行（タイプ２）のようにより細かな歩き方を表現するようにしてもよい。モーション定義データＭＤ１は、ノード番号順に所定時間、ゲームの場合フレーム時間（１／６０秒）毎にτ１、τ２、…τｎ１として定義されている。モーション定義データＭＤ２は、同様にτ１、τ２、…τｎ２（ｓ１、ｓ２は各モーションのフレーム数）として定義されている。各モーション定義データは、方向ベクトルの変化を表すデータ（ｒｘτｉ、ｒｙτｉ、ｒｚτｉ）（ｉはフレーム数ｓ中の任意のフレーム番号）である。なお、１つのモーションの所要時間は、モーションの種類毎に設定されており、上記のように、モーション定義データＭＤ１はτｓ１までであり、モーション定義データＭＤ２はτｓ２までである。
【００６８】
図８は、オブジェクトに対するモーションデータの一例を示す図である。モーションデータＭ１、Ｍ２，…Ｍｍはノード定義データとモーション定義データＭＤ１、ＭＤ２，…ＭＤｍとから、すなわちモーション定義データＭＤ１、ＭＤ２，…ＭＤｍの各ノード番号を元にノード定義データを展開させることによって求められるものである。各モーションデータＭは、座標データ（ｔｘτｉ、ｔｙτｉ、ｔｚτｉ）及びスケルトンの延在方向を表すための回転角データ（ｒ００τｉ、ｒ０１τｉ、ｒ０２τｉ、ｒ１０τｉ、ｒ１１τｉ、ｒ１２τｉ  、ｒ２０τｉ、ｒ２１τｉ、ｒ２２τｉ）である。このように、モーション定義データＭＤを利用してモーションデータＭを求める方式を採用することで、各モーション毎のモーションデータを持たせておく必要がなくなり、メモリ容量の低減上、好ましい態様となる。
【００６９】
なお、ノード定義データとしてスケルトンの標準の長さを表すデータが含まれる態様としても良く、その場合、モーションデータとして回転角データと、スケルトンの長さデータの伸縮の程度を表す係数とを採用すると良く、これによれば、ベクトルデータを用いる場合に比較して演算自体はやや多くなるものの、より少ないデータ量で上記同様のアニメ（動画）表示が可能となる。
【００７０】
図９は、ＣＰＵが処理するオブジェクトのアニメ表示処理のルーチンを示すフローチャートである。
【００７１】
コントローラ２２で、あるいはゲームプログラムに従ってオブジェクトにモーションＭｋ（図７に示すモーションＭｋ（ｋ＝１，２，…ｍのいずれか））の指定が発行されると（ステップＳＴ１）、次いで、現在の仮想カメラ視点と当該オブジェクトの特定位置Ｐｂとのゲーム空間内での距離が算出され、距離が遠、中、近のいずれであるかが判別され（ステップＳＴ３）、近距離であれば、図５に示すマスクデータＡが指定され（ステップＳＴ５）、中距離であればマスクデータＢが指定され（ステップＳＴ７）、遠距離であればマスクデータＣが指定される（ステップＳＴ９）。
【００７２】
次いで、指定されたモーションＭｋのモーション定義データ（時間τ１）が読み出され、このデータを展開することによりモーションデータが求められ、指定されたマスクデータを介してスケルトン生成演算指令部１０５に導かれ、即ち使用するノードが選定され、スケルトン生成演算の指令が行われ（ステップＳＴ１１）、グラフィックスデータプロセッサ３によってスケルトン生成演算処理が行われる。
【００７３】
この処理の終了乃至は処理中に、ステップＳＴ３での距離判別結果に対応して、図６に示す近距離用（Ａ）、中距離用（Ｂ）、遠距離用（Ｃ）の内の１つのポリゴンデータの指定が行われる（ステップＳＴ１３）。次いで、スケルトン生成演算の結果と、指定された距離用のポリゴンデータとを用いて、ポリゴン演算の指令が発行される（ステップＳＴ１５）。このポリゴン演算処理はグラフィックスデータプロセッサ３によって行われる。そして、演算が終了すると、その結果をバッファ１１に一時的に記憶するべく送出し（ステップＳＴ１７）、モーションＭｋに残りの時間τのモーションデータが有るか否かが判断され（ステップＳＴ１９）、残りが有れば、所定時間経過した後（ステップＳＴ２１）、ステップＳＴ１１に戻って、次の所定時間τの（例えば直前がτ１であれば、次にτ２）のモーションデータの読み出しが指令される。一方、アニメーションを表現するための全ての時間のデータ読み出しが終了していれば、本フローを終了する。なお、上記したようにモーションデータを求める前にモーション定義データの段階でマスクをかければ、不使用のノードの展開処理を省略することができる。
【００７４】
本発明は、以下の態様を採用することも可能である。
（１）ノード定義データ選定部１０４は、ソフトウエアで実行してもよいが、仮想カメラ視点と特定位置Ｐｂとの距離判定を行い、その結果である遠、中、近にアドレスを対応付けておいて、それらのアドレスに、図５に示すＭａｓｋ値の情報を加味（ゲート乃至はアンド論理処理）させることで、各ノードに対する使用、不使用を設定するマスキング処理を行わせてもよい。
（２）本実施形態では、ノード定義データの選定条件として仮想カメラ視点と注目オブジェクトとの距離、即ち遠近を採用したが、本発明は、これに限定されず、仮想カメラ視点から見て描画されたとしたときの画像のサイズすなわち、注目オブジェクトの縦、横（高さ、幅）寸法の少なくとも一方、乃至は注目オブジェクトの描画面積の大小を判定する手段を備え、この判定結果から採用するべきノードを選定するようにしたものであってもよい。
【００７５】
この場合、予め基準の乃至は標準のノードのデータ及びそれに付随するポリゴンデータを用いてグラフィックスデータ生成プロセッサ３により各モデルの各ポリゴンのバッファ１１の表示エリア上のアドレスデータを求め、このデータからＣＰＵ１の機能として採用する描画寸法算定部乃至は描画面積算定部等を利用して寸法あるいは面積を求める。この算出値は、仮想カメラ視点に対するオブジェクト描画条件、例えば描画横（あるいは幅）寸法の画像全体の横方向寸法に対する比率であり、この比率が高い程より多くのノード定義データが選定されるようにすればよい。面積の場合も同様にノード定義データが選定されるようにすればよい。
（３）ノード定義データの選定条件、即ちオブジェクト描画条件としてオブジェクトの移動速度を採用しても良い。例えば、オブジェクトの移動速度を移動速度検出手段で検出し、停止しているオブジェクトを描画する場合、最も精細になるように、即ち最も多くのノード定義データが選定されるようにし、オブジェクトの移動速度が高速になるほど粗く描画するように、即ち選定されるノード定義データが少なくなるようにしても良い。
【００７６】
このように、本発明は、注目オブジェクトの仮想カメラ視点との距離、描画サイズ（比率）、移動速度等の仮想カメラ視点に対するオブジェクト描画条件でノード定義データの選定処理を行わせる態様が採用可能である。
（４）本実施形態では、近距離用としてノード定義データを全て持ち、そこから中距離、遠距離を順次、いわば間引く形式でノード定義データを選定するようにしたが、これに限定されず、以下の態様も採用可能である。例えば採用される全オブジェクト描画条件に応じて採用される全ノード定義データを、基本のノード定義データとして予め準備しておき、それぞれの距離乃至は描画面積サイズ等のオブジェクト描画条件毎に、相応しい所要の乃至は異なるノード定義データの選定がなされるように予め選定方法を設定しておくという、間引き形式とは異なる選定態様としてもよい。これにより、それぞれのオブジェクト描画条件に適した最良のオブジェクトの描画が可能となる。また、オブジェクト描画条件と選定されるノード定義データとは固定化された対応関係に設定されている必要はなく、オブジェクト描画条件の入力を受けてノード定義データ選定部により所定の選定演算を実行するなどの柔軟性、変化性を付与して、必要なノード定義データの選定を行うようにしてもよい。更に、いずれの選定を行う場合でもオブジェクト描画条件に加えて、ゲームシーン（場面）、ゲーム時間、プレイヤの操作状況等の情報を利用することも可能である。例えば、マスクを利用する形態では、これらの情報に応じて予め用意した、または演算して得られたマスクを用いることが考えられる。このような構成にすることで、各場面に応じた演算負荷で適正な精度の描画を行うことができる。
（５）本発明は、オブジェクトとして人間を模したキャラクタの例で示したが、本発明はこれに限定されず、動きのある種々のオブジェクトに適用可能であり、特にゲーム空間上を移動するキャラクタに適用して好適である。
（６）本実施形態では、図６に示すように、近距離（Ａ）、中距離（Ｂ）、遠距離（Ｃ）毎に準備されたポリゴンの頂点座標データを持たせたが、オブジェクトによっては、１通りのポリゴンで描画する態様としてもよい。ノードの選定条件に対応させてポリゴンを定義する場合には、より好適な不自然さの少ない画像を提供できるという利点がある。また、必ずしもノード定義データの選定条件と対応させる必要はなく、例えばノード定義データの選定条件分と後者の２区分についてポリゴンのデータを持たせるようにしてもよい。
（７）本実施形態では、間引き形式において、ノード定義データ選定部１０４としてマスクを採用した例で示したが、図１１、図１２に示すようなカウンタ方式を採用することも可能である。
【００７７】
図１１は、動作原理及び動作に必要なデータテーブルを示すもので、（ａ）はオブジェクト描画条件とノード定義データの順番を示すノード番号とからなるマスクテーブルの一例を示す表、（ｂ）は（ａ）の例に対して、採用するノード定義データの個数を示す個数テーブル、（ｃ）は（ａ）の例に対して、近〜遠の順で採用されるノード定義データの多い順にカウンタ値を付したノード番号対応テーブルを示す。より詳細に説明すれば、図１１（ａ）は、採用可能なノード定義データがノード番号０からノード番号８までの合計９個ある例（実際には多数あるが、ここでは説明の便宜上、９個で説明する。）であって、近距離では、全てのノード定義データ、つまり９個が採用され、中距離ではノード番号０，１，３，４，７，８の６個が採用され、遠距離ではノード番号０，４，８の３個が採用される例である。そこで、（ｂ）のような個数テーブル１０４１が作成できる。
【００７８】
次に、図１１（ｃ）に示すように、近〜遠の順で採用されるノード定義データの多い順のノード番号を取り出す。ここでは、ノード番号０が近、中、遠距離の全ての（オブジェクト描画）条件で採用されるから、このノード番号０がテーブルのカウント値１に対応して記憶される。同様に、ノード番号４，８が全ての条件で採用されるから、この順にカウント値２，３に対応して記憶される。次に、近、中距離の条件で採用されるノード番号は、小さい順からノード番号１，３，７であるから、これらがカウント値４，５，６に対応して記憶される。最後に、遠距離の条件で採用されるノード番号は、小さい順からノード番号２，５，６であるから、これらがカウント値７，８，９に対応して記憶される。この結果、（ｃ）に示すノード番号対応テーブルが作成される。
【００７９】
図１２は、カウンタ方式によるノード定義データ選定部の構成図の一例を示す。オブジェクト描画条件が決定されると、決定されたオブジェクト描画条件が個数テーブル１０４１に入力され、条件に対応した値がカウンタ１０４２に出力される。カウンタ１０４２は出力された値をセットしてカウント動作を開始し、セット値に達するまでノード番号対応テーブル１０４３の対応するカウント値に対応して記憶されたノード番号対応データを順次読み出す読出用として機能する。並び替え部１０４４はノード番号対応テーブル１０４３から出力されたノード番号を昇順に並び替えて順番にスケルトン演算指令部１０５（図２参照）に出力する。
【００８０】
一例を示して動作を説明する。今、中距離がオブジェクト描画条件として決定されたとすると、個数テーブル１０４１から値６が出力される。この値６がカウンタ１０４２にセットされると、カウンタ１０４２は値１から６までのカウント動作を行う。このカウント動作によって、ノード番号対応テーブル１０４３からカウント値１，２，３，４，５，６に対応するノード番号０，４，８，１，３，７が並び替え部１０４４に出力される。並び替え部１０４４はノード番号０，４，８，１，３，７を昇順に、すなわち０，１，３，４，７，８と並び替えて、スケルトン演算指令部１０５に出力する。
（８）本実施形態では、予め準備されたモーションによる描画を例にして説明したが、本発明はこれに限定されず、操作部によって、あるいはゲームプログラムによってオブジェクトに動きを行わせる場合にも同様に適用可能である。
【００８１】
【発明の効果】
請求項１、１０、１１、１２記載の発明によれば、全ノードを定義するデータを記憶しておき、オブジェクト描画条件に応じて必要なノードを選定し、これを使用して描画すれば良く、これによって使用するノードに関する処理のみを行えばよいことから、処理負荷および記憶データ容量を軽減でき、かつ演算負荷の軽減を図ることができる。
【００８２】
請求項２記載の発明によれば、従来のようなノードを順番に指定していく手法の場合に必要な、アニメーション毎のオブジェクトに関するモーションデータを準備しておかなくても、１種類分のモーション定義データを記憶しておくだけで済み、データ容量を軽減できる。
【００８３】
請求項３記載の発明によれば、描画するオブジェクトの仮想カメラ視点からの距離が近ければ多数のノードを用いることで精細な画像が提供でき、遠ければノードの個数を減らして描画しても不自然さのない画像を提供できる。
【００８４】
請求項４記載の発明によれば、距離情報をルックアップテーブルにて参照することで、出力としてノード定義データの選定結果が得られるので、構成容易かつ高速処理が実現できる。
【００８５】
請求項５記載の発明によれば、遠い距離領域に含まれるオブジェクトは遠距離となってモニタ上での視認が容易でないことから、違和感（不自然さ）のない程度の粗い画像として表示できる。
【００８６】
請求項６記載の発明によれば、仮想カメラ視点と前記オブジェクトとの間の距離に応じた各ノードの選定状態がマスキング情報として得られるので、このマスキング情報をいわばゲート（乃至はアンド論理処理）的に作用させることで、選定されたノードからのスケルトンのみを仮想空間上に生成することができる。
【００８７】
請求項７記載の発明によれば、対象のオブジェクトと、該オブジェクトと仮想カメラ視点との距離とからオブジェクトの表示サイズ、すなわち縦、横（あるいは高さ、幅）の少なくとも１方の描画寸法を算出し、あるいはオブジェクトの描画面積を算出することで、この算出結果の大小によってノード定義データ選定手段でノード定義データの選定処理を実行できる
請求項８記載の発明によれば、モニタ上、例えば仮想カメラ視点の左右に高速でオブジェクトが移動する場合、低速で移動する場合に比較してモニタ上での視認が容易でないことから、違和感（不自然さ）のない程度の粗い画像として表示可能となる。
【００８８】
請求項９記載の発明によれば、各ノード定義データが１通りで済み、一方、各ポリゴンをオブジェクト描画条件毎に選定されるノードに対応する形で設けたので、オブジェクト描画条件によっては隣接するノードが選定されない場合でも、それを補うようにポリゴンの数、（１つのノードによって得られる）モデルの形状を設定しておけば、描画された画像上でも不自然さのない画像を描くことが可能となる。
【図面の簡単な説明】
【図１】本発明が適用されるテレビゲームシステムの一実施形態を示す構成図である。
【図２】図１に示したＣＰＵの有する機能実行部を示す説明図である。
【図３】人体を模擬したオブジェクトを規定するノードの連結関係を示す一実施形態を示す図である。
【図４】図３のノードを定義するノード定義データの一例を示すものである。
【図５】ノード定義データ選定手段として機能するマスクデータの一例を示す図である。
【図６】近距離（Ａ）、中距離（Ｂ）、遠距離（Ｃ）毎に準備されたポリゴンの頂点座標データの一例である。
【図７】オブジェクトに対するモーション定義データの一例を示す図である。
【図８】オブジェクトに対するモーションデータの一例を示す図である。
【図９】ＣＰＵが処理するオブジェクトのアニメ表示処理のルーチンを示すフローチャートである。
【図１０】選定されるノードと生成されるスケルトンとの関係を説明するための図で、（ａ）はベクトルデータ（ｎ０）、（ｎ１）、（ｎ２）、（ｎ３）が使用（選定）された場合の図、（ｂ）はベクトルデータ（ｎ０）、（ｎ１）、（ｎ３）が使用（選定）された場合の図、（ｃ）はベクトルデータ（ｎ０）、（ｎ３）が使用（選定）された場合の図である。
【図１１】動作原理及び動作に必要なデータテーブルを示すもので、（ａ）はオブジェクト描画条件とノード定義データの順番を示すノード番号とからなるマスクテーブルの一例を示す表、（ｂ）は（ａ）の例に対して、採用するノード定義データの個数を示す個数テーブル、（ｃ）は（ａ）の例に対して、近〜遠の順で採用されるノード定義データの多い順にカウンタ値を付したノード番号対応テーブルを示す図である。
【図１２】カウンタ方式によりノード定義データ選定部の構成図を示す。
【符号の説明】
１  ＣＰＵ
３  グラフィックスデータ生成プロセッサ
１０  描画処理プロセッサ
１１  バッファの非表示エリア
１２  テレビジョンモニタ
１０１  ボタン操作検出部
１０２  仮想カメラ視点位置データ設定部
１０３  表示範囲情報抽出部
１０４  ノード定義データ選定部
１０５  スケルトン生成演算指令部
１０６  ポリゴン演算指令部
１０７  描画命令発行部
【図１】
2004303063.tif 000003
【図２】
2004303063.tif 000004
【図３】
2004303063.tif 000005
【図４】
2004303063.tif 000006
【図５】
2004303063.tif 000007
【図６】
2004303063.tif 000008
【図７】
2004303063.tif 000009
【図８】
2004303063.tif 000010
【図９】
2004303063.tif 000011
【図１０】
2004303063.tif 000012
【図１１】
2004303063.tif 000013
【図１２】
2004303063.tif 000014