(57)【要約】      （修正有）【課題】オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができる画像処理装置を提供する。【解決手段】所定時間毎にモーションデータに基づいてオブジェクトの重心位置を算出する重心位置算出部３０と、所定時間あたりのオブジェクトの重心位置の移動量を算出する重心移動量算出部３２と、重心位置のフィールドオブジェクトから離れる向きの所定時間あたりの移動量が所定閾値を超える場合に、オブジェクトの位置をオブジェクトの重心位置に基づいて決定し、重心位置のフィールドオブジェクトから離れる向きの所定時間あたりの移動量が所定閾値未満の場合に、オブジェクトの位置を、オブジェクトのフィールドオブジェクトに対する接触部分の位置に基づいて決定する位置・姿勢決定部３４と、を含んで構成される。【選択図】図７
2007058709.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想３次元空間に配置された所与の視点から該仮想３次元空間を見た様子を示す画像を表示する画像処理装置であって、
前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段と、
前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段と、
前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの重心位置を前記仮想３次元空間において放物運動させるとともに、放物運動する該重心位置に基づいて前記オブジェクトの位置を決定する、
ことを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が前記所定閾値未満の場合に、前記接触部分の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超えるか否かに応じて、前記接触部分を前記フィールドオブジェクトから離間させる、
ことを特徴とする画像処理装置。
【請求項４】
仮想３次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想３次元空間に配置された所与の視点から該仮想３次元空間を見た様子を示す画像を表示する画像処理方法であって、
前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出ステップと、
前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出ステップと、
前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定ステップと、
を含むことを特徴とする画像処理方法。
【請求項５】
仮想３次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想３次元空間に配置された所与の視点から該仮想３次元空間を見た様子を示す画像を表示する手段、
前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段、
前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段、及び
前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びプログラムに関し、特に仮想３次元空間に配置されたオブジェクトの動きを実現する技術に関する。
【背景技術】
【０００２】
仮想３次元空間をコンピュータ内に構築するとともに、この空間内に人型のオブジェクトを配置しておき、それを空間内の任意の視点から見た様子をディスプレイにより可視化する３次元ＣＧの分野では、オブジェクトの動きを予めモーションデータとして保存しておき、このモーションデータの再生により、それらオブジェクトの動きが実現されるようになっている。モーションデータは、例えばモーションキャプチャと呼ばれる、実際の人の動きからモーションデータを生成する方法により得られる。こうした技術は、例えば特許文献１及び２に開示されている。
【０００３】
特に、モーションデータを用いてオブジェクトを仮想３次元空間において自在に移動させる場合には、その姿勢変化についてはモーションデータにより再現し、その仮想３次元空間中の位置変化については別途、例えばユーザ操作に従って決定することが多い。
【特許文献１】特開２００３−８５５９２号公報
【特許文献２】特開平１１−３０６３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、モーションデータによりオブジェクトの姿勢変化を再現するとともに、別途独立して同オブジェクトの仮想３次元空間における位置変化を算出すると、オブジェクトの姿勢変化とオブジェクトの位置変化とが連動せず、不自然な表示を招く虞がある。例えば、オブジェクトの重心が激しく変化して、今にも地面から飛び上がりそうな姿勢変化をしているにも拘わらず、同オブジェクトの位置は地面に固定されたままだと、ユーザは違和感を覚える。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができる画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、仮想３次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想３次元空間に配置された所与の視点から該仮想３次元空間を見た様子を示す画像を表示する画像処理装置であって、前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段と、前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段と、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段と、を含むことを特徴とする。
【０００７】
また、本発明に係る画像処理方法は、仮想３次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想３次元空間に配置された所与の視点から該仮想３次元空間を見た様子を示す画像を表示する画像処理方法であって、前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出ステップと、前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出ステップと、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定ステップと、を含むことを特徴とする。
【０００８】
また、本発明に係るプログラムは、仮想３次元空間内のフィールドオブジェクト上に配置されたオブジェクトの姿勢を、前記オブジェクトの姿勢の推移を示すモーションデータに基づいて変化させるとともに、前記仮想３次元空間に配置された所与の視点から該仮想３次元空間を見た様子を示す画像を表示する手段、前記モーションデータに基づき、所定時間毎に前記オブジェクトの重心位置を算出する重心位置算出手段、前記所定時間あたりの前記オブジェクトの重心位置の移動量を算出する重心移動量算出手段、及び前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの位置を前記オブジェクトの重心位置に基づいて決定し、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値未満の場合に、前記オブジェクトの位置を、前記オブジェクトの前記フィールドオブジェクトに対する接触部分の位置に基づいて決定する位置決定手段としてコンピュータを機能させるためのプログラムである。このプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な各種情報記憶媒体に格納されてよい。また、コンピュータは、例えば家庭用ゲーム機、業務用ゲーム機、携帯ゲーム機、携帯電話機、携帯情報端末、パーソナルコンピュータ、サーバコンピュータ等である。
【０００９】
本発明では、モーションデータに基づいて、所定時間毎にオブジェクトの重心位置を算出するとともに、所定時間あたりのオブジェクトの重心位置の移動量を算出する。そして、フィールドオブジェクトから離れる向きの移動量が所定閾値を超える場合に、オブジェクトの位置をその重心位置に基づいて決定する。例えば、重心位置を仮想３次元空間において放物運動させ、そこを基準としてオブジェクトの各部の相対的な位置が決定されるようにしてもよい。また、移動量が所定閾値未満の場合には、オブジェクトのフィールドオブジェクトに対する接触部分の位置に基づいて決定する。例えば、接触部分の位置を、該接触部分がフィールドオブジェクトに接するようにして決定し、そこを基準としてオブジェクトの各部の相対的な位置が決定されるようにしてもよい。なお、上記所定閾値は、仮想３次元空間において前記オブジェクトが自由落下した場合の前記所定時間あたりの落下距離であってもよい。本発明によれば、オブジェクトの姿勢変化を示すモーションデータに基づいてオブジェクトの重心位置の移動量を算出するとともに、その移動量に応じて、オブジェクトの位置の決定方法を適宜変えるので、オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができるようになる。
【００１０】
なお、前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超える場合に、前記オブジェクトの重心位置を前記仮想３次元空間において放物運動させるとともに、放物運動する該重心位置に基づいて前記オブジェクトの位置を決定するようにしてもよい。
【００１１】
また、前記位置決定手段は、前記重心位置の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が前記所定閾値未満の場合に、前記接触部分の前記フィールドオブジェクトから離れる向きの前記所定時間あたりの移動量が所定閾値を超えるか否かに応じて、前記接触部分を前記フィールドオブジェクトから離間させるようにしてもよい。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００１３】
図１は、本発明の一実施形態に係る画像処理装置においてメモリ上に構築される仮想３次元空間を示す模式図である。同図に示すように、仮想３次元空間１０はその（グローバル座標系の）ＸＺ平面上に平板状のフィールドオブジェクト１２が配置され、フィールドオブジェクト１２上に人型のキャラクタオブジェクト１４が配置される。キャラクタオブジェクト１４はモーションデータに従ってその姿勢を変化させるようになっており、フィールドオブジェクト１２上でジャンプしたり、しゃがんだり、歩いたり、といった動作を行う。モーションデータは、キャラクタオブジェクト１４の位置情報を含んでおらず、姿勢変化の情報のみを含んでいる。すなわち、モーションデータは、所定時間毎のキャラクタオブジェクト１４の姿勢を示すデータを時系列に含んでいる。このため、キャラクタオブジェクト１４の位置変化（代表位置の移動）については、別途計算により算出される。
【００１４】
キャラクタオブジェクト１４は、図２に示す骨構造を有しており、代表位置（ルート位置）Ｒからは上方にボーンＵ１が延伸し、その先端からさらに上方にボーンＵ２が延伸している。また、ボーンＵ１及びボーンＵ２の接続点には、順に連結されたボーン群ＵＲ１〜ＵＲ４、ボーン群ＵＬ１〜ＵＬ４が接続されている。また、代表位置Ｒから下方にはボーンＬ１が延伸し、さらにその先端位置から左右斜め上方にオフセットした位置から、それぞれ下方に、順に連結されたボーン群ＬＲ１〜ＬＲ３、ボーン群ＬＬ１〜ＬＬ３が延伸している。これらのボーンは、図３に示すようにツリー構造を有しており、代表位置Ｒを決定すると、それに応じて各ボーンの位置が決定される。また、ボーンＬＬ３及びボーンＬＲ３の位置及び姿勢を決定すると、それに応じて代表位置Ｒ及び他のボーンの位置及び姿勢が決定される（インバースキネマティクス）。
【００１５】
さらに、本実施形態では、キャラクタオブジェクト１４の重心位置の演算が行われる。キャラクタオブジェクト１４は、図４に示すようにパーツＷ１〜Ｗ１５から構成されており、各パーツの重心位置Ｐｎ（仮想３次元空間１０におけるグローバル座標）及び荷重比αｎ（全重量に対する各パーツの重量の占める割合）が、図５に示すテーブルにより常時管理されている（ｎ＝１から１５）。ここで、キャラクタオブジェクト１４全体での重心位置Ｐは、次式（１）により算出される。
【００１６】
【数１】
2007058709.tif 000003
【００１７】
なお、αｎは次式（２）を満足するものであり、実際の人間の重量分布を参考に、統計的又は経験的に決定されるものである。
【００１８】
【数２】
2007058709.tif 000004
【００１９】
ここで、本実施形態に係る画像処理装置のハードウェア構成を説明する。図６は、本画像処理装置のハードウェア構成を示しており、同図に示すように、画像処理装置２０は記憶部２６、演算部２２及び表示部２４を含む、従来公知のコンピュータシステムである。記憶部２６は、ＲＡＭ等の半導体記憶装置やハードディスク記憶装置等の磁気記憶装置により構成されるものであり、特にキャラクタオブジェクト１４等の仮想３次元空間１０に配置される各種オブジェクトの形状や絵柄を示すデータ（ポリゴンデータやテクスチャデータ等）を記憶するオブジェクトデータ記憶部２６ａと、キャラクタオブジェクト１４等の仮想３次元空間１０に配置される各種オブジェクトの動き（姿勢変化）を示すモーションデータを記憶するモーションデータ記憶部２６ｂと、が設けられる。演算部２２は、ＣＰＵやＲＡＭ等を含む公知のコンピュータによって構成されており、仮想３次元空間１０に配置された各種オブジェクトの位置及び姿勢を演算するとともに、それらオブジェクトを仮想３次元空間１０に設定された視点から見た様子を画像化し、それを表示部２４に供給するものである。表示部２４は、この画像を受け取って出力するものであり、例えばＣＲＴやＬＣＤ等により構成される。表示部２４は、例えば家庭用テレビ受像器であってもよいし、また、記憶部２６及び演算部２２は、例えば家庭用ゲーム機やパーソナルコンピュータであってもよい。
【００２０】
この画像処理装置２０は、本実施形態に係る画像処理プログラムを実行することにより、各種機能を実現するようになっている。すなわち、図７に示すように、画像処理装置２０は、機能的には、重心位置算出部３０、重心移動量算出部３２、位置・姿勢決定部３４、画像生成部３６、オブジェクトデータ記憶部２６ａ、モーションデータ記憶部２６ｂ、表示部２４を含んでいる。これらの機能は、コンピュータシステムである画像処理装置２０において、所定のプログラムが実行されることにより実現される。
【００２１】
まず重心位置算出部３０は、キャラクタオブジェクト１４の重心位置を上記式（１）に従って所定時間毎に算出する。このとき、各時刻でのキャラクタオブジェクト１４の各パーツＷｎの位置座標Ｐｎは、モーションデータ記憶部２６ｂに記憶されているモーションデータに基づいて決定する。次に、重心移動量算出部３２は、所定時間毎に、重心位置算出部３０で算出されるキャラクタオブジェクト１４の重心位置間の距離を算出する。こうして算出される距離は、所定時間（重心位置の算出間隔）あたりの重心移動量として位置・姿勢決定部３４に供給される。
【００２２】
位置・姿勢決定部３４は、キャラクタオブジェクト１４の重心位置のフィールドオブジェクト１２から離れる向き（すなわちグローバル座標系におけるＹ方向）の移動量が所定閾値を超えるか否かを判断する。そして、所定閾値を超える場合には、キャラクタオブジェクト１４の重心位置を基準として、該キャラクタオブジェクト１４の位置を決定する。また、所定閾値未満の場合には、キャラクタオブジェクト１４の足部分（フィールドオブジェクト１２との接触部分であり、例えばボーンＬＲ３，ＬＬ３やパーツＷ６，Ｗ９等である。）の位置を基準として、該キャラクタ１４の位置を決定する。所定閾値は、ここではキャラクタオブジェクト１４が自由落下した場合の所定時間あたりの落下距離である。
【００２３】
具体的には、位置・姿勢決定部３４は、キャラクタオブジェクト１４の重心位置のフィールドオブジェクト１２から離れる向きの所定時間あたりの移動量が所定閾値を超える場合に、キャラクタオブジェクト１４の重心位置を仮想３次元空間１０において放物運動させるとともに、その放物運動する重心位置に基づいてキャラクタオブジェクト１４の位置を決定する。また、キャラクタオブジェクト１４の重心位置のフィールドオブジェクト１２から離れる向きの所定時間あたりの移動量が所定閾値未満の場合に、足部分のフィールドオブジェクト１２から離れる向きの所定時間あたりの移動量が所定閾値を超えるか否かに応じて、足部分をフィールドオブジェクト１２から離間させる。
【００２４】
画像生成部３６は、フィールドオブジェクト１２やキャラクタオブジェクト１４が配置された仮想３次元空間１０の様子を示す画像、すなわち仮想３次元空間１０に配置された所与の視点から該仮想３次元空間１０を見た様子を生成して、それを表示部２４に供給する。表示部２４では、この画像を表示出力する。
【００２５】
図８は、画像処理装置２０におけるキャラクタオブジェクト１４の位置及び姿勢を算出する処理を示すフロー図である。同図に示すように、この処理では、まず位置・姿勢決定部３４がモーションデータ記憶部２６ｂからモーションデータを読み出す（Ｓ１０１）。このモーションデータは、上述のようにグローバル座標系での移動情報を含まないものであり、初期状態においてキャラクタオブジェクト１４は安定的な姿勢、すなわち両足を地面（フィールドオブジェクト１２）に対して延ばした姿勢をとっている。そして、位置・姿勢決定部３４は、読み出したモーションデータを用いて、キャラクタオブジェクト１４の両足部分がフィールドオブジェクト１２に接触するようにして、キャラクタオブジェクト１４の位置及び姿勢を決定する（Ｓ１０２）。すなわち、両方の足部分がフィールドオブジェクト１２に接触するようにして、それらの部分の位置及び姿勢を決定し、その後、両足部分の位置及び姿勢を基準として、インバースキネマティクスにより他の部分の位置及び姿勢を決定する。次に、重心位置算出部３０は、モーションデータ記憶部２６ｂに記憶された次時刻（フレーム）のモーションデータを読み出し、そのモーションデータに基づいて、キャラクタオブジェクト１４の重心位置を算出する（Ｓ１０３）。
【００２６】
次に、キャラクタオブジェクト１４の片足が浮くか否かを判断する（Ｓ１０４）。図９は、この判断を説明する図である。同図において、ＷＲはキャラクタオブジェクト１４の右足に掛かる荷重であり、ＷＬはキャラクタオブジェクト１４の左足に掛かる荷重である。またＰＲは右脚の接地位置であり、ＰＬは左足の接地位置である。さらに、Ｐ’は、ＰＲとＰＬとを結んでなる線分に対して重心位置Ｐから下ろした垂線の足の位置である。このとき、ＰＲとＰ’との間の距離と、Ｐ’とＰＬとの間の距離と、の比を１−ω：ωとすると、ＷＲ及びＷＬは、それぞれ次式（３）及び（４）のようになる。
【００２７】
【数３】
2007058709.tif 000005
【００２８】
或いは、キャラクタオブジェクト１４の重心位置Ｐが、線分ＰＲＰＬの直上に無い場合には、図１０に示すように、重心位置ＰからＰ’への方向と、鉛直方向（−Ｙ方向）とのなす角をθとし、線分ＰＲＰＬ上に及ぼされるキャラクタオブジェクト１４の荷重成分をＷ１とすると、次式（５）〜（７）が成り立つ。これらの式は、θ＝０のとき、上記式（３）及び（４）と一致する。
【００２９】
【数４】
2007058709.tif 000006
【００３０】
ここで、右足の重力加速度（右足が落下する際の加速度）、左足の重力加速度（左足が落下する際の加速度）を、それぞれ次式（８）及び（９）により表す。
【数５】
2007058709.tif 000007
【００３１】
そして、これらの値を用いて、左右の足について次式（１０）及び（１１）が満足されているか否かを判断する。そして、満足していれば、各足はフィールドオブジェクト１２から浮くことができると判断する。
【００３２】
【数６】
2007058709.tif 000008
【００３３】
ここで、式（１０）の左辺は、鉛直方向（Ｙ方向、すなわちフィールドオブジェクト１２から右足部分が離れる方向）における、モーションデータが示す右足部分の１フレーム時間あたりの移動距離である。また、式（１０）の右辺は、式（８）の加速度ｇＲにより１フレーム時間にわたり右足部分が落下した場合の落下距離である。同様に、式（１１）の左辺は、鉛直方向（Ｙ方向、すなわちフィールドオブジェクト１２から左足部分が離れる方向）における、モーションデータが示す左足部分の１フレーム時間あたりの移動距離である。また、式（１１）の右辺は、式（９）の加速度ｇＬにより１フレーム時間にわたり左足部分が落下した場合の落下距離である。
【００３４】
つまり、画像処理装置２０では、図８のＳ１０４において、右足部分が式（８）に示される加速度で落下した場合の落下距離よりも、モーションデータが示す、フィールドオブジェクト１２から離れる向きの右足部分の移動距離の方が大きい場合に、右足が浮くと判断する。また、左足部分が式（９）に示される加速度で落下した場合の落下距離よりも、モーションデータが示す、フィールドオブジェクト１２から離れる向きの左足部分の移動距離の方が大きい場合に、左足が浮くと判断する。そして、いずれの足部分がフィールドオブジェクト１２に対して浮くと判断すると、その足部分の位置をフィールドオブジェクト１２から離間するよう補正する（Ｓ１０５）。
【００３５】
次に、画像処理装置２０では、位置・姿勢決定部３４がフィールドオブジェクト１２上でキャラクタオブジェクト１４がジャンプしたか否かを判断する（Ｓ１０６）。具体的には、位置・姿勢決定部３４は、次式（１２）に示される重心位置Ｐに掛かる荷重Ｗの値を算出する。そして、荷重Ｗが０以上であればジャンプ可能状態と判断し、荷重Ｗが負であれば接地していると判断する。また、特に荷重Ｗが−ｍｇであれば、自由落下していると判断する。なお、下記において、Ｗは重心位置に掛かる荷重であり、αは重心位置の移動の加速度であり、ｇは重力加速度である。また、Ｆはフィールドオブジェクト１２からキャラクタオブジェクト１４への反力であり、ｍはキャラクタオブジェクト１４の総重量であり、ΔＶは１フレーム時間あたりの重心位置の移動速度の増分であり、Δｔは１フレーム時間である。
【００３６】
【数７】
2007058709.tif 000009
【００３７】
さらに、荷重Ｗが０以上であってジャンプ可能状態の場合には、下記式（１４）が満足されているか否かを判断する。ここで、右辺は重心位置Ｐが自由落下した場合の１フレーム時間における落下距離であり、左辺Δｖは重心位置の１フレーム時間における鉛直方向（＋Ｙ方向）の移動量である。
【００３８】
【数８】
2007058709.tif 000010
【００３９】
そして、荷重Ｗが０以上であって上記式（１４）が満足されている状態から、荷重Ｗが−ｍｇに等しくなるタイミングにて、キャラクタオブジェクト１４がジャンプしたものと判断する。この場合、キャラクタオブジェクト１４の重心位置Ｐを下記式（１５）に従って放物運動させる（Ｓ１０７）。
【００４０】
【数９】
2007058709.tif 000011
【００４１】
そして、位置・姿勢決定部３４は、以上の処理結果に応じて、キャラクタオブジェクト１４の各パーツの位置及び姿勢を決定し、これによりキャラクタオブジェクト１４の位置及び姿勢を決定する（Ｓ１０８）。具体的には、Ｓ１０６でキャラクタオブジェクト１４がジャンプしないと判断した場合には、キャラクタオブジェクト１４の足部分の位置及び姿勢を基準として、キャラクタオブジェクト１４の位置及び姿勢を決定する。また、Ｓ１０６でキャラクタオブジェクト１４がジャンプすると判断した場合には、キャラクタオブジェクト１４の放物運動する重心位置Ｐを基準として、キャラクタオブジェクト１４の位置及び姿勢を決定する。
【００４２】
その後、決定された各パーツの位置及び姿勢に基づき、画像生成部３６が仮想３次元空間１０の様子を示す画像を生成し、それを表示部２４が表示する（Ｓ１０９）。そして、次のフレームタイミングが到来するのを待機し（Ｓ１１０）、到来すれば次フレームのモーションデータをモーションデータ記憶部２６ｂから読み出し（Ｓ１１１）、読み出したモーションデータに基づいて、再びＳ１０３以降の処理を実行する。
【００４３】
以上の本実施形態によれば、キャラクタオブジェクト１４の姿勢変化を示すモーションデータに基づいてキャラクタオブジェクト１４の重心位置Ｐの移動量Δｖを算出するとともに、その移動量Δｖに応じて、キャラクタオブジェクト１４の位置の決定方法を適宜変えるので、オブジェクトの姿勢変化と位置変化とを連携させ、違和感のないオブジェクトの表示を得ることができるようになる。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態に係る画像処理装置により構築される仮想３次元空間を模式的に示す図である。
【図２】キャラクタオブジェクトの骨構造を示す図である。
【図３】キャラクタオブジェクトの骨構造の主従関係を示す図である。
【図４】キャラクタオブジェクトを構成するパーツを示す図である。
【図５】キャラクタオブジェクトを構成するパーツの各位置及び各荷重比を記憶するテーブルを示す図である。
【図６】本発明の実施形態に係る画像処理装置のハードウェア構成図である。
【図７】本発明の実施形態に係る画像処理装置の機能ブロック図である。
【図８】本発明の実施形態に係る画像処理装置における画像処理（キャラクタオブジェクトの位置及び姿勢算出処理）を示すフロー図である。
【図９】キャラクタオブジェクトの両足に掛かる荷重を算出する方法を示す図である。
【図１０】キャラクタオブジェクトの両足に掛かる荷重を算出する方法を示す図である。
【符号の説明】
【００４５】
１０  仮想３次元空間、１２  フィールドオブジェクト、１４  キャラクタオブジェクト、２０  画像処理装置、２２  演算部、２４  表示部、２６  記憶部、２６ａ  オブジェクトデータ記憶部、２６ｂ  モーションデータ記憶部、３０  重心位置算出部、３２  重心移動量算出部、３４  位置・姿勢決定部、３６  画像生成部。
【図１】
2007058709.tif 000012
【図２】
2007058709.tif 000013
【図３】
2007058709.tif 000014
【図４】
2007058709.tif 000015
【図５】
2007058709.tif 000016
【図６】
2007058709.tif 000017
【図７】
2007058709.tif 000018
【図８】
2007058709.tif 000019
【図９】
2007058709.tif 000020
【図１０】
2007058709.tif 000021