(57)【特許請求の範囲】
【請求項１】
仮想３次元空間を視点から見た様子を表す画面を表示手段に表示する画像処理装置において、
前記仮想３次元空間に配置されるキャラクタオブジェクトが部位を動かす場合の前記部位の移動経路に関する移動経路データを取得する取得手段と、
前記移動経路をユーザに案内するための移動経路オブジェクトを前記移動経路データに基づいて生成する生成手段と、
前記キャラクタオブジェクト及び前記移動経路オブジェクトが配置された前記仮想３次元空間を前記視点から見た様子を表す画面を前記表示手段に表示する表示制御手段と、
を含み、
前記生成手段は、前記キャラクタオブジェクトの位置に基づいて設定される基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトを生成する、
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記生成手段は、前記基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトのうちの、該移動経路上の点に対応する部分の向きを設定する手段を含むことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記生成手段は、前記基準位置から前記移動経路上の点への方向との間の角度が基準角度である方向に基づいて、前記移動経路オブジェクトのうちの、該移動経路上の点に対応する部分の向きを設定することを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の画像処理装置において、
前記移動経路オブジェクトは帯状のオブジェクトであり、
前記生成手段は、前記基準位置から前記移動経路上の点への方向に基づいて、前記帯状のオブジェクトを構成するポリゴンを生成する手段を含む、
ことを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の画像処理装置において、
前記生成手段は、
前記移動経路が複数の類型のいずれに属するかを判定する判定手段と、
前記基準位置を前記判定手段の判定結果に基づいて変更する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれかに記載の画像処理装置において、
前記生成手段は、
前記基準位置から前記移動経路上の点への方向との間の角度が基準角度である方向に基づいて、前記移動経路オブジェクトを生成する手段と、
前記移動経路が複数の類型のいずれに属するかを判定する判定手段と、
前記基準角度を前記判定手段の判定結果に基づいて変更する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項７】
請求項１乃至６のいずれかに記載の画像処理装置において、
前記表示制御手段は、
前記キャラクタオブジェクトが前記部位を前記移動経路に沿って動かし始める時点よりも前の第１時点になるまで、前記移動経路オブジェクトの前記画面への表示を制限する手段と、
前記第１時点から、前記キャラクタオブジェクトが前記部位を前記移動経路に沿って動かし始める前記時点よりも前の第２時点までの期間において、前記移動経路オブジェクトが前記移動経路の始点に対応する位置から前記移動経路の終点に対応する位置まで徐々に伸びるようにして、前記移動経路オブジェクトを前記画面に表示する手段と、を含む、
ことを特徴とする画像処理装置。
【請求項８】
請求項１乃至７のいずれかに記載の画像処理装置において、
前記移動経路データは、前記キャラクタオブジェクトが前記部位を動かす場合に前記部位が通る複数の位置を示すデータであり、
前記取得手段は、前記複数の位置のうちの一の位置である第１位置と、前記第１位置の次の位置である第２位置との間の距離が基準距離未満である場合、前記第１位置と前記第２位置とのうちの一方を前記移動経路データから取り除く手段を含む、
ことを特徴とする画像処理装置。
【請求項９】
仮想３次元空間を視点から見た様子を表す画面を表示手段に表示する画像処理装置の制御方法において、
前記仮想３次元空間に配置されるキャラクタオブジェクトが部位を動かす場合の前記部位の移動経路に関する移動経路データを取得する取得ステップと、
前記移動経路をユーザに案内するための移動経路オブジェクトを生成する生成ステップと、
前記キャラクタオブジェクト及び前記移動経路オブジェクトが配置された前記仮想３次元空間を前記視点から見た様子を表す画面を前記表示手段に表示する表示制御ステップと、
を含み、
前記生成ステップは、前記キャラクタオブジェクトの位置に基づいて設定される基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトを生成する、
ことを特徴とする画像処理装置の制御方法。
【請求項１０】
仮想３次元空間を視点から見た様子を表す画面を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記仮想３次元空間に配置されるキャラクタオブジェクトが部位を動かす場合の前記部位の移動経路に関する移動経路データを取得する取得手段、
前記移動経路をユーザに案内するための移動経路オブジェクトを生成する生成手段、
前記キャラクタオブジェクト及び前記移動経路オブジェクトが配置された前記仮想３次元空間を前記視点から見た様子を表す画面を前記表示手段に表示する表示制御手段、
として前記コンピュータを機能させ、
前記生成手段は、前記キャラクタオブジェクトの位置に基づいて設定される基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトを生成する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
キャラクタオブジェクトが部位を動かす様子を表す画面を表示手段に表示する画像処理装置が知られている。例えば、キャラクタオブジェクトが音楽に合わせてダンスを踊る様子を表す画面を表示手段に表示する画像処理装置（例えばゲーム装置）が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８６６４７４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような画像処理装置では、キャラクタオブジェクトが手や足等の部位を動かす場合における該部位の移動経路をユーザに案内する必要が生じる場合がある。例えば、ダンスを踊るキャラクタオブジェクトを見ながらキャラクタオブジェクトと同様にユーザ（プレイヤ）がダンスを踊るようなゲームを実現する場合には、例えば手又は足をどのように動かせばよいかをユーザが把握できるようにするべく、キャラクタオブジェクトの手又は足の移動経路をユーザに案内する必要がある。また、キャラクタオブジェクトの部位の移動経路をユーザに案内する場合には、ユーザがその移動経路を比較的容易に把握できるようにすることが望まれる。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、キャラクタオブジェクトが部位を動かす場合における該部位の移動経路をユーザが比較的容易に把握できるように図ることが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、仮想３次元空間を視点から見た様子を表す画面を表示手段に表示する画像処理装置において、前記仮想３次元空間に配置されるキャラクタオブジェクトが部位を動かす場合の前記部位の移動経路に関する移動経路データを取得する取得手段と、前記移動経路をユーザに案内するための移動経路オブジェクトを前記移動経路データに基づいて生成する生成手段と、前記キャラクタオブジェクト及び前記移動経路オブジェクトが配置された前記仮想３次元空間を前記視点から見た様子を表す画面を前記表示手段に表示する表示制御手段と、を含み、前記生成手段は、前記キャラクタオブジェクトの位置に基づいて設定される基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトを生成することを特徴とする。
【０００７】
また、本発明に係る画像処理装置の制御方法は、仮想３次元空間を視点から見た様子を表す画面を表示手段に表示する画像処理装置の制御方法において、前記仮想３次元空間に配置されるキャラクタオブジェクトが部位を動かす場合の前記部位の移動経路に関する移動経路データを取得する取得ステップと、前記移動経路をユーザに案内するための移動経路オブジェクトを生成する生成ステップと、前記キャラクタオブジェクト及び前記移動経路オブジェクトが配置された前記仮想３次元空間を前記視点から見た様子を表す画面を前記表示手段に表示する表示制御ステップと、を含み、前記生成ステップは、前記キャラクタオブジェクトの位置に基づいて設定される基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトを生成することを特徴とする。
【０００８】
また、本発明に係るプログラムは、仮想３次元空間を視点から見た様子を表す画面を表示手段に表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記仮想３次元空間に配置されるキャラクタオブジェクトが部位を動かす場合の前記部位の移動経路に関する移動経路データを取得する取得手段、前記移動経路をユーザに案内するための移動経路オブジェクトを生成する生成手段、前記キャラクタオブジェクト及び前記移動経路オブジェクトが配置された前記仮想３次元空間を前記視点から見た様子を表す画面を前記表示手段に表示する表示制御手段、として前記コンピュータを機能させ、前記生成手段は、前記キャラクタオブジェクトの位置に基づいて設定される基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトを生成することを特徴とする。
【０００９】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１０】
本発明によれば、キャラクタオブジェクトが部位を動かす場合における該部位の移動経路をユーザが比較的容易に把握できるように図ることが可能になる。
【００１１】
また本発明の一態様では、前記生成手段は、前記基準位置から前記移動経路上の点への方向に基づいて、前記移動経路オブジェクトのうちの、該移動経路上の点に対応する部分の向きを設定するようにしてもよい。
【００１２】
また本発明の一態様では、前記生成手段は、前記基準位置から前記移動経路上の点への方向との間の角度が基準角度である方向に基づいて、前記移動経路オブジェクトのうちの、該移動経路上の点に対応する部分の向きを設定するようにしてもよい。
【００１３】
また本発明の一態様では、前記移動経路オブジェクトは帯状のオブジェクトであり、前記生成手段は、前記基準位置から前記移動経路上の点への方向に基づいて、前記帯状のオブジェクトを構成するポリゴンを生成する手段を含むようにしてもよい。
【００１４】
また本発明の一態様では、前記生成手段は、前記移動経路が複数の類型のいずれに属するかを判定する判定手段と、前記基準位置を前記判定手段の判定結果に基づいて変更する手段と、を含むようにしてもよい。
【００１５】
また本発明の一態様では、前記生成手段は、前記基準位置から前記移動経路上の点への方向との間の角度が基準角度である方向に基づいて、前記移動経路オブジェクトを生成する手段と、前記移動経路が複数の類型のいずれに属するかを判定する判定手段と、前記基準角度を前記判定手段の判定結果に基づいて変更する手段と、を含むようにしてもよい。
【００１６】
また本発明の一態様では、前記表示制御手段は、前記キャラクタオブジェクトが前記部位を前記移動経路に沿って動かし始める時点よりも前の第１時点になるまで、前記移動経路オブジェクトの前記画面への表示を制限する手段と、前記第１時点から、前記キャラクタオブジェクトが前記部位を前記移動経路に沿って動かし始める前記時点よりも前の第２時点までの期間において、前記移動経路オブジェクトが前記移動経路の始点に対応する位置から前記移動経路の終点に対応する位置まで徐々に伸びるようにして、前記移動経路オブジェクトを前記画面に表示する手段と、を含むようにしてもよい。
【００１７】
また本発明の一態様では、前記移動経路データは、前記キャラクタオブジェクトが前記部位を動かす場合に前記部位が通る複数の位置を示すデータであり、前記取得手段は、前記複数の位置のうちの一の位置である第１位置と、前記第１位置の次の位置である第２位置との間の距離が基準距離未満である場合、前記第１位置と前記第２位置とのうちの一方を前記移動経路データから取り除く手段を含むようにしてもよい。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成を示す図である。
【図２】表示部に表示される画面の一例を示す図である。
【図３】表示部に表示される画面の他の一例を示す図である。
【図４】キャラクタオブジェクトの動作について説明するための図である。
【図５】仮想３次元空間の一例を示す図である。
【図６】画像処理装置の機能ブロック図である。
【図７】移動経路データ取得部及び移動経路オブジェクト生成部が実行する処理の一例を示すフロー図である。
【図８】モーションキャプチャデータの一例を示す図である。
【図９Ａ】移動経路データの一例を示す図である。
【図９Ｂ】移動経路データの他の一例を示す図である。
【図９Ｃ】移動経路データの他の一例を示す図である。
【図１０】移動経路データ取得部が実行する処理について説明するための図である。
【図１１】基準位置について説明するための図である。
【図１２】移動経路オブジェクトの生成方法の一例について説明するための図である。
【図１３】移動経路オブジェクトの生成方法の他の一例について説明するための図である。
【図１４】表示制御部が実行する処理の一例を示すフロー図である。
【図１５】表示部に表示される画面の一例を示す図である。
【図１６】表示部に表示される画面の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。
【００２０】
例えば、本発明はゲームを開発するために用いられる開発用コンピュータに適用することができる。また例えば、本発明はゲームをプレイするために用いられるゲーム装置（例えば、家庭用ゲーム機、携帯ゲーム機、業務用ゲーム機、携帯電話、パーソナルコンピュータ等）に適用することもできる。さらに本発明は、上記の開発用コンピュータ又はゲーム装置以外の画像処理装置にも適用することができる。
【００２１】
図１は、本発明の実施形態に係る画像処理装置のハードウェア構成を示す図である。図１に示すように、本実施形態に係る画像処理装置１０は、制御部１１、主記憶部１２、補助記憶部１３、入力部１４、表示部１５、音声出力部１６、光ディスクドライブ部１７、及び通信インタフェース１８を含む。
【００２２】
制御部１１は、例えばＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、及びＳＰＵ（Sound Processing Unit）等を含み、プログラムに従って情報処理を実行する。主記憶部１２は例えばＲＡＭ（Random Access Memory）を含んで構成される。主記憶部１２には、補助記憶部１３又は光ディスクから読み出されたプログラムやデータが記憶される。また主記憶部１２は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。補助記憶部１３は例えばハードディスク装置（情報記億媒体）を含む。
【００２３】
入力部１４は例えばキーボード、マウス、タッチパネル、又はゲームコントローラ等を含み、入力を行うために用いられる。表示部１５は例えば家庭用テレビ受像機又は液晶表示パネル等であり、制御部１１の指示に従って画面を表示する。音声出力部１６は例えばスピーカ又はヘッドホン等を含み、制御部１１の指示に従って音声データを出力する。
【００２４】
光ディスクドライブ部１７は光ディスク（情報記憶媒体）に記憶されたプログラムやデータを読み取る。通信インタフェース１８は、例えばインターネット等の通信ネットワークに画像処理装置１０を通信接続するためのインタフェースである。なお、ここではプログラムやデータを画像処理装置１０に供給するために光ディスクを用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、通信ネットワークを介して遠隔地からプログラムやデータを画像処理装置１０に供給するようにしてもよい。
【００２５】
図２は、画像処理装置１０の表示部１５に表示される画面の一例を示す図である。図２に示す画面２０にはキャラクタオブジェクト２２が表示されている。キャラクタオブジェクト２２は各種動作を行う。以下では、キャラクタオブジェクト２２が左手２４ｌ、右手２４ｒ、左足２６ｌ、及び右足２６ｒを音楽に合わせて動かしてダンスを踊る場合について説明する。
【００２６】
また、画面２０には移動経路オブジェクト２８も表示されている。移動経路オブジェクト２８は、ユーザ（キャラクタオブジェクト２２の動きを見る者）にキャラクタオブジェクト２２の動きを案内する役割を果たす。すなわち、移動経路オブジェクト２８は、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザに案内する役割を果たす。
【００２７】
図２に示す移動経路オブジェクト２８は、キャラクタオブジェクト２２の左手２４ｌの移動経路を示している。この場合の左手２４ｌの動きは、「左手２４ｌを体の真横で弧を描くようにして頭上まで上げ、その後、同じく弧を描くようにして左手２４ｌを右手２４ｒ付近まで下ろす」というような動きである。
【００２８】
図３も画面２０の一例を示す図である。図３に示す移動経路オブジェクト２８は、キャラクタオブジェクト２２の右手２４ｒの移動経路を示している。この場合の右手２４ｒの動きは、図４に示すように、「右手２４ｒを頭の後方から前方に弧を描くように振り下ろす」というような動きである。
【００２９】
図２，３に示す移動経路オブジェクト２８を参照することによって、キャラクタオブジェクト２２が左手２４ｌ、右手２４ｒを動かす場合における左手２４ｌ、右手２４ｒの移動経路をユーザが把握できるようにしている。なお、キャラクタオブジェクト２２の他の部位（例えば左足２６ｌ、右足２６ｒ）の移動経路を案内するための移動経路オブジェクト２８が画面２０に表示されるようにしてもよい。
【００３０】
画面２０を表示部１５に表示するために仮想３次元空間が主記憶部１２に構築される。図５は仮想３次元空間の一例を示す図である。図５に示す仮想３次元空間３０には、互いに直交する３つの座標軸（Ｘｗ，Ｙｗ，Ｚｗ軸）が設定されている。なお、図５に示す仮想３次元空間３０の状態は図２に示す画面２０に対応している。
【００３１】
図５に示す仮想３次元空間３０にはキャラクタオブジェクト２２と移動経路オブジェクト２８とが配置されている。キャラクタオブジェクト２２及び移動経路オブジェクト２８は、それぞれ、複数のポリゴンを含んで構成される。
【００３２】
キャラクタオブジェクト２２の内部には、キャラクタオブジェクト２２の姿勢を制御するためのスケルトンが設定される。スケルトンは、関節に相当する複数のジョイントと、ジョイント間を接続するための複数のボーンとを含む。これらのジョイント及びボーンの状態（例えば位置や回転角度）が変化することによって、キャラクタオブジェクト２２の各部位（例えば、左手２４ｌ、右手２４ｒ、左足２６ｌ、及び右足２６ｒ）の位置等が変化する。
【００３３】
図５に示す移動経路オブジェクト２８は帯状のオブジェクトになっている。図５に示す例では移動経路オブジェクト２８が平面状のオブジェクトになっているが、移動経路オブジェクト２８にはねじれ部分が含まれる場合があり、その場合には、移動経路オブジェクト２８は曲面状のオブジェクトになる。なお、移動経路オブジェクト２８は帯状のオブジェクトに限られず、立体状のオブジェクトであってもよい。
【００３４】
また、仮想３次元空間３０には仮想カメラ３２（視点）が設定される。そして、この仮想カメラ３２から見た仮想３次元空間３０が画面２０に表示される。なお、例えば、仮想カメラ３２はキャラクタオブジェクト２２と一定の位置関係を有するように設定される。すなわち、キャラクタオブジェクト２２が常に画面２０内の所定領域（例えば中央領域）に表示されるように、仮想カメラ３２の位置、視線方向、及び画角は設定される。
【００３５】
以下、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるような移動経路オブジェクト２８を生成するための技術について説明する。
【００３６】
図６は、画像処理装置１０で実現される機能のうち、移動経路オブジェクト２８の生成に関連する機能を主に示す機能ブロック図である。図６に示すように、画像処理装置１０は記憶部４０、移動経路データ取得部４２、移動経路オブジェクト生成部４４、及び表示制御部４６を含む。
【００３７】
記憶部４０は、例えば主記憶部１２、補助記憶部１３、及び光ディスクの少なくとも一つによって実現される。なお記憶部４０は、画像処理装置１０と通信ネットワークを介して通信接続される他の装置に備えられる記憶装置によって実現されるようにしてもよい。記憶部４０以外の機能ブロックは、例えば制御部１１によって実現される。
【００３８】
まず、記憶部４０について説明する。記憶部４０は各種データを記憶する。
【００３９】
例えば、キャラクタオブジェクト２２の形状を示すモデルデータが記憶部４０に記憶される。モデルデータでは、キャラクタオブジェクト２２を構成する各ポリゴンの頂点の位置が、例えば、キャラクタオブジェクト２２の基準点（例えば腰の位置）を原点とするローカル座標系の座標値として保持される。
【００４０】
また例えば、キャラクタオブジェクト２２のためのモーションデータが記憶部４０に記憶される。モーションデータは、キャラクタオブジェクト２２に各種動作を行わせるためのデータである。例えば、モーションデータは、キャラクタオブジェクト２２が各種動作を行う場合のスケルトンの状態の変化を定めたデータであり、キャラクタオブジェクト２２のスケルトンの状態をモーションデータに従って変化させることによって、キャラクタオブジェクト２２が各種動作を行うようになる。以下では、モーションデータに従ってキャラクタオブジェクト２２のスケルトンの状態を変化させることを「モーションデータを再生する」と記載する。
【００４１】
なお、モーションデータは、例えばダンサー等の人の動きをモーションキャプチャ技術を用いて記録することによって得られるモーションキャプチャデータに基づいて生成される。本実施形態の場合、このモーションキャプチャデータも記憶部４０に記憶される。
【００４２】
次に、移動経路データ取得部４２及び移動経路オブジェクト生成部４４について説明する。移動経路データ取得部４２は、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路に関する移動経路データを取得する。移動経路オブジェクト生成部４４は移動経路オブジェクト２８を移動経路データに基づいて生成する。
【００４３】
図７は、移動経路データ取得部４２及び移動経路オブジェクト生成部４４が実行する処理の一例を示すフロー図である。なお、制御部１１が図７に示す処理をプログラムに従って実行することによって、制御部１１が移動経路データ取得部４２及び移動経路オブジェクト生成部４４として機能するようになる。
【００４４】
図７に示すように、まず、移動経路データ取得部４２は、記憶部４０に記憶されるモーションキャプチャデータを読み出す（Ｓ１０１）。上述したように、モーションキャプチャデータは人の動きをモーションキャプチャ技術を用いて記録することによって得られるデータである。
【００４５】
図８はモーションキャプチャデータの一例を示す模式図である。図８は、例えば、人が「左手を体の真横で弧を描くようにして頭上まで上げ、その後、同じく弧を描くようにして左手を右手の付近まで下ろす動き」を行った場合における左手の動きをモーションキャプチャ技術によって記録することによって得られたモーションキャプチャデータの一例を示している。
【００４６】
図８における点５０ａ，５０ｂ，５０ｃ，５０ｄは、人が上記の動作を行った場合に所定時間ごとに記録された左手の位置を示している。点５０ａは最初に記録された位置を示している。また、点５０ｂは第２番目に記録された位置を示し、点５０ｃは第３番目に記録された位置を示している。点５０ｄは最後に記録された位置を示している。
【００４７】
ステップＳ１０１の処理が実行された後、移動経路データ取得部４２は補間処理をモーションキャプチャデータに施すによって、部位（例えば左手）の移動経路データを取得する（Ｓ１０２）。移動経路データを取得するための補間処理としては種々の補間処理を採用することができる。例えば、Ｂ−スプライン補間処理、Ｎ−スプライン補間処理、又は丸み不均一スプライン補間処理（Rounded Nonuniform spline）を採用するようにするとよい。
【００４８】
図９Ａ，９Ｂ，９Ｃは図８に示すモーションキャプチャデータに補間処理を施した場合に取得される左手の移動経路データの例を示す模式図である。図９Ａ〜９Ｃにおいて、符号６２は補間処理によって取得された左手の移動経路を示している。また、符号６０は移動経路６２上の頂点を示している。つまり、符号６０は左手が通る複数の位置を示している。図９Ａ〜９Ｃに示すように、補間処理によって得られる移動経路６２には複数の頂点６０が設定されている。
【００４９】
図９Ａは、図８に示すモーションキャプチャデータにＢ−スプライン補間処理を施した場合に取得される左手の移動経路データの一例を示している。図９Ａに示すように、この場合に取得される移動経路６２は、点５０ａ〜５０ｄを直線で結んだ場合の経路５２の内側で弧を描くような経路になる。
【００５０】
図９Ｂは、図８に示すモーションキャプチャデータに丸み不均一スプライン補間処理を施した場合に取得される左手の移動経路データの一例を示している。図９Ｂに示すように、この場合に取得される移動経路６２は、点５０ａ〜５０ｄを直線で結んだ場合の経路５２の外側で弧を描くような経路になる。
【００５１】
図９Ｃは、図８に示すモーションキャプチャデータにＮ−スプライン補間処理を施した場合に取得される左手の移動経路の一例を示している。図９Ｃに示すように、この場合に取得される移動経路６２は、点５０ａ〜５０ｄを直線で結んだ場合の経路５２の外側で弧を描くような経路になる。この場合の移動経路６２は、上記の経路５２との違いが比較的小さく、かつ、ある程度のなめらかさを有するような経路となる。
【００５２】
ステップＳ１０２においてどの補間処理を採用するかは、例えば、得られる移動経路６２と上記の経路５２との間の違いを小さくすることを重視するのか、又は、得られる移動経路６２のなめらかさを重視するのか等の点を考慮して決定するようにすればよい。なお、補間処理によって得られる移動経路６２の頂点６０の数が多くなりすぎると、後の処理の負荷が増大してしまうため、補間処理を実行する場合には頂点６０の数をどの程度にするのかについて留意する必要がある。
【００５３】
ステップＳ１０２の処理が実行された後、移動経路データ取得部４２は、移動経路６２の頂点６０のうちに、前の頂点６０との間の距離が基準距離未満である頂点６０が存在するか否かを判定する（Ｓ１０３）。そして、そのような頂点６０が存在すると判定された場合、移動経路データ取得部４２はその頂点６０を移動経路データから取り除く（Ｓ１０４）。
【００５４】
図１０はステップＳ１０３，Ｓ１０４の処理について説明するための図であり、ステップＳ１０２で取得された移動経路データの一例を示している。図１０に示す移動経路６２では、頂点６０ａと、頂点６０ａの次の頂点６０ｂとの間の距離が短くなっている。頂点６０ａと頂点６０ｂとの間の距離が基準距離未満である場合、ステップＳ１０３では、前の頂点６０との間の距離が基準距離未満である頂点６０として頂点６０ｂが存在すると判定される。そして、ステップＳ１０４では頂点６０ｂが取り除かれる。なおこの場合、頂点６０ｂの代わりに、頂点６０ａが取り除かれるようにしてもよい。
【００５５】
移動経路６２において隣り合う２つの頂点６０間の距離が短いと、移動経路オブジェクト生成部４４によって生成される移動経路オブジェクト２８が歪みやすくなる。この点、ステップＳ１０３，Ｓ１０４の処理を実行することによって、そのような不都合が生じないように図ることが可能になる。
【００５６】
移動経路データ取得部４２は上記に説明したようにして移動経路データを生成する。なお、移動経路データが記憶部４０に予め記憶されているような場合においては、移動経路データ取得部４２は、ステップＳ１０１〜Ｓ１０４の処理を実行する代わりに、記憶部４０に記憶される移動経路データを取得するようにすればよい。
【００５７】
ステップＳ１０１〜Ｓ１０４の処理によって移動経路データが取得された後、移動経路オブジェクト生成部４４は移動経路オブジェクト２８を移動経路データに基づいて生成する（Ｓ１０５）。
【００５８】
移動経路オブジェクト生成部４４は、キャラクタオブジェクト２２の位置に基づいて設定される基準位置から移動経路６２上の頂点６０への方向に基づいて、移動経路オブジェクト２８を生成する。
【００５９】
まず、基準位置について図１１を参照しながら説明する。例えば、基準位置は、キャラクタオブジェクト２２のいずれかの部位（以下「基準部位」と記載する。）の位置に基づいて設定される。例えば、基準位置は、キャラクタオブジェクト２２の喉７０の位置に基づいて設定される。また例えば、基準位置は、キャラクタオブジェクト２２の頭７２、腰７４、左肘７６ｌ、又は右肘７６ｒのいずれかの位置に基づいて設定されるようにしてもよい。なお、基準位置は、これらの部位以外の部位の位置に基づいて設定されるようにしてもよい。
【００６０】
例えば、基準位置は、キャラクタオブジェクト２２の基準部位の位置に設定される。例えば、喉７０が基準部位である場合には喉７０の位置が基準位置に設定される。
【００６１】
また例えば、基準位置は、キャラクタオブジェクト２２の基準部位と所定の位置関係を有する位置に設定されるようにしてもよい。例えば、基準位置は、キャラクタオブジェクト２２の基準部位の位置から所定方向に所定距離だけ移動した位置に設定されるようにしてもよい。例えば、喉７０が基準部位である場合、図１１に示すように、喉７０の位置から真上方向に所定距離Ｌだけ移動した位置７８ｕが基準位置に設定されるようにしてもよい。または、喉７０の位置から真下方向に所定距離Ｌだけ移動した位置７８ｄが基準位置に設定されるようにしてもよい。
【００６２】
移動経路オブジェクト生成部４４は、上記のようにして設定された基準位置から移動経路６２上の頂点６０への方向に基づいて、移動経路オブジェクト２８のうちの、該移動経路６２上の頂点６０に対応する部分の向きを設定する。例えば、移動経路オブジェクト生成部４４は、基準位置から移動経路６２上の頂点６０への方向に基づく基準方向に基づいて、移動経路オブジェクト２８のうちの、該移動経路６２上の頂点６０に対応する部分の面の向きを設定する。なお、「基準方向」とは、基準位置から移動経路６２上の頂点６０への方向との角度差が基準角度であるような方向である。すなわち、「基準方向」とは、例えば、基準位置から移動経路６２上の頂点６０への方向と、該基準方向と、の間の角度が基準角度となるような方向である。
【００６３】
具体的には、移動経路オブジェクト生成部４４は、上記の基準方向に基づいて、移動経路オブジェクト２８を構成するポリゴンを生成する。
【００６４】
図１２は、移動経路オブジェクト２８の生成方法の一例について説明するための図である。図１２は、図２に示す移動経路オブジェクト２８を生成する場合の例について示している。なお、図１２に示す方法では、上記の「基準角度」が０度になっており、基準位置から移動経路６２上の頂点６０への方向自体が上記の「基準方向」に相当している。
【００６５】
図１２に示す方法の場合、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ａから方向８２ａに所定距離Ｄだけ移動してなる点８４ａを取得する。なお、方向８２ａは基準位置８０から頂点６０ａへの方向であり、上記の「基準方向」に相当する。
【００６６】
また、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｂから方向８２ｂに所定距離Ｄだけ移動してなる点８４ｂを取得する。なお、頂点６０ｂは頂点６０ａの次の頂点６０である。また、方向８２ｂは基準位置８０から頂点６０ｂへの方向であり、上記の「基準方向」に相当する。
【００６７】
そして、移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ａ，６０ｂ及び点８４ａ，８４ｂに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ａ，６０ｂ及び点８４ａ，８４ｂを頂点とするポリゴン８６ａを生成する。
【００６８】
同様に、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｃから方向８２ｃ（基準方向）に所定距離Ｄだけ移動してなる点８４ｃを取得する。そして、移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｃ及び点８４ｃに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｂ，６０ｃ及び点８４ｂ，８４ｃを頂点とするポリゴン８６ｂを生成する。
【００６９】
また、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｄから方向８２ｄ（基準方向）に所定距離Ｄだけ移動してなる点８４ｄを取得する。そして、移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｄ及び点８４ｄに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｃ，６０ｄ及び点８４ｃ，８４ｄを頂点とするポリゴン８６ｃを生成する。
【００７０】
さらに、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｅから方向８２ｅ（基準方向）に所定距離Ｄだけ移動してなる点８４ｅを取得する。そして、移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｅ及び点８４ｅに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｄ，６０ｅ及び点８４ｄ，８４ｅを頂点とするポリゴン８６ｄを生成する。
【００７１】
移動経路オブジェクト生成部４４は、上記のようにして、移動経路オブジェクト２８の一部を構成するポリゴン８６ａ，８６ｂ，８６ｃ，８６ｄを生成する。移動経路オブジェクト生成部４４は、ポリゴン８６ａ，８６ｂ，８６ｃ，８６ｄと同様にして、移動経路オブジェクト２８を構成するすべてのポリゴンを生成する。
【００７２】
下記に説明するように、図１２に示す方法によれば、仮想カメラ３２から見える移動経路オブジェクト２８の面積が広くなるように図ることができるようになる。その結果として、例えば、画面２０に表示される移動経路オブジェクト２８の一部が細くなりすぎてしまったり、つぶれてしまったりする等の不都合の発生を抑制できるようになる。
【００７３】
ここでは、キャラクタオブジェクト２２が、図２において説明したような動き、すなわち、「左手２４ｌを体の真横で弧を描くようにして頭上まで上げ、その後、同じく弧を描くようにして左手２４ｌを右手２４ｒ付近まで下ろす」というような動きを行う場合を想定する。この場合、キャラクタオブジェクト２２の正面前方に配置される仮想カメラ３２から基準位置８０（例えば、キャラクタオブジェクト２２の喉７０）への方向と、該基準位置８０から左手２４ｌの移動経路６２上の頂点６０（例えば、頂点６０ａ〜６０ｅ）への方向（例えば、方向８２ａ〜８２ｅ）との間の角度は、比較的９０度に近い角度になる。
【００７４】
この点、図１２に示す方法によれば、移動経路オブジェクト２８を構成するポリゴン（例えばポリゴン８６ａ〜８６ｄ）の面方向は、基準位置８０から移動経路６２上の頂点６０（例えば、頂点６０ａ〜６０ｅ）への方向（例えば、方向８２ａ〜８２ｅ）と略等しい方向になる。このため、仮想カメラ３２の視線方向（すなわち、仮想カメラ３２からキャラクタオブジェクト２２への方向）と、移動経路オブジェクト２８を構成するポリゴンの面方向との間の角度は、比較的９０度に近い角度になる。言い換えれば、仮想カメラ３２の視線方向と、移動経路オブジェクト２８を構成するポリゴンの面の法線方向との間の角度は、比較的０度に近い角度になる。
【００７５】
その結果、仮想カメラ３２から見える移動経路オブジェクト２８の面積が広くなり、例えば図２に示すような移動経路オブジェクト２８を生成できるようになる。すなわち、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるような移動経路オブジェクト２８を生成できるようになる。例えば、画面２０に表示される移動経路オブジェクト２８の一部が細くなりすぎてしまったり、つぶれてしまったりする等の不都合の発生を抑制しつつ、移動経路オブジェクト２８を生成できるようになる。
【００７６】
移動経路オブジェクト２８の生成方法は図１２に示した方法に限られない。図１３は、移動経路オブジェクト２８の生成方法の他の一例について説明するための図である。図１３は、図３に示す移動経路オブジェクト２８を生成する場合の例について示している。なお、図１３に示す方法は、上記の「基準角度」が９０度になっている点と、上記の「基準方向」が、基準位置８０から移動経路６２上の頂点６０への方向と直交する方向になっている点とで図１２に示す方法とは異なっている。
【００７７】
図１３に示す方法の場合、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｆから方向８８ｆに所定距離Ｄだけ移動してなる点８４ｆを取得する。なお、方向８８ｆは方向８２ｆと直交する方向であり、上記の「基準方向」に相当する。方向８２ｆは基準位置８０から頂点６０ｆへの方向である。
【００７８】
また、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｇから方向８８ｇに所定距離Ｄだけ移動してなる点８４ｇを取得する。なお、頂点６０ｇは頂点６０ｆの次の頂点６０である。また、方向８８ｇは方向８２ｇと直交する方向であり、上記の「基準方向」に相当する。方向８２ｇは基準位置８０から頂点６０ｇへの方向である。
【００７９】
そして、移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｆ，６０ｇ及び点８４ｆ，８４ｇに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｆ，６０ｇ及び点８４ｆ，８４ｇを頂点とするポリゴン８６ｆを生成する。
【００８０】
同様に、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｈから方向８８ｈに所定距離Ｄだけ移動してなる点８４ｈを取得する。なお、方向８８ｈは方向８２ｈと直交する方向であり、上記の「基準方向」に相当する。方向８２ｈは基準位置８０から頂点６０ｈへの方向である。移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｈ及び点８４ｈに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｇ，６０ｈ及び点８４ｇ，８４ｈを頂点とするポリゴン８６ｇを生成する。
【００８１】
また、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｉから方向８８ｉに所定距離Ｄだけ移動してなる点８４ｉを取得する。なお、方向８８ｉは方向８２ｉと直交する方向であり、上記の「基準方向」に相当する。方向８２ｉは基準位置８０から頂点６０ｉへの方向である。移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｉ及び点８４ｉに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｈ，６０ｉ及び点８４ｈ，８４ｉを頂点とするポリゴン８６ｈを生成する。
【００８２】
さらに、移動経路オブジェクト生成部４４は、移動経路６２上の頂点６０ｊから方向８８ｊに所定距離Ｄだけ移動してなる点８４ｊを取得する。なお、方向８８ｊは方向８２ｊと直交する方向であり、上記の「基準方向」に相当する。方向８２ｊは基準位置８０から頂点６０ｊへの方向である。移動経路オブジェクト生成部４４は、移動経路オブジェクト２８を構成するポリゴンを頂点６０ｊ及び点８４ｊに基づいて生成する。例えば、移動経路オブジェクト生成部４４は、頂点６０ｉ，６０ｊ及び点８４ｉ，８４ｊを頂点とするポリゴン８６ｉを生成する。
【００８３】
移動経路オブジェクト生成部４４は、上記のようにして、移動経路オブジェクト２８の一部を構成するポリゴン８６ｆ，８６ｇ，８６ｈ，８６ｉを生成する。移動経路オブジェクト生成部４４は、ポリゴン８６ｆ，８６ｇ，８６ｈ，８６ｉと同様にして、移動経路オブジェクト２８を構成するすべてのポリゴンを生成する。
【００８４】
下記に説明するように、図１３に示す方法によれば、仮想カメラ３２から見える移動経路オブジェクト２８の面積が広くなるように図ることができるようになる。その結果として、例えば、画面２０に表示される移動経路オブジェクト２８の一部が細くなりすぎてしまったり、つぶれてしまったりする等の不都合の発生を抑制できるようになる。
【００８５】
ここでは、キャラクタオブジェクト２２が、図３，４において説明したような動き、すなわち、「右手２４ｒを頭の後方から前方に弧を描くように振り下ろす」というような動きを行う場合を想定する。この場合、キャラクタオブジェクト２２の正面前方に配置される仮想カメラ３２から基準位置８０（例えば、キャラクタオブジェクト２２の喉７０）への方向と、該基準位置８０から右手２４ｒの移動経路６２上の頂点６０（例えば、頂点６０ｆ〜６０ｊ）への方向（例えば、方向８２ｆ〜８２ｊ）と、の間の角度は比較的小さい角度（０度に近い角度）となる。
【００８６】
この点、図１３に示す方法によれば、移動経路オブジェクト２８を構成するポリゴン（例えばポリゴン８６ｆ〜８６ｉ）の面方向は、基準位置８０から移動経路６２上の頂点６０（例えば、頂点６０ｆ〜６０ｊ）への方向（例えば、方向８２ｆ〜８２ｊ）と直交する方向（例えば、方向８８ｆ〜８８ｊ）と略等しくなる。このため、仮想カメラ３２の視線方向（すなわち、仮想カメラ３２からキャラクタオブジェクト２２への方向）と、移動経路オブジェクト２８を構成するポリゴンの面方向との間の角度は、比較的９０度に近い角度になる。言い換えれば、仮想カメラ３２の視線方向と、移動経路オブジェクト２８を構成するポリゴンの面の法線方向との間の角度は、比較的０度に近い角度になる。
【００８７】
その結果として、仮想カメラ３２から見える移動経路オブジェクト２８の面の面積が広くなり、例えば図３に示すような移動経路オブジェクト２８を生成できるようになる。すなわち、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるような移動経路オブジェクト２８を生成できるようになる。例えば、画面２０に表示される移動経路オブジェクト２８の一部が細くなりすぎてしまったり、つぶれてしまったりする等の不都合の発生を抑制しつつ、移動経路オブジェクト２８を生成できるようになる。
【００８８】
ステップＳ１０５で生成された移動経路オブジェクト２８を示すデータが記憶部４０に保存される。なお、このデータでは、移動経路オブジェクト２８の各頂点の位置が、例えば、キャラクタオブジェクト２２の基準点（例えば腰の位置）を原点とするローカル座標系の座標値で示される。
【００８９】
次に、表示制御部４６について説明する。表示制御部４６は、キャラクタオブジェクト２２及び移動経路オブジェクト２８が配置された仮想３次元空間３０を仮想カメラ３２から見た様子を表す画面を表示部１５に表示させる。
【００９０】
図１４は、表示制御部４６が実行する処理の一例を示すフロー図である。なお、制御部１１が図１４に示す処理をプログラムに従って実行することによって、制御部１１が表示制御部４６として機能するようになる。
【００９１】
図１４に示すように、表示制御部４６は第１時点になったか否かを監視する（Ｓ２０１）。第１時点とは、移動経路オブジェクト２８に対応する動作をキャラクタオブジェクト２２が開始する時点よりも基準時間Ｔ１前の時点である。例えば、キャラクタオブジェクト２２が音楽に合わせてダンスを行うような場合、基準時間Ｔ１はｎ拍（例えばｎ：２）に対応する時間に設定される。
【００９２】
また、「移動経路オブジェクト２８に対応する動作」とは、移動経路オブジェクト２８が示す移動経路６２に沿ってキャラクタオブジェクト２２が部位を動かす動作である。例えば、図２に示す移動経路オブジェクト２８の場合、「左手２４ｌを体の真横で弧を描くようにして頭上まで上げ、その後、同じく弧を描くようにして左手２４ｌを右手２４ｒ付近まで下ろす動作」が「移動経路オブジェクト２８に対応する動作」に相当する。また例えば、図３に示す移動経路オブジェクト２８の場合、「右手２４ｒを頭の後方から前方に弧を描くように振り下ろす動作」が「移動経路オブジェクト２８に対応する動作」に相当する。
【００９３】
第１時点になっていないと判定された場合、表示制御部４６は監視を続行する。一方、第１時点になったと判定された場合、表示制御部４６は、移動経路オブジェクト２８を始端から終端に向かって徐々に画面２０に表示させていく（Ｓ２０２）。
【００９４】
図１５はこの場合の画面２０の一例を示す。なお図１５において、実線で表されている部分は画面２０に表示される部分を示しており、点線で表されている部分は画面２０に表示されない部分を示している。図１５に示す状態では、移動経路オブジェクト２８の始端９０から途中９２までの部分９６が画面２０に表示され、移動経路オブジェクト２８の途中９２から終端９４までの部分９８が画面２０に表示されていない。
【００９５】
ステップＳ２０２において、例えば、表示制御部４６は、移動経路オブジェクト２８を透明状態で仮想３次元空間３０に配置する。そして、その後、表示制御部４６は、移動経路オブジェクト２８の始端９０から終端９４に向かって徐々に、移動経路オブジェクト２８を不透明状態に変えていく。
【００９６】
なお、表示制御部４６は第２時点になるまでに移動経路オブジェクト２８の全体を画面２０に表示させる。第２時点とは、移動経路オブジェクト２８に対応する動作をキャラクタオブジェクト２２が開始する時点よりも基準時間Ｔ２前の時点である。なお、基準時間Ｔ２は基準時間Ｔ１よりも短い時間である。例えば、キャラクタオブジェクト２２が音楽に合わせてダンスを行うような場合、基準時間Ｔ２はｍ拍（ｍ＜ｎ；例えばｍ：１）に対応する時間に設定される。
【００９７】
ステップＳ２０１，Ｓ２０２の処理が実行されることによって、本実施形態では、上記の第１時点になるまで移動経路オブジェクト２８の画面２０への表示が制限（抑止）される。そして、第１時点から上記の第２時点までの期間において、画面２０に表示される移動経路オブジェクト２８が始端９０から終端９４まで徐々に伸びる（図１４参照）。そして、第２時点において移動経路オブジェクト２８の全体が画面２０に表示される（図２，３参照）。以上のようにして移動経路オブジェクト２８が表示されることによって、ユーザは、キャラクタオブジェクト２２が部位を動かし始める時点が近づいていることを把握できるようになり、さらに、キャラクタオブジェクト２２が部位をどのように動かすかも事前に把握できるようになる。
【００９８】
ステップＳ２０２の処理が実行された後、表示制御部４６は、移動経路オブジェクト２８に対応する動作をキャラクタオブジェクト２２が開始する時点になったか否かを監視する（Ｓ２０３）。キャラクタオブジェクト２２が上記の動作を開始する時点になっていないと判定された場合、表示制御部４６は監視を続行する。
【００９９】
一方、キャラクタオブジェクト２２が上記の動作を開始する時点になったと判定された場合、表示制御部４６はキャラクタオブジェクト２２に上記の動作を開始させる（Ｓ２０４）。すなわち、表示制御部４６は、キャラクタオブジェクト２２に関して、上記の動作に対応するモーションデータの再生を開始する。
【０１００】
さらに表示制御部４６は、モーションデータの再生と同期して、移動経路オブジェクト２８の始端９０から終端９４に向かって移動経路オブジェクト２８の色を徐々に変えていく（Ｓ２０５）。
【０１０１】
図１６はこの場合の画面２０の一例を示す。なお、図１６に示す移動経路オブジェクト２８において、斜線が付された部分と斜線が付されていない部分とは色が異なることを示している。図１６に示す移動経路オブジェクト２８では、始端９０から途中９２までの部分９６の色が、途中９２から終端９４までの部分９８の色とは異なる色に変わっている。
【０１０２】
ステップＳ２０５の処理が実行されることによって、ユーザは、キャラクタオブジェクト２２が移動経路６２に沿って動かしている部位（図１６の場合であれば左手２４ｌ）の現在位置を容易に把握できるようになる。
【０１０３】
また、表示制御部４６は、キャラクタオブジェクト２２が上記の動作を完了したか否かを監視する（Ｓ２０６）。すなわち、表示制御部４６は、ステップＳ２０４で開始されたモーションデータの再生が完了したか否かを監視する。
【０１０４】
キャラクタオブジェクト２２が上記の動作を完了していないと判定された場合、表示制御部４６は監視を続行する。一方、キャラクタオブジェクト２２が上記の動作を完了したと判定された場合、表示制御部４６は移動経路オブジェクト２８を画面２０から消去する（Ｓ２０７）。例えば、表示制御部４６は移動経路オブジェクト２８を仮想３次元空間３０から取り除く。
【０１０５】
以上に説明した画像処理装置１０によれば、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるような移動経路オブジェクト２８を生成することが可能になる。また、そのような移動経路オブジェクト２８を画面２０に好適に表示することが可能になる。
【０１０６】
上述したように、本発明は、ゲームを開発するために用いられる開発用コンピュータに適用することができる。このような開発用コンピュータによれば、ゲーム開発者は、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるような移動経路オブジェクト２８を生成できるようになる。また、このような移動経路オブジェクト２８を生成するための手間を軽減できるようになる。なお、この場合の画面２０は、生成された移動経路オブジェクト２８をゲーム開発者が確認するための画面となる。
【０１０７】
また上述したように、本発明は、ゲームをプレイするためのゲーム装置に適用することもできる。このようなゲーム装置によれば、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるような移動経路オブジェクト２８が生成され、画面２０（ゲーム画面）に表示されるようになる。その結果、キャラクタオブジェクト２２が部位を動かす場合における該部位の移動経路をユーザが容易に把握できるようになる。
【０１０８】
ところで、近年、表示部の前方領域に立つユーザの各部位の位置を、表示部の前方領域を撮影する撮影装置の撮影画像と、表示部の前方に照射された赤外線光の反射光を検出する赤外線センサの検出結果とに基づいて取得するゲーム装置が提案されている。このようなゲーム装置によれば、ユーザが各種動作（例えばダンス）を行った場合のユーザの各部位の位置の変化を示すデータを取得することができる。
【０１０９】
そこで、上記のデータに基づいて、キャラクタオブジェクト２２のモーションデータを生成するようにしてもよい。そして、生成されたモーションデータに基づいて、キャラクタオブジェクト２２に動作を行わせるようにしてもよい。このようにすれば、ユーザが行った動作と同様の動作をキャラクタオブジェクト２２に行わせることが可能になる。
【０１１０】
さらに、この場合、移動経路データ取得部４２は上記のデータに基づいて移動経路データを取得するようにしてもよい。例えば、移動経路データ取得部４２は、モーションキャプチャデータと同様にして、補間処理を上記のデータに施すことによって移動経路データを生成するようにしてもよい。また例えば、移動経路データ取得部４２は上記のデータ自体を移動経路データとして取得するようにしてもよい。このようにすれば、ユーザによって行われた部位（例えば左手）の動きを案内する移動経路オブジェクト２８を生成したり、画面２０に表示したりすることが可能になる。
【０１１１】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【０１１２】
（Ａ）例えば、移動経路オブジェクト２８をねじる位置とねじる程度とをゲーム開発者（又はユーザ）が指定できるようにしてもよい。この場合、移動経路オブジェクト生成部４４は、ゲーム開発者（又はユーザ）によって指定された位置又は程度に基づいて、移動経路オブジェクト２８をねじるようにすればよい。
【０１１３】
（Ｂ）また例えば、ゲーム開発者（又はユーザ）が移動経路オブジェクト２８の生成方法を複数の生成方法のうちから選択できるようにしてもよい。
【０１１４】
例えば、図１２に示す方法と図１３に示す方法とのいずれを採用するのかをゲーム開発者（又はユーザ）が選択できるようにしてもよい。また、基準位置８０をどのように設定するかをゲーム開発者（又はユーザ）が選択できるようにしてもよい。例えば、どの部位を基準部位に設定するかや、基準部位と基準位置との位置関係をどのように設定するかをゲーム開発者（又はユーザ）が選択できるようにしてもよい。
【０１１５】
また、ゲーム開発者（又はユーザ）が選択可能な生成方法には、図１２又は図１３に示す方法以外の方法が含まれるようにしてもよい。例えば、移動経路オブジェクト２８の法線方向が仮想カメラ３２への方向と一致するようにして移動経路オブジェクト２８を生成するような方法もゲーム開発者（又はユーザ）が選択できるようにしてもよい。
【０１１６】
（Ｃ）また例えば、移動経路オブジェクト生成部４４は、部位の移動経路６２が複数の類型のいずれに属するかを判定するようにしてもよい。そして、移動経路オブジェクト生成部４４は移動経路オブジェクト２８の生成方法をその判定結果に基づいて選択するようにしてもよい。
【０１１７】
例えば、記憶部４０は、上記の複数の類型の各々と、移動経路オブジェクト２８の生成方法との対応関係に関する情報を記憶する。そして、移動経路オブジェクト生成部４４は、部位の移動経路６２が属する類型に対応する生成方法で移動経路オブジェクト２８を生成する。
【０１１８】
（Ｃ−１）例えば、移動経路オブジェクト生成部４４は、移動経路オブジェクト２８の生成方法として、図１２に示す方法と図１３に示す方法とのいずれを採用するのかを、部位の移動経路６２が属する類型に基づいて決定するようにしてもよい。例えば、移動経路オブジェクト生成部４４は、移動経路６２が第１類型に属する場合に図１２に示す方法を採用し、移動経路６２が第２類型に属する場合に図１３に示す方法を採用するようにしてもよい。
【０１１９】
ここで、第１類型とは、図１２に示す方法を採用した方が図１３に示す方法を採用する場合に比べて移動経路オブジェクト２８が画面２０に好適に表示される（例えば、画面２０に表示される移動経路オブジェクト２８の面積が大きくなる）ような移動経路６２の類型である。同様に、第２類型とは、図１３に示す方法を採用した方が図１２に示す方法を採用する場合に比べて移動経路オブジェクト２８が画面２０に好適に表示される（例えば、画面２０に表示される移動経路オブジェクト２８の面積が大きくなる）ような移動経路６２の類型である。
【０１２０】
なお、図１２に示す方法と図１３に示す方法との間では上述の「基準角度」が異なっている。このため、図１２に示す方法と図１３に示す方法とのいずれを採用するのかを決定することは、上述の「基準角度」を決定することに相当している。
【０１２１】
（Ｃ−２）また例えば、移動経路オブジェクト生成部４４は基準位置を部位の移動経路６２が属する類型に基づいて変えるようにしてもよい。例えば、移動経路オブジェクト生成部４４は、基準部位と、基準部位と基準位置との位置関係と、の少なくとも一方を、部位の移動経路６２が属する類型に基づいて変えるようにしてもよい。
【０１２２】
具体的には、例えば、移動経路オブジェクト生成部４４は、移動経路６２が第１類型に属する場合に喉７０を基準部位に設定し、移動経路６２が第２類型に属する場合に腰７４を基準部位に設定するようにしてもよい。また例えば、移動経路オブジェクト生成部４４は、移動経路６２が第１類型に属する場合に喉７０の位置を基準位置に設定し、移動経路６２が第２類型に属する場合に、喉７０の位置より真上に所定距離Ｌだけ移動した位置７８ｕを基準位置に設定するようにしてもよい。また例えば、移動経路オブジェクト生成部４４は、移動経路６２が第１類型に属する場合に、喉７０の位置より真上に所定距離Ｌだけ移動した位置７８ｕを基準位置に設定し、移動経路６２が第２類型に属する場合に、腰７４の位置を基準位置に設定するようにしてもよい。
【０１２３】
以上のようにすれば、移動経路オブジェクト２８の生成方法として、部位の移動経路６２に合った最適な生成方法を採用できるようになる。
【符号の説明】
【０１２４】
１０  画像処理装置、１１  制御部、１２  主記憶部、１３  補助記憶部、１４  入力部、１５  表示部、１６  音声出力部、１７  光ディスクドライブ部、１８  通信インタフェース、２０  画面、２２  キャラクタオブジェクト、２４ｌ  左手、２４ｒ  右手、２６ｌ  左足、２６ｒ  右足、２８  移動経路オブジェクト、３０  仮想３次元空間、３２  仮想カメラ、４０  記憶部、４２  移動経路データ取得部、４４  移動経路オブジェクト生成部、４６  表示制御部、６０  頂点、６２  移動経路、７０  喉、７２  頭、７４  腰、７６ｌ  左肘、７６ｒ  右肘、８０  基準位置。
【図１】
0005372889.tif 000002
【図２】
0005372889.tif 000003
【図３】
0005372889.tif 000004
【図４】
0005372889.tif 000005
【図５】
0005372889.tif 000006
【図６】
0005372889.tif 000007
【図７】
0005372889.tif 000008
【図８】
0005372889.tif 000009
【図９Ａ】
0005372889.tif 000010
【図９Ｂ】
0005372889.tif 000011
【図９Ｃ】
0005372889.tif 000012
【図１０】
0005372889.tif 000013
【図１１】
0005372889.tif 000014
【図１２】
0005372889.tif 000015
【図１３】
0005372889.tif 000016
【図１４】
0005372889.tif 000017
【図１５】
0005372889.tif 000018
【図１６】
0005372889.tif 000019