(57)【要約】【課題】  モデルオブジェクトの自然な動きをハードウェアに負担をかけずに表現できるプログラム、情報記憶媒体および画像生成システムを提供する。【解決手段】  本体オブジェクトＨＯＢが移動することでモデルオブジェクトＭＯＢの姿勢が変化した場合に、モデルオブジェクトＭＯＢの基本姿勢に対するモデルオブジェクトＭＯＢの姿勢変化が大きいほどその値が大きくなるストレスパラメータＳＰを演算する。求められたストレスパラメータＳＰの値がしきい値ＳＰｔｈを超える場合に、モデルオブジェクトＭＯＢを基本姿勢に近づける目標接地位置を演算し、連結オブジェクトの接地位置を目標接地位置に移動させるモーション制御を行う。【選択図】      図１２
2005322057.tif 000002
【特許請求の範囲】
【請求項１】
本体オブジェクトと、該本体オブジェクトに接続され、複数のパーツオブジェクトが関節により連結された連結オブジェクトと、を含むモデルオブジェクトがオブジェクト空間を移動する画像を生成するためのプログラムであって、
前記本体オブジェクトが移動することで前記モデルオブジェクトの姿勢が変化した場合に、該モデルオブジェクトの基本姿勢に対する該モデルオブジェクトの姿勢変化が大きいほどその値が大きくなるストレスパラメータを演算するストレス演算部と、
前記ストレスパラメータの値が所定のしきい値を超える場合に、前記モデルオブジェクトを前記基本姿勢に近づける目標接地位置を演算し、前記連結オブジェクトの接地位置を該目標接地位置に移動させるモーション制御を行うモーション制御部と、
前記モデルオブジェクトが配置された前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記ストレス演算部が、
前記モデルオブジェクトが基本姿勢である場合と前記本体オブジェクトが移動して前記モデルオブジェクトの姿勢が変化した場合とにおける前記本体オブジェクトと接続されるパーツオブジェクトの該本体オブジェクトに対する角度の差と、前記モデルオブジェクトが基本姿勢である場合と前記本体オブジェクトが移動して前記モデルオブジェクトの姿勢が変化した場合とにおける互いに連結される各パーツオブジェクトの角度の差とに基づいて、前記ストレスパラメータを演算することを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記本体オブジェクトに対して複数の前記連結オブジェクトが接続されている場合に、前記各連結オブジェクト間の前記ストレスパラメータを比較するストレス比較部としてコンピュータを機能させ、
前記モーション制御部が、
前記ストレス比較部の比較結果に基づいて、前記ストレスパラメータの値が大きい連結オブジェクトを前記ストレスパラメータの値が小さい連結オブジェクトに優先して接地位置を移動させるモーション制御を行うことを特徴とするプログラム。
【請求項４】
請求項３において、
ストレス演算部が、
前記複数の連結オブジェクトのそれぞれについて求められた前記ストレスパラメータの値を合算する処理を行い、
前記モーション制御部が、
前記ストレスパラメータの合計値が所定値以下の場合には、前記連結オブジェクトの接地位置を移動させないモーション制御を行うことを特徴とするプラグラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記モーション制御部が、
前記ストレスパラメータの値の大きさに応じて前記連結オブジェクトの接地位置の前記目標接地位置への移動速度を変化させ、該ストレスパラメータの値が大きくなるほど該連結オブジェクトの接地位置を速く移動させるモーション制御を行うことを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記モーション制御部が、
前記本体オブジェクトの移動速度に応じて前記連結オブジェクトの接地位置の前記目標接地位置への移動速度を変化させ、該本体オブジェクトの移動速度が速くなるほど該連結オブジェクトの接地位置を速く移動させるモーション制御を行うことを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記モーション制御部が、
前記目標接地位置における前記オブジェクト空間を構成する地形オブジェクトの地形データに基づいて、前記連結オブジェクトの接地位置が該目標接地位置に移動した際の前記本体オブジェクトと接続されるパーツオブジェクトの該本体オブジェクトに対する角度および互いに連結される各パーツオブジェクト間のなす角度を演算し、求められた前記各オブジェクト間のなす角度に基づいて前記連結オブジェクトを変形させるモーション制御を行うことを特徴とするプログラム。
【請求項８】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜７のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項９】
本体オブジェクトと、該本体オブジェクトに接続され、複数のパーツオブジェクトが関節により連結された連結オブジェクトと、を含むモデルオブジェクトがオブジェクト空間を移動する画像を生成する画像生成システムであって、
前記本体オブジェクトが移動することで前記モデルオブジェクトの姿勢が変化した場合に、該モデルオブジェクトの基本姿勢に対する該モデルオブジェクトの姿勢変化が大きいほどその値が大きくなるストレスパラメータを演算するストレス演算部と、
前記ストレスパラメータの値が所定のしきい値を超える場合に、前記モデルオブジェクトを前記基本姿勢に近づける目標接地位置を演算し、前記連結オブジェクトの接地位置を該目標接地位置に移動させるモーション制御を行うモーション制御部と、
前記モデルオブジェクトが配置された前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体および画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができるゲームシステムを例にとれば、プレーヤは、コントローラを用いて、画面に映し出される敵キャラクタなどの標的オブジェクトをシューティングすることで３次元ゲームを楽しむことができる。
【０００３】
このようなゲームシステムでは、プレーヤの仮想現実感の向上のために、リアルで高品質な画像を生成することが重要な技術的課題になっている。例えば、複数のパーツオブジェクトを関節により連結して構成された連結オブジェクトを含むモデルオブジェクトの動きについても多様な動きをリアルに表現できることが望まれる。そこで、このような多様な動きをリアルに表現するためにモデルオブジェクトの動きに対応したモーションデータを予め用意して条件に応じたモーションデータを再生することにより表現する手法が知られている。
【０００４】
しかしながら、ゲーム中に発生する様々なイベントなどに応じてモデルオブジェクトの動きを表現するモーションデータをすべて用意するとなると、記憶容量の制限などハードウェア性能の限界もあるため、多様な動きを十分に表現することができないことが懸念されている。
【特許文献１】特開２００３−４４８７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、モデルオブジェクトの自然な動きをハードウェアに負担をかけずに表現できるプログラム、情報記憶媒体および画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、本体オブジェクトと、該本体オブジェクトに接続され、複数のパーツオブジェクトが関節により連結された連結オブジェクトと、を含むモデルオブジェクトがオブジェクト空間を移動する画像を生成する画像生成システムであって、前記本体オブジェクトが移動することで前記モデルオブジェクトの姿勢が変化した場合に、該モデルオブジェクトの基本姿勢に対する該モデルオブジェクトの姿勢変化が大きいほどその値が大きくなるストレスパラメータを演算するストレス演算部と、前記ストレスパラメータの値が所定のしきい値を超える場合に、前記モデルオブジェクトを前記基本姿勢に近づける目標接地位置を演算し、前記連結オブジェクトの接地位置を該目標接地位置に移動させるモーション制御を行うモーション制御部と、移動する前記モデルオブジェクトが配置された前記オブジェクト空間における所与の視点から見た画像を生成する画像生成部とを含む画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、本体オブジェクトが移動してモデルオブジェクトの姿勢が崩れた場合に、モデルオブジェクトの基本姿勢に近づくような連結オブジェクトの目標接地位置が求められる。またモデルオブジェクトの姿勢が崩れた場合であっても、各連結オブジェクトのストレスパラメータが所定のしきい値以下の場合には、連結オブジェクトの接地位置の移動は行われない。本発明では、連結オブジェクトの移動を目標接地位置の移動演算により実現し、モデルオブジェクトの姿勢状況に応じたモーションデータを予め大量に用意する必要がないため、ハードウェアの記憶容量を節約しつつ、モデルオブジェクトの自然な動きを表現することができる。
【０００８】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記ストレス演算部が、前記モデルオブジェクトが基本姿勢である場合と前記本体オブジェクトが移動して前記モデルオブジェクトの姿勢が変化した場合とにおける前記本体オブジェクトと接続されるパーツオブジェクトの該本体オブジェクトに対する角度の差と、前記モデルオブジェクトが基本姿勢である場合と前記本体オブジェクトが移動して前記モデルオブジェクトの姿勢が変化した場合とにおける互いに連結される各パーツオブジェクトの角度の差とに基づいて、前記ストレスパラメータを演算するようにしてもよい。このようにすれば、比較的少ない演算量で接地位置を移動すべき連結オブジェクトを決定することができる。
【０００９】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記本体オブジェクトに対して複数の前記連結オブジェクトが接続されている場合に、前記各連結オブジェクト間の前記ストレスパラメータを比較するストレス比較部を含み、前記モーション制御部が、前記ストレス比較部の比較結果に基づいて、前記ストレスパラメータの値が大きい連結オブジェクトを前記ストレスパラメータの値が小さい連結オブジェクトに優先して接地位置を移動させるモーション制御を行うようにしてもよい。また、上記各部としてコンピュータを機能させてもよい。このようにすれば、基本姿勢からのずれが大きいところからモデルオブジェクトを基本姿勢に近づけるように処理されるため、モデルオブジェクトの自然な動きを忠実に表現することができる。
【００１０】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、ストレス演算部が、前記複数の連結オブジェクトのそれぞれについて求められた前記ストレスパラメータの値を合算する処理を行い、前記モーション制御部が、前記ストレスパラメータの合計値が所定値以下の場合には、前記連結オブジェクトの接地位置を移動させないモーション制御を行うようにしてもよい。このようにすれば、連結オブジェクトによって基本姿勢からのずれを耐えているようなモデルオブジェクトの動きを表現することができる。
【００１１】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記モーション制御部が、前記ストレスパラメータの値の大きさに応じて前記連結オブジェクトの接地位置の前記目標接地位置への移動速度を変化させ、該ストレスパラメータの値が大きくなるほど該連結オブジェクトの接地位置を速く移動させるモーション制御を行うようにしてもよい。このようにすれば、基本姿勢からのずれが大きいほど、それを素早く解消するように連結オブジェクトが動作するというモデルオブジェクトの自然な動きを表現することができる。
【００１２】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記モーション制御部が、前記本体オブジェクトの移動速度に応じて前記連結オブジェクトの接地位置の前記目標接地位置への移動速度を変化させ、該本体オブジェクトの移動速度が速くなるほど該連結オブジェクトの接地位置を速く移動させるモーション制御を行うようにしてもよい。このようにすれば、本体が動く速さにあわせて自然な足の運びを行う様子を表現することができる。
【００１３】
また本発明に係る画像生成システム、プログラムおよび情報記憶媒体では、前記モーション制御部が、前記目標接地位置における前記オブジェクト空間を構成する地形オブジェクトの地形データに基づいて、前記連結オブジェクトの接地位置が該目標接地位置に移動した際の前記本体オブジェクトと接続されるパーツオブジェクトの該本体オブジェクトに対する角度および互いに連結される各パーツオブジェクト間のなす角度を演算し、求められた前記各オブジェクト間のなす角度に基づいて前記連結オブジェクトを変形させるモーション制御を行うようにしてもよい。このようにすれば、モーション制御前後の連結オブジェクトの接地位置に段差があるような場合でも、モデルオブジェクトのスムーズな移動の様子を表現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１５】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１６】
操作部１６０は、プレーヤがオブジェクトの操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００１８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００１９】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２０】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２２】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、ストレス演算部１１６、ストレス比較部１１８、仮想カメラ制御部１２０、画像生成部１３０、音生成部１４０を含む。なおこれらの一部を省略する構成としてもよい。
【００２３】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。すなわちワールド座標系でのオブジェクト（移動体オブジェクト、標的オブジェクト、地形オブジェクト）の位置や回転角度（傾き、向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２４】
移動・動作処理部１２０は、オブジェクト（キャラクタ、車、戦車、飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（オブジェクトデータ）などに基づいて、オブジェクト（モデルオブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２５】
また移動・動作処理部１２０は、モーション制御部１１４を含む。
【００２６】
モーション制御部１１４は、本体オブジェクトと、本体オブジェクトに接続され、複数のパーツオブジェクトが関節により連結された連結オブジェクトと、を含むモデルオブジェクトのモーション制御（動作シミュレーション）を行う。具体的には、モデルオブジェクトの姿勢変化量に対応するストレスパラメータの値と所定のしきい値とを比較する。そして、ストレスパラメータの値がしきい値を超えると判断される場合には、モデルオブジェクトを基本姿勢に近づけるための目標接地位置（ワールド座標系の３次元座標）を演算し、連結オブジェクトの接地位置を、求められた目標接地位置に移動させるモーション制御を行う。一方、ストレスパラメータの値がしきい値を超えていないと判断される場合には、連結オブジェクトの接地位置を移動させないモーション制御を行う。なお、モデルオブジェクトの基本姿勢を表すデータ（基本姿勢データ）は、記憶部１７０のオブジェクトデータ記憶部１７８に設定記憶されている。例えば、各パーツオブジェクトの回転角度、各パーツオブジェクト間のなす角度、あるいは連結オブジェクトの本体オブジェクトとの接続点と接地点との間の距離などを基本姿勢データとして設定しておくことができる。
【００２７】
また本実施の形態では、モーション制御をする際に、インバース・キネマティクスを用いて連結オブジェクトの接地位置の移動軌跡を決定することができる。例えば、目標接地位置におけるオブジェクト空間を構成する地形オブジェクトの地形データ（狭義には、高さデータ、傾斜データ等）を記憶部１７０のオブジェクトデータ記憶部１７８から読み出して、連結オブジェクトの接地位置が目標接地位置に移動した際の本体オブジェクトと接続されるパーツオブジェクトの本体オブジェクトに対する角度および互いに連結される各パーツオブジェクト間のなす角度を演算し、求められた各オブジェクト間のなす角度に基づいて連結オブジェクトを変形させることができる。
【００２８】
またモーション制御部１１４は、ストレスパラメータの値の大きさに応じて連結オブジェクトの接地位置の目標接地位置への移動速度を変化させ、ストレスパラメータの値が大きくなるほど連結オブジェクトの接地位置を速く移動させるモーション制御を行うこともできる。
【００２９】
またモーション制御部１１４は、本体オブジェクトの移動速度に応じて連結オブジェクト接地位置の目標接地位置への移動速度を変化させ、本体オブジェクトの移動速度が速くなるほど連結オブジェクトを速く移動させるモーション制御を行うこともできる。
【００３０】
ストレス演算部１１６は、モデルオブジェクトを構成する各オブジェクトのうち本体オブジェクトが他のパーツオブジェクトに先立って移動することでモデルオブジェクトの姿勢が変化した場合に、モデルオブジェクトの基本姿勢に対するモデルオブジェクトの姿勢変化が大きいほどその値が大きくなるストレスパラメータを演算する。
【００３１】
例えば、モデルオブジェクトが基本姿勢である場合と本体オブジェクトが移動してモデルオブジェクトの姿勢が変化した場合（このときの姿勢を変化後姿勢ということがある）とにおける本体オブジェクトと接続されるパーツオブジェクトの本体オブジェクトに対する角度の差と、モデルオブジェクトが基本姿勢である場合と本体オブジェクトが移動してモデルオブジェクトの姿勢が変化した場合とにおける互いに連結される各パーツオブジェクトの角度の差とに基づいて、ストレスパラメータを演算することができる。なお、ストレスパラメータの求め方としては、モデルオブジェクトの基本姿勢と変化後姿勢とにおいて連結オブジェクトの接地位置は固定した状態で、各オブジェクト間の角度変化をストレスパラメータとして求めることができる。
【００３２】
またストレス演算部１１６は、本体オブジェクトに対して複数の連結オブジェクトが接続されている場合に、複数の連結オブジェクトのそれぞれについて求められたストレスパラメータの値を合算する処理を行うことができる。このときストレスパラメータの合計値が所定値以下の場合には、モーション制御部１１４は、連結オブジェクトの接地位置を移動させないモーション制御を行う。
【００３３】
ストレス比較部１１８は、本体オブジェクトに対して複数の連結オブジェクトが接続されている場合に、各連結オブジェクト間の前記ストレスパラメータを比較する処理を行う。このとき、モーション制御部１１４は、ストレス比較部１１８の比較結果に基づいて、ストレスパラメータの値が大きい連結オブジェクトをストレスパラメータの値が小さい連結オブジェクトに優先して接地位置を移動させるモーション制御を行うことができる。
【００３４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００３５】
例えば仮想カメラによりオブジェクト（移動体オブジェクトあるいは標的オブジェクト、具体的にはキャラクタ、ボール、戦車、飛行機など）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１２０で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。あるいは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００３６】
画像生成部１３０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視投影変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７４（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００３７】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００３８】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００３９】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、本体オブジェクトに２つのパーツオブジェクトからなる連結オブジェクトが複数接続されたモデルオブジェクトがオブジェクト空間内で移動する画像の表現に本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このような画像の表現のみならず、種々の画像表現に適用できる。
【００４０】
図２（Ａ）〜図２（Ｄ）に本実施の形態の手法を用いたモーション制御の例を示す。
【００４１】
図２（Ａ）には、モデルオブジェクトＭＯＢの基本姿勢を示す。モデルオブジェクトＭＯＢは、本体オブジェクトＨＯＢと、本体オブジェクトＨＯＢと間接Ｋ１，Ｋ３において接続される連結オブジェクトＲＯＢ１，ＲＯＢ２とから構成されている。また各連結オブジェクトＲＯＢ１，ＲＯＢ２は、間接Ｋ１，Ｋ３において本体オブジェクトＨＯＢと接続されるパーツオブジェクトＰＯＢ１，ＰＯＢ３と、一端が間接Ｋ２，Ｋ４においてパーツオブジェクトＰＯＢ１，ＰＯＢ３と連結され、かつ他端が地面（地形オブジェクト）に接地するパーツオブジェクトＰＯＢ３，ＰＯＢ４とから構成されている。
【００４２】
図２（Ａ）に示すモデルオブジェクトＭＯＢの基本姿勢は、本体オブジェクトＨＯＢに対する（間接Ｋ１，Ｋ３を通る所定軸に対する）パーツオブジェクトＰＯＢ１，ＰＯＢ３の角度α１，α２と、パーツオブジェクトＰＯＢ１，ＰＯＢ２間ならびにパーツオブジェクトＰＯＢ３，ＰＯＢ４間の角度β１，β２とにより定義され、これらの角度情報が基本姿勢データとしてオブジェクトデータ記憶部１７８に記憶されている。なお、基本姿勢を定義するための情報としては、本体オブジェクトＨＯＢおよび各パーツオブジェクトＰＯＢ１〜ＰＯＢ４の相対位置関係や所与の座標系における軸周りの回転角度などを含めることも可能である。本実施の形態では、ストレスパラメータを求めるための簡易的な基準として角度α１，α２，β１，β２を用いている。
【００４３】
このようなモデルオブジェクトＭＯＢがオブジェクト空間を移動する場合に、本体オブジェクトＨＯＢが他のパーツに先行してＰ１からＰ１´に移動したときを考える。図２（Ｂ）には、そのときのモデルオブジェクトＭＯＢの姿勢が示されている。
【００４４】
本実施の形態では、図２（Ａ）に示す基本姿勢と図２（Ｂ）に示す変化後姿勢との差を数値化し、これをストレスパラメータとして求める。具体的には、図２（Ｂ）に示すモデルオブジェクトＭＯＢの変化後姿勢（本体オブジェクトＨＯＢのみがＰ１からＰ１´に移動して姿勢が変化した状態）における本体オブジェクトＨＯＢに対するパーツオブジェクトＰＯＢ１の角度α１´、パーツオブジェクトＰＯＢ１とパーツオブジェクトＰＯＢ２とのなす角度β１´、本体オブジェクトＨＯＢに対するパーツオブジェクトＰＯＢ３の角度α２´およびパーツオブジェクトＰＯＢ３とパーツオブジェクトＰＯＢ４とのなす角度β２´と図２（Ａ）に示すモデルオブジェクトＭＯＢが基本姿勢にある場合の角度α１、β１、α２、β２との偏差（変化量と同義）を求めて、求められた偏差に基づきス連結オブジェクトＲＯＢ１についてのストレスパラメータＳＰ１と連結オブジェクトＲＯＢ２についてのストレスパラメータＳＰ２とを決定する。このようにすれば、比較的少ない演算量で接地位置を移動すべき連結オブジェクトを決定することができる。なお、このとき連結オブジェクトＲＯＢ１，ＲＯＢ２の接地位置ｃ１，ｃ２は、固定した状態（基本姿勢のときと同じ位置に接地している状態）とする。例えば、ストレスパラメータＳＰ１，ＳＰ２は以下のように表すことができる。
【００４５】
ＳＰ１＝│α１´−α１│＋│β１´−β１│          （１）
ＳＰ２＝│α２´−α２│＋│β２´−β２│          （２）
そして、求められたストレスパラメータＳＰ１，ＳＰ２が所定のしきい値ＳＰｔｈを超えているか、すなわちＳＰ１＞ＳＰｔｈであるか、あるいはＳＰ２＞ＳＰｔｈであるか否かを判定する。この判定によりストレスパラメータＳＰの値がしきい値ＳＰｔｈを超えているものについては、連結オブジェクトＲＯＢの接地位置を移動させる必要性が高いことを意味する。従って、ストレスパラメータＳＰ１，ＳＰ２のいずれの値もしきい値ＳＰｔｈを超えていない場合には、連結オブジェクトＲＯＢ１，ＲＯＢ２の接地位置を移動させないで、パーツオブジェクトＰＯＢ１〜ＰＯＢ４の位置および回転角度を変化させるモーション制御が行われる。
【００４６】
ここで、例えば、図２（Ｂ）に示すモデルオブジェクトＭＯＢの変化後姿勢においては、ストレスパラメータＳＰ１,ＳＰ２のいずれもがしきい値ＳＰｔｈを超えているものとする。すると、次に求められたストレスパラメータＳＰ１，ＳＰ２のうちいずれの値が大きいか（ＳＰ１＞ＳＰ２？あるいはＳＰ２＞ＳＰ１？）を判断する。すなわちストレスパラメータＳＰの値が大きい連結オブジェクトＲＯＢについては、姿勢変化に与える影響が大きく、接地位置を移動させる必要性が高いことを意味する。このようにすれば、基本姿勢からのずれが大きい連結オブジェクトＲＯＢからモデルオブジェクトＭＯＢを基本姿勢に近づけるように処理されるため、モデルオブジェクトＭＯＢの自然な動きを忠実に表現することができる。図２（Ｂ）に示すモデルオブジェクトＭＯＢの変化後姿勢においては、ストレスパラメータＳＰ２の値がストレスパラメータＳＰ１の値よりも大きいもの（ＳＰ２＞ＳＰ１）と仮定すると、連結オブジェクトＲＯＢ２の接地位置ｃ２を連結オブジェクトＲＯＢ１の接地位置ｃ１より優先して移動させるために、連結オブジェクトＲＯＢ２の目標接地位置ｃ２´を求める。なお、目標接地位置を求めるに当たっては、必要に応じて本体オブジェクトＨＯＢの移動速度を加味することができる。この場合、本体オブジェクトＨＯＢの移動速度が速くなるほど、目標接地位置が連結オブジェクトＲＯＢの現接地位置から遠く離れるように求めることができる。
【００４７】
連結オブジェクトＲＯＢ２の目標接地位置ｃ２´は、モデルオブジェクトＭＯＢが図２（Ａ）に示す基本姿勢に近づくように（できるだけストレスパラメータの値が減少するように）求められ、かつモデルオブジェクトＭＯＢが現在配置されている地形オブジェクトの地形データを加味して求められる。このようにすれば、後述において説明する図２（Ｄ）に示すようなモーション制御前後の連結オブジェクトＲＯＢの接地位置に段差（ｃ１とｃ１´との段差）があるような場合でも、モデルオブジェクトＭＯＢのスムーズな移動の様子を表現することができる。そして、連結オブジェクトＲＯＢ２の目標接地位置ｃ２´が求められたら、公知のインバース・キネマティクス技術を利用して連結オブジェクトＲＯＢ２の接地位置が位置ｃ２から目標接地位置ｃ２´に至るまでのパーツオブジェクトＰＯＢ３，ＰＯＢ４の位置（ワールド座標系の３次元座標）、回転角度（方向、向き、傾きと同義）についての移動軌跡をシミュレーション演算する。そして、図２（Ｃ）に示すように、求められたパーツオブジェクトＰＯＢ３，ＰＯＢ４の移動軌跡に従って連結オブジェクトＲＯＢ２の接地位置を位置ｃ２から目標接地位置ｃ２´へ滑らかに移動させて表示する。
【００４８】
図２（Ｃ）に示す状態では、上述した手法によりストレスパラメータの値を比較するとＳＰ１＞ＳＰｔｈでかつＳＰ１＞ＳＰ２となるため、連結オブジェクトＲＯＢ１の接地位置ｃ１の移動先として目標接地位置ｃ１´が求められるとともに、パーツオブジェクトＰＯＢ１，ＰＯＢ２の移動軌跡が求められる。このとき求められた目標接地位置ｃ１´は、移動前の接地位置ｃ１と地形オブジェクトの高さ（ワールド座標系のＹ座標値）が異なっているため、連結オブジェクトＲＯＢ１が段差にめり込むことがないように移動軌跡が求められる。最終的には、求められた目標接地位置ｃ１´へ求められた移動軌跡に従って連結オブジェクトＲＯＢ１の接地位置を滑らかに移動して表示する。
【００４９】
ここで、図３〜図６に本実施の形態の手法を用いて生成される画像の例を示す。
【００５０】
図３には、モデルオブジェクトＭＯＢが基本姿勢で配置されている状態を示す。このモデルオブジェクトＭＯＢが画面の奥の段差に向かって移動しようとすると、図４に示すように、本体オブジェクトＨＯＢのみが他のパーツに先立って移動する。このとき連結オブジェクトＲＯＢ１，ＲＯＢ２の接地位置は移動しないで、モデルオブジェクトＭＯＢの姿勢が変化する。この状態における連結オブジェクトＲＯＢ１，ＲＯＢ２のストレスパラメータＳＰ１，ＳＰ２が上記した手法に従って求められ、図４に示す例ではＳＰ１＞ＳＰ２でかつＳＰ１＞ＳＰｔｈとなって連結オブジェクトＲＯＢ１の接地位置を連結オブジェクトＲＯＢ２に優先して移動すべきであると決定される。すると連結オブジェクトＲＯＢ１についての目標接地位置と目標接地位置までのパーツオブジェクトＰＯＢ１，ＰＯＢ２の移動軌跡が求められ、図５，図６に示すように目標接地位置に向けて連結オブジェクトＲＯＢ１の接地位置が滑らかに移動して表示される。また連結オブジェクトＲＯＢ２についてＳＰ２＜ＳＰｔｈであったとすれば、本体オブジェクトＨＯＢとの接続位置と連結オブジェクトＲＯＢ２の接地位置（パーツオブジェクトＰＯＢ４の接地位置）に基づきパーツオブジェクトＰＯＢ３，ＰＯＢ４の位置や回転角度が求められて、連結オブジェクトＲＯＢ２の接地位置の移動を行わずにパーツオブジェクトＰＯＢ３，ＰＯＢ４を移動させて表示させる。
【００５１】
以上に述べた本実施の形態の手法によれば、本体オブジェクトＨＯＢが移動してモデルオブジェクトＭＯＢの姿勢が崩れた場合に、モデルオブジェクトＭＯＢの基本姿勢に近づくような連結オブジェクトＲＯＢの目標接地位置が求められる。またモデルオブジェクトＭＯＢの姿勢が崩れた場合であっても、各連結オブジェクトＲＯＢのストレスパラメータＳＰが所定のしきい値ＳＰｔｈ以下の場合には、連結オブジェクトＲＯＢの接地位置の移動は行われない。このように本実施の形態の手法では、連結オブジェクトＲＯＢのモーションを目標接地位置の移動演算により実現し、モデルオブジェクトＭＯＢの姿勢状況に応じたモーションデータを予め大量に用意する必要がないため、ハードウェアの記憶容量を節約しつつ、モデルオブジェクトＭＯＢの自然な動きを表現することができる。
【００５２】
なお以上に述べた本実施の形態の手法では、本体オブジェクトＨＯＢの移動速度に応じて連結オブジェクトＲＯＢの目標接地位置への移動速度を変化させるモーション制御を行うようにしてもよい。具体的には、本体オブジェクトＨＯＢの移動速度が速くなるほど連結オブジェクトＲＯＢを速く移動させる。このようにすれば、本体が動く速さにあわせて自然な足の運びを行う様子を表現することができる。
【００５３】
また本実施の形態の手法では、本体オブジェクトに接続されている連結オブジェクトの数が多い場合には、複数の連結オブジェクトをペア（対）にして、ペアごとに接地位置を動かすべきか否かを決定するようにしてもよい。
【００５４】
図７（Ａ）〜図７（Ｃ）に本体オブジェクトＨＯＢに４本の連結オブジェクトＲＯＢ１〜ＲＯＢ４が接続されているモデルオブジェクトＭＯＢのモーションを制御する場合について示されている。この場合においては、本体オブジェクトＨＯＢを中心として対角に位置する連結オブジェクト同士をペアとして考える。すなわち図７（Ａ）〜図７（Ｃ）に示す例では、連結オブジェクトＲＯＢ１，ＲＯＢ３が第１のペアとして設定され、連結オブジェクトＲＯＢ２，ＲＯＢ４が第２のペアとして設定されている。
【００５５】
図７（Ａ）に示されるモデルオブジェクトＭＯＢの基本姿勢から本体オブジェクトＨＯＢの移動に伴いモデルオブジェクトＭＯＢの姿勢が変化すると、上記した手法に従って、各連結オブジェクトＲＯＢ１〜ＲＯＢ４についてストレスパラメータＳＰ１〜ＳＰ４が求められる。このとき連結オブジェクトＲＯＢ１〜ＲＯＢ４について、どの順番でその接地位置を動かすべきかを第１のペアと第２のペアとのペアごとに判断する。
【００５６】
具体的には、図７（Ｂ）に示す例では、第１のペア（連結オブジェクトＲＯＢ１，ＲＯＢ３の対）についてはＳＰ１＋ＳＰ３＝２４となり、第２のペア（連結オブジェクトＲＯＢ２，ＲＯＢ４の対）についてはＳＰ２＋ＳＰ４＝１４となり、第１のペアのほうがストレスパラメータＳＰの合算値が大きくなる。従って、この場合には、第１のペアに属する連結オブジェクトＲＯＢ１，ＲＯＢ３を第２のペアに属する連結オブジェクトＲＯＢ２，ＲＯＢ４に優先して接地位置を移動させるモーション制御を行う。
【００５７】
一方で本体オブジェクトＨＯＢが移動してモデルオブジェクトＭＯＢの姿勢の姿勢が基本姿勢から崩れた場合でも、各連結オブジェクトＲＯＢ１〜ＲＯＢ４について求められたストレスパラメータＳＰの値が小さい場合がある。この場合には、接地位置を動かす必要がなく、むしろ接地位置を動かさない方が自然な動作を表現できる場合がある。このため、図７（Ｃ）に示すように、ストレスパラメータＳＰ１〜ＳＰ４の値が小さい場合には、各連結オブジェクトＲＯＢ１〜ＲＯＢ４の接地位置を移動させないモーション制御を行う。この決定は、例えば、すべての連結オブジェクトＲＯＢ１〜ＲＯＢ４について求められたストレスパラメータＳＰ１〜ＳＰ４の合算値が所定値を下回ることを条件とすることができる。例えば、ΣＳＰ＜１０の場合には接地位置を移動させないモーション制御を行うと設定されている場合には、図７（Ｂ）に示す例では、ΣＳＰ＝３７＞１０となるため接地位置を移動させるモーション制御を行うと判定され、図７（Ｃ）に示す例では、ΣＳＰ＝９＜１０となるため接地位置を移動させないモーション制御を行うと判定される。このようにすれば、連結オブジェクトＲＯＢ１〜ＲＯＢ４によって基本姿勢からのずれを耐えているようなモデルオブジェクトＭＯＢの自然な動きを表現することができる。なおこの手法は、本体オブジェクトに少なくとも２以上の連結オブジェクトが接続されている場合に適用することができる。
【００５８】
なお、以上に述べた本実施の形態の手法に関して、ストレスパラメータＳＰの値の大きさに応じて連結オブジェクトＲＯＢの接地位置の目標接地位置への移動速度を変化させるモーション制御を行うようにしてもよい。この場合、ストレスパラメータＳＰの値が大きくなるほど連結オブジェクトＲＯＢの接地位置を速く移動させることができる。例えば、図７（Ｂ）に示す例では、連結オブジェクトＲＯＢ１，ＲＯＢ３からなる第１のペアの接地位置を移動させる場合に、ＳＰ１＜ＳＰ３であるため、連結オブジェクトＲＯＢ３は、連結オブジェクトＲＯＢ１よりも速くその接地位置が移動する。このようにすれば、基本姿勢からのずれが大きいほど、それを素早く解消するように連結オブジェクトＲＯＢが動作するというモデルオブジェクトＭＯＢの自然な動きを表現することができる。
【００５９】
ここで、図８〜図１１に本実施の形態の手法を用いて生成される画像の例を示す。
【００６０】
図８は、モデルオブジェクトＭＯＢの基本姿勢を示している。この状態から画面の左手に向かってモデルオブジェクトＭＯＢが移動する場合を考えると、図９に示すように、本体オブジェクトＨＯＢのみが他のパーツに先立って移動して、各連結オブジェクトＲＯＢ１〜ＲＯＢ４の接地位置は固定されたまま、モデルオブジェクトＭＯＢの姿勢が変化する。このとき連結オブジェクトＲＯＢ１〜ＲＯＢ４のストレスパラメータを求めて、本体オブジェクトＨＯＢに対して対角に位置する連結オブジェクトＲＯＢ１，ＲＯＢ３からなる第１のペアと連結オブジェクトＲＯＢ２，ＲＯＢ４からなる第２のペアとのどちらの接地位置を動かすべきかが判断され、図９に示す例では、第１のペアが第２のペアに優先して接地位置を移動されるべき旨が決定される。続いて、第１のペアに属する連結オブジェクトＲＯＢ１と連結オブジェクトＲＯＢ３とのストレスパラメータの大きさを元にいずれの連結オブジェクトの接地位置を他に優先して動かすべきかが判断され、この例では、連結オブジェクトＲＯＢ３を第１に接地位置を動かすべきであると判断される。すると、図１０，図１１に示すように、モデルオブジェクトＭＯＢの基本姿勢に近づくように求められた目標接地位置へ向けて連結オブジェクトＲＯＢ３の接地位置が滑らかに移動するようにモーション制御されて表示される。
【００６１】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１２のフローチャートを用いて説明する。
【００６２】
まず、モデルオブジェクトＭＯＢを移動させるにあたって、図２（Ａ）および図２（Ｂ）に示すように、本体オブジェクトＨＯＢを位置Ｐ１から位置Ｐ１´へ移動させる（ステップＳ１０）。次に、本体オブジェクトＨＯＢが位置Ｐ１´に移動した状態における間接Ｋ１，Ｋ３および連結オブジェクトＲＯＢ１，ＲＯＢ２の接地位置ｃ１，ｃ２の位置関係に基づいて、連結オブジェクトＲＯＢ１，ＲＯＢ２を構成するパーツオブジェクトＰＯＢ１〜ＰＯＢ４の位置と方向を決定する（ステップＳ１１）。
【００６３】
次に、ストレス演算部１１８が、連結オブジェクトＲＯＢ１，ＲＯＢ２のそれぞれについてストレスパラメータＳＰ１，ＳＰ２を求めていく。具体的には、図２（Ａ）に示すモデルオブジェクトＭＯＢの基本姿勢における角度α１，β１に対する図２（Ｂ）に示すモデルオブジェクトＭＯＢの変化後姿勢における角度α１´，β１´の偏差からストレスパラメータＳＰ１を求める（ステップＳ１２）。続いて、図２（Ａ）に示すモデルオブジェクトＭＯＢの基本姿勢における角度α２，β２に対する図２（Ｂ）に示すモデルオブジェクトＭＯＢの変化後姿勢における角度α２´，β２´の偏差からストレスパラメータＳＰ２を求める（ステップＳ１３）。なお、求められたストレスパラメータＳＰ１，ＳＰ２は、記憶部１７０のストレスパラメータ記憶部１７６に記憶される。
【００６４】
次に、連結オブジェクトＲＯＢの接地位置を移動させるモーション制御を行うべきか否かを判定する。具体的には、ステップＳ１２で求めたストレスパラメータＳＰ１あるいはステップＳ１３で求めたストレスパラメータＳＰ２の少なくともいずれか一方が予め設定されたしきい値ＳＰｔｈを超えているか否かを判定する（ステップＳ１４）。
【００６５】
ストレスパラメータＳＰ１あるいはストレスパラメータＳＰ２の少なくともいずれか一方がしきい値ＳＰｔｈを超えていると判断される場合には（ステップＳ１４でＹ）、ストレス比較部１１８がいずれの連結オブジェクトを他方に優先してモーション制御すべきかを決定する（ステップＳ１５）。具体的には、ストレスパラメータＳＰ１の値とストレスパラメータＳＰ２の値との大小を比較する。
【００６６】
そして、ストレスパラメータＳＰ１の値がストレスパラメータＳＰ２の値よりも大きいと判断された場合には（ステップＳ１５でＹ）、本体オブジェクトＨＯＢがＰ１´に移動した状態におけるモデルオブジェクトＭＯＢの姿勢情報（角度α１´，β１´）とオブジェクト空間を構成する地形オブジェクトの地形データとに基づいて、モデルオブジェクトＭＯＢが基本姿勢に近づくような目標接地位置ｃ１´を求める（ステップＳ１６）。次に、インバース・キネマティクスを用いて連結オブジェクトＲＯＢ１の接地位置が現接地位置ｃ１から目標接地位置ｃ１´に移動するまでのパーツオブジェクトＰＯＢ１，ＰＯＢ２の移動軌跡を演算するとともに（ステップＳ１７）、本体オブジェクトＨＯＢが位置Ｐ１´にいる場合における間接Ｋ１，Ｋ３および接地位置ｃ１´，ｃ２の位置関係に基づいて、パーツオブジェクトＰＯＢ１〜ＰＯＢ４の位置（ワールド座標系の３次元位置）と方向（回転角度、向き、傾きと同義）を決定する（ステップＳ１８）。最終的には、連結オブジェクトＲＯＢ１の接地位置を現接地位置ｃ１から目標接地位置ｃ１´へ移動させてモデルオブジェクトＭＯＢを表示（描画）する（ステップＳ１９）。
【００６７】
また一方で、ストレスパラメータＳＰ２の値がストレスパラメータＳＰ１の値よりも大きいと判断された場合には（ステップＳ１５でＮ）、ステップＳ１６〜ステップＳ１９の処理と同様の処理により連結オブジェクトＲＯＢ２の接地位置を現接地位置ｃ２から目標接地位置ｃ２´へ移動させてモデルオブジェクトＭＯＢを表示（描画）する（ステップＳ２０〜ステップＳ２３）。
【００６８】
４．ハードウェア構成
図１３に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００６９】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００７０】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００７１】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００７２】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００７３】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００７４】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００７５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（傾き、あるいは弾等）として引用された用語（回転角度、向き、方向、あるいはショット、ビーム等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００７６】
またストレスパラメータの演算手法、連結オブジェクトの接地位置の移動手法、ストレスパラメータの比較手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００７７】
また本実施形態では、モデルオブジェクトにおいて本体オブジェクトに２つの連結オブジェクトが接続されている場合（図２（Ａ）〜図２（Ｄ））および本体オブジェクトに４つの連結オブジェクトが接続されている場合（図７（Ａ）〜図７（Ｃ））について説明した。しかしながら本発明はこれに限定されず、モデルオブジェクトにおいて本体オブジェクトに連結オブジェクトが１つだけ接続されている場合や３つあるいは４つ以上の連結オブジェクトが本体オブジェクトに接続されている場合にも同様に適用することができる。また連結オブジェクトを構成するパーツオブジェクトの連結数も上述した例に限られない。
【００７８】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００７９】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）（Ｂ）（Ｃ）（Ｄ）は本実施の形態の手法の説明図。
【図３】本実施形態の手法で生成された画像の例。
【図４】本実施形態の手法で生成された画像の例。
【図５】本実施形態の手法で生成された画像の例。
【図６】本実施形態の手法で生成された画像の例。
【図７】図７（Ａ）（Ｂ）（Ｃ）は本実施の形態の手法の説明図。
【図８】本実施形態の手法で生成された画像の例。
【図９】本実施形態の手法で生成された画像の例。
【図１０】本実施形態の手法で生成された画像の例。
【図１１】本実施形態の手法で生成された画像の例。
【図１２】本実施形態の具体的な処理のフローチャート。
【図１３】ハードウェア構成例。
【符号の説明】
【００８０】
ＭＯＢ  モデルオブジェクト、ＨＯＢ  本体オブジェクト、
ＲＯＢ１〜ＲＯＢ４  連結オブジェクト、ＰＯＢ１〜ＰＯＢ８  パーツオブジェクト、
Ｋ１〜Ｋ４  関節、
ＳＰ１〜ＳＰ４  ストレスパラメータ、
１００  処理部、
１１０  オブジェクト空間設定部、
１１２  移動・動作処理部、１１４  モーション制御部、
１１６  ストレス演算部、１１８  ストレス比較部、
１２０  仮想カメラ制御部、１３０  画像生成部、１４０  音生成部、
１６０操作部、１７０  記憶部、
１７２  主記憶部、１７４  描画バッファ、
１７６  ストレスパラメータ記憶部、１７８  オブジェクトデータ記憶部、
１８０  情報記憶媒体、１９４  携帯型情報記憶装置、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2005322057.tif 000003
【図２】
2005322057.tif 000004
【図７】
2005322057.tif 000005
【図１２】
2005322057.tif 000006
【図１３】
2005322057.tif 000007
【図３】
2005322057.tif 000008
【図４】
2005322057.tif 000009
【図５】
2005322057.tif 000010
【図６】
2005322057.tif 000011
【図８】
2005322057.tif 000012
【図９】
2005322057.tif 000013
【図１０】
2005322057.tif 000014
【図１１】
2005322057.tif 000015