(57)【特許請求の範囲】
【請求項１】
仮想３次元空間に配置されたキャラクタの所定のモーションを、当該モーションに対応して予め用意されたモーションデータに基づいて表現する画像処理装置において、
前記モーションを表現する必要が生じたとき、前記キャラクタと、その周囲に配置された特定のオブジェクトとの位置関係を適正に保ちつつ前記モーションを実行可能か否かを判別する手段と、
前記判別する手段において実行不可能と判別されたとき、所定の視点からみて前記モーションが反転して見えるように前記モーションデータを変換し、その変換後のデータに従って前記モーションの表現に必要な処理を行う手段とを備え、
前記モーションデータは、前記キャラクタを形成する複数の要素のそれぞれに関して、前記モーションに応じて時系列に設定された３次元座標の集合体であり、
前記判別する手段は、前記キャラクタに対して設定された所定の基準線からそのキャラクタの各部位までの距離がモーション中に最大となる方向を特定し、前記最大となる方向に位置するオブジェクトを前記特定のオブジェクトとして前記モーションを実行可能か否かを判別し、
前記表現に必要な処理を行う手段は、前記モーションデータに含まれている前記キャラクタの各要素に関する３次元座標を、前記モーションが前記基準線を含み前記最大となる方向に垂直な基準面に関して反転されるように前記基準面に対して対称に変換する、
ことを特徴とする画像処理装置。
【請求項２】
前記判別する手段は、前記キャラクタと、前記特定のオブジェクトとが接触することなく前記モーションを実行可能か否かを判別することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判別する手段は、前記モーション中に最大となる距離と、仮想３次元空間の所定の位置に前記キャラクタを配置したと仮定したときの前記基準線から前記特定のオブジェクトまでの距離とを比較して前記モーションを実行可能か否かを判別することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記判別する手段は、前記オブジェクトを記述するモデルデータを参照して、前記基準線から前記特定のオブジェクトまでの距離を特定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判別する手段は、前記特定のオブジェクトを簡素化して得られた判別用の仮想面と前記基準線との距離を、前記特定のオブジェクトまでの距離として特定することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記特定のオブジェクトと関連付けて前記キャラクタの移動可能な領域が設定され、
前記判別する手段は、前記モーション中に最大となる距離と前記基準線から前記移動可能な領域の境界面までの距離とを比較して、前記モーションを実行可能か否かを判別することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
仮想３次元空間に配置されたキャラクタの所定のモーションを、当該モーションに対応して予め用意されたモーションデータに基づいて表現する画像処理装置としてのコンピュータを、
前記モーションを表現する必要が生じたとき、前記キャラクタと、その周囲に配置された特定のオブジェクトとの位置関係を適正に保ちつつ前記モーションを実行可能か否かを判別する手段と、
前記判別する手段において実行不可能と判別されたとき、所定の視点からみて前記モーションが反転して見えるように前記モーションデータを変換し、その変換後のデータに従って前記モーションの表現に必要な処理を行う手段として機能させるように構成され、
前記モーションデータは、前記キャラクタを形成する複数の要素のそれぞれに関して、前記モーションに応じて時系列に設定された３次元座標の集合体であり、
前記判別する手段は、前記キャラクタに対して設定された所定の基準線からそのキャラクタの各部位までの距離がモーション中に最大となる方向を特定し、前記最大となる方向に位置するオブジェクトを前記特定のオブジェクトとして前記モーションを実行可能か否かを判別し、
前記表現に必要な処理を行う手段は、前記モーションデータに含まれている前記キャラクタの各要素に関する３次元座標を、前記モーションが前記基準線を含み前記最大となる方向に垂直な基準面に関して反転されるように前記基準面に対して対称に変換する、
ことを特徴とする画像処理用プログラム。
【請求項８】
前記判別する手段は、前記キャラクタと、前記特定のオブジェクトとが接触することなく前記モーションを実行可能か否かを判別することを特徴とする請求項７に記載の画像処理用プログラム。
【請求項９】
前記判別する手段は、前記モーション中に最大となる距離と、仮想３次元空間の所定の位置に前記キャラクタを配置したと仮定したときの前記基準線から前記特定のオブジェクトまでの距離とを比較して前記モーションを実行可能か否かを判別することを特徴とする請求項７に記載の画像処理用プログラム。
【請求項１０】
前記判別する手段は、前記オブジェクトを記述するモデルデータを参照して、前記基準線から前記特定のオブジェクトまでの距離を特定することを特徴とする請求項９に記載の画像処理用プログラム。
【請求項１１】
前記判別する手段は、前記特定のオブジェクトを簡素化して得られた判別用の仮想面と前記基準線との距離を、前記特定のオブジェクトまでの距離として特定することを特徴とする請求項９に記載の画像処理用プログラム。
【請求項１２】
前記特定のオブジェクトと関連付けて前記キャラクタの移動可能な領域が設定され、
前記判別する手段は、前記モーション中に最大となる距離と前記基準線から前記移動可能な領域の境界面までの距離とを比較して、前記モーションを実行可能か否かを判別することを特徴とする請求項７に記載の画像処理用プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、及びその画像処理を構成するためのプログラムに関する。
【０００２】
【従来の技術】
仮想３次元空間に配置されたキャラクタを操作するゲームでは、プレイヤーの操作とキャラクタの状況について所定の条件が満たされたとき、適宜、所定のモーションを表現する必要がある。例えば、障害物を跳び越える、物を蹴る等のモーションである。
【０００３】
このようなモーションを表現する方法として、モーション中の動作部位の動作過程を予めデータ化しておき、必要に応じてそのモーションデータを読み出して表現する方法が知られている。
【０００４】
例えば人間型のキャラクタの場合、実際の人間のモーションにおける個々の関節の複雑な動作過程を分析し、キャラクタのモーションデータに反映することで、適宜、リアリティのあるモーションを表現可能である。
【０００５】
【発明が解決しようとする課題】
従来の前記モーションの表現方法は、モーション中のキャラクタと、その周囲のオブジェクトとの位置関係を考慮することなく、常に一定のモーションを表現している。従って、キャラクタと、その周囲のオブジェクトとの位置関係によっては、不自然な画像が形成されることがあった。
【０００６】
例えば、人間型のキャラクタが壁の近くに配置されている場合、キャラクタが伸ばした手足が壁にめりこむ不自然な映像が表示されることがあった。
【０００７】
この場合、１種類のモーションに対して、実際の表現内容が異なっている複数種類のモーションデータを用意し（例えば、キャラクタが障害物を跳び越えるモーションに対して、体を垂直にして跳び越えるモーションデータ、体を横にして跳び越えるモーションデータを用意し）、キャラクタと、その周囲のオブジェクトの位置関係に応じてモーションデータを選択する方法が考えられる。しかし、この方法では、記録媒体に保存するモーションデータが膨大なものとなってしまう。
【０００８】
そこで、本発明は、不自然な映像の表示を未然に防止できるようにモーションを表現することができる画像処理装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
以下、本発明について説明する。なお、本発明の理解を容易にするために添付図面の参照符号を括弧書きにて付記するが、それにより本発明が図示の形態に限定されるものではない。
【００１０】
本発明の画像処理装置（１０）は、仮想３次元空間に配置されたキャラクタ（３０）の所定のモーションを、当該モーションに対応して予め用意されたモーションデータに基づいて表現する画像処理装置において、前記モーションを表現する必要が生じたとき、前記キャラクタと、その周囲に配置された特定のオブジェクト（３２）との位置関係を適正に保ちつつ前記モーションを実行可能か否かを判別する手段と、前記判別する手段において実行不可能と判別されたとき、所定の視点からみて前記モーションが反転して見えるように前記モーションデータを変換し、その変換後のデータに従って前記モーションの表現に必要な処理を行う手段とを備え、前記モーションデータは、前記キャラクタを形成する複数の要素のそれぞれに関して、前記モーションに応じて時系列に設定された３次元座標の集合体であり、前記判別する手段は、前記キャラクタに対して設定された所定の基準線（５０）からそのキャラクタの各部位までの距離がモーション中に最大となる方向を特定し、前記最大となる方向に位置するオブジェクトを前記特定のオブジェクトとして前記モーションを実行可能か否かを判別し、前記表現に必要な処理を行う手段は、前記モーションデータに含まれている前記キャラクタの各要素に関する３次元座標を、前記モーションが前記基準線を含み前記最大となる方向に垂直な基準面に関して反転されるように前記基準面に対して対称に変換することにより、上述した課題を解決する。
【００１１】
また、本発明の画像処理用プログラムは、仮想３次元空間に配置されたキャラクタ（３０）の所定のモーションを、当該モーションに対応して予め用意されたモーションデータに基づいて表現する画像処理装置（１０）としてのコンピュータを、前記モーションを表現する必要が生じたとき、前記キャラクタと、その周囲に配置された特定のオブジェクト（３２）との位置関係を適正に保ちつつ前記モーションを実行可能か否かを判別する手段と、前記判別する手段において実行不可能と判別されたとき、所定の視点からみて前記モーションが反転して見えるように前記モーションデータを変換し、その変換後のデータに従って前記モーションの表現に必要な処理を行う手段として機能させるように構成され、前記モーションデータは、前記キャラクタを形成する複数の要素のそれぞれに関して、前記モーションに応じて時系列に設定された３次元座標の集合体であり、前記判別する手段は、前記キャラクタに対して設定された所定の基準線（５０）からそのキャラクタの各部位までの距離がモーション中に最大となる方向を特定し、前記最大となる方向に位置するオブジェクトを前記特定のオブジェクトとして前記モーションを実行可能か否かを判別し、前記表現に必要な処理を行う手段は、前記モーションデータに含まれている前記キャラクタの各要素に関する３次元座標を、前記モーションが前記基準線を含み前記最大となる方向に垂直な基準面に関して反転されるように前記基準面に対して対称に変換することを特徴とすることにより、上述した課題を解決する。
【００１２】
本発明によれば、モーション中のキャラクタと、キャラクタの周囲に配置された特定のオブジェクトとの位置関係を適正に保つことができないときには、前記モーションに対応するモーションデータを用いつつも、表現内容の異なるモーションを表現することとなる。従って、従来は常に一定のモーションしか表現しなかったために形成された不自然な画像を軽減、防止することができる。また、予め用意されたモーションデータを用いるため、新たなデータを必要とせず、記憶媒体の容量を節約できる。また、仮想３次元空間内でキャラクタの座標が反転された後にレンダリングがなされるため、反転したモーションを自然なものとすることができる。なお、所定の基準線はキャラクタの中心に設定する等してキャラクタに固有の基準としてもよいし、モーションに伴うキャラクタの移動範囲の中心に設置する等してモーションに固有の基準としてもよい。
【００１３】
前記判別する手段は、前記キャラクタと、前記特定のオブジェクトとが接触することなく前記モーションを実行可能か否かを判別してもよい。この場合には、キャラクタの一方にオブジェクトが近接する状況において、キャラクタがモーション中にそのオブジェクトの方向へ伸びてオブジェクトに接触し、これを突き抜けるおそれがあるとき、そのモーションが左右に反転して表現される。従って、キャラクタがオブジェクトにめりこむような不自然な画像の生成を防止することができる。なお、接触するか否かの判定は、実際に接触するか否かを基準としてもよいし、所定の距離以下となるか否かを基準としてもよい。
【００１４】
前記判別する手段は、前記モーション中に最大となる距離（Ｌmax）と、仮想３次元空間の所定の位置に前記キャラクタを配置したと仮定したときの前記基準線から前記特定のオブジェクトまでの距離（Ｌref）とを比較して前記モーションを実行可能か否かを判別してもよい。この場合には、モーション中のキャラクタとオブジェクトとの間に適正な距離が確保されるか否かの観点から、モーションを実行可能か否かを判別することができる。
【００１５】
前記判別する手段は、前記オブジェクトを記述するモデルデータを参照して、前記基準線から前記特定のオブジェクトまでの距離を特定してもよい。あるいは、前記特定のオブジェクトを簡素化して得られた判別用の仮想面（５２）と前記基準線との距離を、前記特定のオブジェクトまでの距離として特定してもよい。この場合には、キャラクタの周囲に複雑な形状のオブジェクトが配置されていても、適正な位置関係を保てるか否かの判断を簡素化された仮想面を利用して簡単に行うことができる。従って、判別処理が効率化され、処理の負荷を軽減することができる。
【００１６】
前記特定のオブジェクトと関連付けて前記キャラクタの移動可能な領域（７０）が設定され、前記判別する手段は、前記モーション中に最大となる距離と前記基準線から前記移動可能な領域の境界面までの距離とを比較して、前記モーションを実行可能か否かを判別してもよい。この場合には、次のような不都合を解消できる。モーションを表現する必要が生じたとき、そのときのキャラクタと、キャラクタに近接するオブジェクトとの位置関係から、キャラクタとその周囲に配置された特定のオブジェクトとの位置関係を適正に保ちつつモーションを実行可能か否か判別する場合、モーション開始時には周囲に配置された特定のオブジェクトと適正な位置関係を保てても、モーションに伴いキャラクタが移動したとき、周囲に配置された特定のオブジェクトとの位置関係を適正に保てなくなることがある。しかし、キャラクタに近接するオブジェクトに代えて前記のように設定された移動可能な領域の境界面との位置関係から判別することにより、前記の不都合を解消できる。従って、キャラクタが侵入することが不自然な領域にキャラクタが侵入する画像が形成されるおそれをなくすことができる。
【００１７】
この場合には、特に、キャラクタと境界面との間に適切な距離を確保できるか否かの観点から、モーションを実行可能か否かを判別することができる。
【００１９】
なお、本発明のプログラムは記憶媒体に記録された状態で利用者に提供されてもよいし、有線又は無線のネットワークを通じて利用者に配布されてもよい。
【００２０】
【発明の実施の形態】
図１は本発明の画像処理装置の一実施形態として構成されたゲーム機のブロック図である。ゲーム機１０は、記憶媒体としてのＤＶＤ−ＲＯＭ２５に記録されたゲーム用プログラムに従って所定のゲームを実行するコンピュータとして構成されている。ゲーム機１０は、マイクロプロセッサを主体として構成されたＣＰＵ１１と、そのＣＰＵ１１に対する主記憶装置としてのＲＯＭ１２及びＲＡＭ１３と、ＣＰＵ１１からの指示に基づいて画像処理及び音声処理に適した処理を行う画像描画装置１４及びサウンド処理装置１６と、ＤＶＤ−ＲＯＭ２５からプログラムやデータを読み取るためのＤＶＤ−ＲＯＭ読取装置１８とを有している。ＲＯＭ１２には、ゲーム機１０の全体の動作制御に必要なプログラムとしてのオペレーティングシステムが書き込まれる。ＲＡＭ１３には記憶媒体としてのＤＶＤ−ＲＯＭ２５から読み取ったプログラムやデータが必要に応じて書き込まれる。
【００２１】
ＣＰＵ１１の内部には、いわゆる３次元コンピュータグラフィックスにおけるポリゴン座標変換やベクトル演算等のジオメトリ処理を行うための画像処理用演算部１１ａが設けられる。この画像処理用演算部１１ａは例えばマイクロプロセッサと特定のソフトウェアとの組み合わせによって構成される。
【００２２】
一方、画像描画装置１４はＣＰＵ１１からポリゴンデータ等を受け取ってビデオメモリ１５に描画するいわゆるレンダリング処理を実行するとともに、そのビデオメモリ１５にレンダリングされた画像データに基づいて一フレームを構成するビデオ再生信号を生成し、そのビデオ再生信号を所定のタイミングでモニタ１９に出力する。
【００２３】
なお、図１において、ビデオメモリ１５は画像描画装置１４に対応して描画専用のメモリとして設けられているが、メインメモリとしてのＲＡＭ１３上にビデオメモリが確保されてもよい。また、ＣＰＵ１１及び画像描画装置１４によってそれぞれどのような処理を負担するかはハードウェアの構成に依存して相違するものであり、本発明は上記の構成に限定されるものではない。
【００２４】
サウンド処理装置１６は、ＤＶＤ−ＲＯＭ２５から読み出された音声、楽音等のデータや音源データ等を再生してスピーカ２０から出力させる。読取装置１８は、ＣＰＵ１１からの指示に従ってＤＶＤ−ＲＯＭ２５上に記録されたプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。
【００２５】
さらに、ＣＰＵ１１にはバス２４を介して入力装置２２及び外部記憶装置２３がそれぞれ接続される。外部記憶装置２３は例えば不揮発性の半導体メモリ、ハードディスク、光磁気ディスク等の書換えが可能な記憶装置である。このような構成はあくまで一例であり、本発明の画像処理方法が適用されるコンピュータの構成は適宜変更されてよい。なお、ＣＰＵ１１に対する各装置の接続態様は図１に限定されない。
【００２６】
記憶媒体としてのＤＶＤ−ＲＯＭ２５に記録されたゲーム用プログラムは、仮想３次元空間に配置されたキャラクタがユーザの操作に応じて種々の動作を行うゲームを実行するものである。図１のゲーム用プログラムには、キャラクタの各種のモーションを表現するための画像処理モジュールが含まれている。
【００２７】
ＤＶＤ−ＲＯＭ２５に記録されたゲーム用データには、仮想３次元空間を表現するための地形データ、モーションの基礎となるモーションデータが含まれている。
【００２８】
図２はモーションデータに基づいて表示されるモーションの一例として、キャラクタ３０が柵３１を跳び越えるモーションを表現したものである。
【００２９】
この例のモーションデータは、図２（ａ）に示すように、キャラクタ３０がその左手を柵３１に置いて体を支え、右側に足を投げ出しながら柵３１を跳び越えるという動作を所定数のフレームで表現するように作成されている。この場合、仮にモーション中のキャラクタ３０と壁３２との位置関係を考慮せず、常にモーションデータをそのまま使用してモーションを表示させると、キャラクタ３０が壁３２に近付いているときにその足が壁３２にめりこむような不自然な映像が形成されることがある（図２（ａ）の斜線部参照）。
【００３０】
そこで、本実施形態の画像処理モジュールは、モーションを表現する必要が生じたとき、キャラクタ３０と、壁３２との位置関係を適正（つまり、キャラクタ３０が壁３２にめり込まない状態）に保ちつつモーションを実行可能か否か判別する。そして、実行不可能と判別したときは、図２（ｂ）に示すように、モーションを反転して見えるようにモーションデータを変換してモーションを表現する。これにより、同じモーションデータを用いつつも、予め用意されたモーションデータとは異なる態様でモーションを表現して不自然な画像の生成を防止することができる。
【００３１】
図３（ａ）はモーションデータの概念図を示している。同図に示すように、モーションデータはモーション名４０、モーションの最長距離Ｌmax、モーションの時系列データ４２を含んでいる。ＤＶＤ−ＲＯＭ２５にはこのようなモーションデータが多数記録されている。
【００３２】
モーション名４０はモーションデータの識別、検索に用いられる。モーションを表示する必要が生じたとき、画像処理モジュールは、コントローラ２２に対するプレイヤーの操作及びそのときのキャラクタの状況に応じて表現するモーションを決定し、モーション名４０に基づいて実際に使用するモーションデータを検索し、抽出されたモーションデータを利用して特定のモーションを表現する。
【００３３】
モーションの最長距離Ｌmaxは、図４（ａ）に示すように、キャラクタ３０に対して設定された所定の基準線５０からキャラクタ３０の各部位（例えば肘、手先、膝、つま先等）までの距離のうち、そのモーションの間において最大となる値として定義される。なお、図の例では、キャラクタ３０の腰に設定された基準点４４を通る鉛直線を基準線５０としている。
【００３４】
ここで、基準点４４及び基準線５０は、図５に示すように、キャラクタ３０に固有のローカル座標系６０に従って定義されている。ローカル座標系６０は仮想３次元空間の基礎となるワールド座標系６１に配置される。ローカル座標系６０のワールド座標系６１における位置と傾きはＲＡＭ１３に保持され、プレイヤーのコントローラ２２への操作などに応じ、各フレーム毎に更新される。
【００３５】
画像処理モジュールは、表現するモーションをモーション名によって特定した後、そのモーションデータの基準線５０及び基準線５０からみて最長距離Ｌmaxを与える部位の方向を、ローカル座標系６０のワールド座標系６１における位置と傾きに基づき、ワールド座標系６１へ座標変換する。次に、図４（ａ）に示すように、その座標変換された基準線５０と基準線５０からみて最長距離Ｌmaxを与える部位の方向に存在する特定のオブジェクト（図の例ではの壁３２）との距離Ｌrefとモーションの最長距離Ｌmaxとの差△Ｌが所定の許容値以上か否かを判別する。
【００３６】
距離Ｌrefの特定は、壁３２を仮想３次元空間に配置するためのモデルデータに基づいて行ってもよいが、壁３２を単純化した判定用のデータを予め壁３２と対応付けて用意し、その判定用のデータを利用して距離Ｌrefを求めてもよい。例えば、図４（ｂ）に示すように壁３２にパイプ５１…５１が数本設置されている場合、判定用の仮想面５２を用意することにより、壁３２及びパイプ５１…５１のそれぞれについて実行する判定を仮想面一つに対し実行すればよく、効率的に判定を行うことができる。なお、単純化した判定用のデータを用意する対象は、パイプが配置された壁に限らず、キャラクタの周囲に配置された複雑な形状を持つオブジェクトであればよい。
【００３７】
図４（ａ）に示す距離の差△Ｌが所定の許容値以上であればモーションデータ通りにモーションを表現するが、許容値未満であればキャラクタ３０と壁３２との位置関係を適正に保ちつつそのモーションを実行することができないものと判断する。この場合には、モーションが反転して見えるようにモーションデータを変換してモーションを表現する。
【００３８】
モーションデータの変換は以下のとおりである。モーションの時系列データ４２は、図３（ｂ）に示すように、基準点４４、関節４５等のキャラクタ３０を形成する要素の座標の時系列データとなっている。また、これらの座標は、図５に示すように、キャラクタ３０に固有のローカル座標系６０に従って定義される。画像処理モジュールは、モーションを反転する必要があるとき、ローカル座標系６０においてモーションの時系列データ４２の座標を所定の基準面６２に対して対称に変換する。図５の例では、基準線５０を含み、キャラクタの進行方向に平行な面６２を基準としている。この座標変換の処理は、画像処理モジュールが画像処理用演算部１１ａに座標変換の指示を出すことにより実行してもよいし、ＣＰＵ１１内部の他の演算部に実行させてもよい。この座標変換後のモーションの時系列データに基づいてモーションを表現することにより、モーションを反転して表現することができる。
【００３９】
時系列データに基づくモーションの表現方法は、以下のとおりである。ローカル座標系６０に定義されているモーションの時系列データの座標は、前記のローカル座標系６０のワールド座標系６１における位置と傾きに基づき、図１の画像処理用演算部１１ａによってワールド座標系６１へ座標変換される。画像描画装置１４はモーションデータの座標変換後の座標に基づいてレンダリング処理を実行し、１フレームの映像を形成してモニタ１９に出力する。画像処理モジュールは、画像処理用演算部１１ａ、画像描画装置１４にこれらの処理をモーションの時系列データに記録された順に従って実行させることにより、フレーム毎に姿勢の異なるキャラクタ３０を表示し、モーションを表現する。なお、本実施形態では、ローカル座標系６０においてモーションの時系列データを基準面６２に対して変換した後、ワールド座標系６１上に変換しているが、モーションの時系列データを基準面６２とともにワールド座標系６１上に変換後、基準面６２に対して対称に変換してもよい。
【００４０】
図６は、前記のモーションの反転を実際に実現するために、モーションを表現する必要が生じたときにＣＰＵ１１が実行するモーション表示処理のフローチャートである。この処理では、まず、キャラクタ３０と、その周囲に配置された特定のオブジェクトとの位置関係を適正に保ちつつモーションを実行可能か否か判別する（ステップＳ１）。実行可能と判別した場合は、モーションデータに従ってモーションを表示し、終了する。実行不可能と判別した場合は、モーションを反転する指示をし（ステップＳ２）、反転したモーションを表示し、終了する。
【００４１】
以上の実施形態ではキャラクタ３０の周囲に配置される特定のオブジェクトとして壁３２を例示したが、本発明はこれに限らず様々なオブジェクトを対象としてよい。キャラクタの周囲に配置された特定のオブジェクトを記述するモデルデータ、又はそのオブジェクトに関連付けて予め作成された判定用のデータを利用してキャラクタとオブジェクトとが適正な位置関係を保つか否かを判断する例を説明したが、その他の方法でも前記位置関係を判定することができる。例えば、仮想３次元空間に配置される各種のオブジェクトを考慮して仮想３次元空間内にキャラクタが移動可能な領域を予め設定し、その領域のデータを参照してキャラクタがオブジェクトに対して適正な位置関係を保つか否かを判定することができる。図７を参照してその一例を説明する。
【００４２】
図７はキャラクタ３０が床７２の縁７１に掴まってぶら下がっている状況を示している。この状況から、キャラクタ３０が床７２によじ登るモーションを表現する場合、床の突出部分７３が検出されず、モーション実行中にキャラクタ３０が突出部分７３にめりこむ不自然な映像を形成してしまうおそれがある。そこで、キャラクタ３０がめり込むおそれのある突出部分７３等のオブジェクトを考慮して、キャラクタ３０が移動可能な領域７０を定義しておき、その領域７０の境界面７０ａとの距離を参照してモーションを実行可能か否か判断する。
【００４３】
【発明の効果】
以上に説明したように、本発明によれば、モーション中のキャラクタと、キャラクタの周囲に配置された特定のオブジェクトとの位置関係を適正に保つことができないときには、前記モーションに対応するモーションデータを用いつつも、表現内容の異なるモーションを表現することとなる。従って、従来は常に一定のモーションしか表現しなかったために形成された不自然な画像を軽減、防止することができる。また、予め用意されたモーションデータを用いるため、新たなデータを必要とせず、記憶媒体の容量を節約できる。
【図面の簡単な説明】
【図１】本発明の画像処理システムの一実施形態として構成されたゲーム機のブロック図。
【図２】図１のゲーム機がモーションデータに基づいて表示するモーションの一例。
【図３】図１のゲーム機が用いるモーションデータの概念図。
【図４】図１のゲーム機が実行する、キャラクタと、その周囲に配置された特定のオブジェクトとの位置関係を適正に保ちつつ図２のモーションを実行可能か否かの判別方法の概念図。
【図５】図１のゲーム機が用いるモーションデータの座標と、その反転方法の概念図。
【図６】モーションの反転を実現するために、モーションを表現する必要が生じたときに図１のゲーム機が実行するモーション表示処理のフローチャート。
【図７】キャラクタと特定のオブジェクトとが適正な位置関係を保つか否かを判断する方法の変形例として、移動可能な領域を設定した場合の映像例。
【符号の説明】
１０  画像処理装置
３０  キャラクタ
３２  キャラクタの周囲に配置された特定のオブジェクト
４５  モーションデータに含まれるキャラクタの各部位に関する３次元座標
５０  キャラクタに対して設定された所定の基準
５２  特定のオブジェクトを簡素化して得られた判別用の仮想面
６２  モーションデータを変換する所定の基準面
７０  キャラクタの移動可能な領域
Ｌmax  所定の基準とキャラクタの各部位との距離のうちモーション中に最大となる距離
Ｌref  所定の基準から前記特定のオブジェクトまでの距離
【図１】
0004136341.tif 000002
【図２】
0004136341.tif 000003
【図３】
0004136341.tif 000004
【図４】
0004136341.tif 000005
【図５】
0004136341.tif 000006
【図６】
0004136341.tif 000007
【図７】
0004136341.tif 000008