情報処理装置、情報処理方法、プログラム及び情報記憶媒体
【課題】モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる情報処理装置を提供する。
【解決手段】規則データ記憶部62は、移動体の識別子に関連付けて、この識別子が示す移動体の動きを、所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する。識別子受付部50は、移動体の識別子を受け付ける。基礎モーションデータ取得部58は、所定の移動体の動きを示す基礎モーションデータを取得する。規則データ選択部64は、規則データ記憶部62に記憶されている規則データのうちから、受け付ける識別子と関連付けられる規則データを選択する。生成モーションデータ生成部66は、取得される基礎モーションデータに、選択される規則データが示す規則を適用して、受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する。
【解決手段】規則データ記憶部62は、移動体の識別子に関連付けて、この識別子が示す移動体の動きを、所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する。識別子受付部50は、移動体の識別子を受け付ける。基礎モーションデータ取得部58は、所定の移動体の動きを示す基礎モーションデータを取得する。規則データ選択部64は、規則データ記憶部62に記憶されている規則データのうちから、受け付ける識別子と関連付けられる規則データを選択する。生成モーションデータ生成部66は、取得される基礎モーションデータに、選択される規則データが示す規則を適用して、受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
ビデオカメラなどで撮像される人間などの移動体の動きを情報処理装置に取り込むモーションキャプチャに関する技術が知られている。例えば、ビデオカメラで移動体を撮像することにより生成される一連の画像に基づいて、その移動体の動きを示すモーションデータを生成する情報処理装置が存在する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
モーションキャプチャなどにより生成されるモーションデータは、コンピュータグラフィックス(CG)を制作する際などに活用されている。例えば、人間の動きを撮像することにより生成されるモーションデータを用いて、人間の動きを表すCGを容易に制作することができる。しかし、例えば、クモの動きを表すCGを制作する場面では、人間の動きを撮像することにより生成されるモーションデータに対して適切な加工を施すなどの工夫をする必要があった。このように、従来は、モーションデータを利用してCGを制作する際には、制作者の手間がかかっていた。特に、所定の移動体の動きを示すモーションデータを用いて、他の移動体の動きを表すCGを制作する際には、制作者の手間がかかっていた。
【0004】
本発明は、上記課題に鑑みてなされたものであって、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる情報処理装置、情報処理方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る情報処理装置は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する規則データ記憶手段と、移動体の識別子を受け付ける識別子受付手段と、前記基礎モーションデータを取得する基礎モーションデータ取得手段と、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段と、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段と、を含むことを特徴とする。
【0006】
また、本発明に係る情報処理方法は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理方法であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させるステップと、前記基礎モーションデータを取得する基礎モーションデータ取得ステップと、移動体の識別子を受け付ける識別子受付ステップと、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付ステップで受け付ける識別子と関連付けられる規則データを選択する規則データ選択ステップと、前記基礎モーションデータ取得ステップにより取得される基礎モーションデータに、前記規則データ選択ステップにより選択される規則データが示す規則を適用して、前記識別子受付ステップで受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成ステップと、を含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、前記基礎モーションデータを取得する基礎モーションデータ取得手段、移動体の識別子を受け付ける識別子受付手段、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、として前記コンピュータを機能させることを特徴とする。
【0008】
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に格納することもできる。
【0009】
本発明によると、所定の移動体の動きを示す基礎モーションデータに基づいて、識別子受付手段が受け付ける識別子に応じた移動体の動きを示すモーションデータが生成されるので、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる。
【0010】
本発明の一態様では、前記基礎モーションデータが、各フレームにおける前記所定の移動体の位置を示しており、前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の各フレームにおける位置に基づいて決定する規則を示す規則データを記憶し、前記基礎モーションデータ取得手段が、前記基礎モーションデータを順次取得し、前記生成モーションデータ生成手段が、順次取得される前記各基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を順次適用して、前記識別子受付手段が受け付ける識別子が示す移動体の各フレームにおける位置を示す前記生成モーションデータを順次生成することを特徴とする。こうすれば、各フレームにおける移動体の位置が示された生成モーションデータを、基礎モーションデータが示す各フレームにおける移動体の位置に基づいて生成することができる。
【0011】
また、この態様では、前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の、互いに異なる複数のフレームにおける位置の組合せに基づいて決定する規則を示す規則データを記憶してもよい。こうすれば、異なるフレームにおける所定の移動体の位置に基づいて、生成モーションデータが生成されるので、生成モーションデータのバリエーションを豊かにすることができる。
【0012】
また、本発明の一態様では、前記基礎モーションデータが、前記所定の移動体に含まれる複数の要素それぞれの動きを示しており、前記規則データ記憶手段が、複数の要素が含まれる移動体の識別子に関連付けて、当該識別子が示す移動体に含まれる複数の要素それぞれの動きを前記所定の移動体に含まれる複数の要素それぞれの動きに基づいて決定する規則を示す規則データを記憶し、前記生成モーションデータ生成手段が、前記識別子受付手段が受け付ける識別子が示す移動体に含まれる複数の要素それぞれの動きを示す生成モーションデータを生成することを特徴とする。こうすれば、生成モーションデータが示す、識別子受付手段が受け付ける識別子に応じた移動体に含まれる要素それぞれの動きを、所定の移動体に含まれる要素それぞれの動きに対応づけることができる。
【0013】
また、この態様では、前記規則データ記憶手段が、前記所定の移動体又は前記識別子が示す移動体のうちの一方に含まれる複数の要素それぞれの位置の組合せと、他方に含まれる1つの要素とを対応づける規則を示す規則データを記憶してもよい。こうすれば、所定の移動体に含まれる複数の要素の位置の組合せに基づいて、識別子受付手段が受け付ける識別子に応じた移動体に含まれる1つの要素の位置を算出すること、あるいは、所定の移動体に含まれる1つの要素の位置に基づいて、識別子受付手段が受け付ける識別子に応じた移動体に含まれる複数の要素それぞれの位置を算出することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0015】
図1は、本実施形態に係る情報処理システム1のハードウェア構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置2と、携帯型ゲーム装置3と、を含んでいる。そして、図2は、本実施形態に係る携帯型ゲーム装置3の一例を示す斜視図である。
【0016】
情報処理装置2は、制御部21、記憶部22、通信部23、ユーザインタフェース(UI)部24、を含んで構成される。制御部21、記憶部22、通信部23、UI部24、はバスを介して接続される。
【0017】
情報処理装置2の制御部21はCPU等のプログラム制御デバイスであり、情報処理装置2にインストールされるプログラムに従って動作する。
【0018】
情報処理装置2の記憶部22は、RAM等の記憶素子やハードディスクなどである。情報処理装置2の記憶部22には、情報処理装置2の制御部21によって実行されるプログラムなどが記憶される。また、情報処理装置2の記憶部22は、情報処理装置2の制御部21のワークメモリとしても動作する。なお、本実施形態にて、情報処理装置2の記憶部22が記憶する他のデータについては後述する。
【0019】
情報処理装置2の通信部23は、例えば、ネットワークインタフェースなどであり、情報処理装置2の制御部21から入力される指示に従って、情報を送信する。また、この情報処理装置2の通信部23は、LANなどのネットワークを介して受信される情報を情報処理装置2の制御部21に出力する。
【0020】
情報処理装置2のUI部24は、ディスプレイ、マイク、スピーカ、ボタンなどであり、利用者が行った操作の内容や、利用者が入力した音声を制御部21に出力する。また、この情報処理装置2のUI部24は、情報処理装置2の制御部21から入力される指示に従って情報を表示出力したり音声出力したりする。
【0021】
図2に示すように、本実施形態に係る携帯型ゲーム装置3の筐体30の形状は、箱形である。そして、図1に示すように、本実施形態に係る携帯型ゲーム装置3は、制御部31、記憶部32、通信部33、表示部34、操作部35、撮像部36、距離測定部37、を備えている。
【0022】
携帯型ゲーム装置3の制御部31はCPU等のプログラム制御デバイスであり、携帯型ゲーム装置3の記憶部32に格納されたプログラムに従って動作する。
【0023】
携帯型ゲーム装置3の記憶部32は、RAM等の記憶素子やハードディスクなどである。携帯型ゲーム装置3の記憶部32には、携帯型ゲーム装置3の制御部31によって実行されるプログラムなどが格納される。具体的には、例えば、携帯型ゲーム装置3の制御部31で実行されるゲームプログラムが格納される。このゲームプログラムは、例えば、ディスク、CD−ROM、DVD−ROM等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して携帯型ゲーム装置3に供給される。また、携帯型ゲーム装置3の記憶部32は、携帯型ゲーム装置3の制御部31のワークメモリとしても動作する。
【0024】
携帯型ゲーム装置3の通信部33は、例えば、ネットワークインタフェースなど(具体的には、例えば、無線LANモジュール)であり、携帯型ゲーム装置3の制御部31から入力される指示に従って、情報処理装置2などへ情報を送信する。また、この携帯型ゲーム装置3の通信部33は、受信される情報を携帯型ゲーム装置3の制御部31に出力する。
【0025】
本実施形態においては、情報処理装置2の通信部23、及び、携帯型ゲーム装置3の通信部33は、LANなどのネットワークに接続されており互いに通信することができるようになっている。なお、ネットワークは有線であっても無線であっても構わない。
【0026】
携帯型ゲーム装置3の表示部34は、例えば液晶ディスプレイ等であり、携帯型ゲーム装置3の制御部31からの指示に従って、画像の表示を行う。本実施形態では、携帯型ゲーム装置3の表示部34は、携帯型ゲーム装置3の筐体30の正面中央部に設けられている。ここで、携帯型ゲーム装置3の制御部31は、携帯型ゲーム装置3の表示部34に、表示される画像の解像度やアスペクト比などといった属性を併せて指示してもよい。また、携帯型ゲーム装置3の制御部31は、実行するプログラムに含まれる、画像の解像度やアスペクト比などといった属性を示す属性情報の内容に従って携帯型ゲーム装置3の表示部34に表示される画像の属性を指示してもよい。
【0027】
携帯型ゲーム装置3の操作部35は、例えば、操作部材(具体的には、例えば、十字キーやボタン)であり、当該操作部材に対する操作に応じた出力データを携帯型ゲーム装置3の制御部31に対して出力する。携帯型ゲーム装置3の制御部31は、この出力データを取得することで、当該出力データを用いてプレイヤの操作部材に対する操作に応じた処理を実行する。本実施形態では、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の表示部34の左右に設けられている。すなわち、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の筐体30の正面左側及び正面右側に分かれて配置されている。
【0028】
携帯型ゲーム装置3の撮像部36は、例えば、公知のデジタルカメラを含んで構成され、所定時間(例えば1/60秒)ごとに、白黒、グレイスケール又はカラーの画像(例えば、JPEG形式の画像)を生成する。なお、携帯型ゲーム装置3の撮像部36は、標準カメラであっても、望遠カメラであっても、広角カメラであっても構わない。本実施形態では、携帯型ゲーム装置3の撮像部36は、携帯型ゲーム装置3の表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の撮像部36は、筐体30の正面中央付近上側に設けられている。
【0029】
携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3と、その外部に存在する外部物体との距離を測定する。携帯型ゲーム装置3の距離測定部37は、例えば、携帯型ゲーム装置3の撮像部36と、外部物体(より具体的には、例えば、外部物体の表面)との距離(以下、物体距離と呼ぶ。)を測定し、物体距離を示す距離データを生成する。
【0030】
本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36によって生成される画像に含まれる各画素と、各画素に対応する物体距離とを対応づけた距離データを生成する。すなわち、本実施形態では、携帯型ゲーム装置3の撮像部36によって生成される画像内の画素の位置と、携帯型ゲーム装置3の距離測定部37で測定される物体距離とは一対一で対応づけられる。
【0031】
携帯型ゲーム装置3の距離測定部37は、具体的には、例えば、複数のレンズから構成されるステレオカメラであり、それぞれのレンズの視差に基づいて、外部物体と携帯型ゲーム装置3との距離を測定する。携帯型ゲーム装置3の距離測定部37は、ステレオカメラにはもちろん限定されず、携帯型ゲーム装置3の距離測定部37は、赤外線を出力して、その赤外線が撮像対象オブジェクトに反射して戻ってくるまでの時間を測定して、その測定された時間に基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。また、携帯型ゲーム装置3の距離測定部37が、焦点距離の異なる複数のレンズから構成され、これらのレンズのうち、外部物体に対してピントが合ったレンズに基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。なお、本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36と一体的に形成されており、表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の距離測定部37は、正面中央付近上側に設けられている。
【0032】
本実施形態では、携帯型ゲーム装置3の撮像部36が、所定の時間(例えば1/60秒)ごとに、被写体ユーザ40の動く様子を撮像し、順次、ユーザ画像42(フレーム画像)を生成する(図3参照)。ここで、順次生成されるユーザ画像42には、フレームの識別子であるフレームID44が関連付けられる(図4参照)。図3に、順次生成されるユーザ画像42のうちの1つの一例を示す。ここで、被写体ユーザ40は移動体の一例として示しているにすぎない。撮像部36が、被写体ユーザ40以外の移動体が動く様子を撮像して、その移動体の画像を生成するようにしても構わない。
【0033】
そして、携帯型ゲーム装置3の通信部33が、互いに関連付けられているフレームID44とユーザ画像42とを含む画像データ46を情報処理装置2に送信する。そして、情報処理装置2の通信部23がこの画像データ46を受信する。図4に、画像データ46のデータ構造の一例を示す。
【0034】
次に、本実施形態に係る情報処理装置2により実現される機能を説明する。図5は、本実施形態に係る情報処理装置2の機能ブロック図である。図5に示すように、本実施形態に係る情報処理装置2は、機能的には、識別子受付部50、受付識別子データ保持部52、移動体要素データ記憶部54、基礎モーションデータ生成部56、基礎モーションデータ取得部58、モーションデータ記憶部60、規則データ記憶部62、規則データ選択部64、生成モーションデータ生成部66、画像生成部68を含むものとして機能する。識別子受付部50、基礎モーションデータ生成部56、基礎モーションデータ取得部58、規則データ選択部64、生成モーションデータ生成部66、画像生成部68は情報処理装置2の制御部21を主として実現されている。受付識別子データ保持部52、移動体要素データ記憶部54、モーションデータ記憶部60、規則データ記憶部62は情報処理装置2の記憶部22を主として実現されている。これらの要素は、コンピュータである情報処理装置2にインストールされたプログラムを、情報処理装置2に含まれるCPU等の制御部21で実行することにより実現されている。なお、このプログラムは、例えば、CD−ROM、DVD−ROMなどのコンピュータ可読な情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置2に供給される。
【0035】
識別子受付部50は、移動体の識別子を受け付ける。本実施形態では、識別子受付部50は、図6に示すような、移動体選択画面70(第1移動体選択画面)を情報処理装置2のディスプレイなどのUI部24に表示出力する。移動体選択画面70には、移動体の種類を示す移動体名ボタン72が複数表示されている。それぞれの移動体名ボタン72は、その移動体の識別子である移動体ID74と関連付けられている(図7参照)。そして、ユーザにより移動体名ボタン72(例えば、「人間」と表示されている移動体名ボタン72)がクリックされると、識別子受付部50は、その移動体名ボタン72に関連付けられている移動体ID74(例えば、「1」)を取得して、取得した移動体ID74の値を、受付識別子データ76に含まれる第1移動体ID74−1の値に設定する(図7参照)。そして、識別子受付部50は、図6に示す移動体選択画面70と同様の画面構成である、移動体選択画面70(第2移動体選択画面(図示せず))を情報処理装置2のディスプレイなどのUI部24に表示出力する。そして、ユーザにより移動体名ボタン72(例えば、「クモ」と表示されている移動体名ボタン72)がクリックされると、識別子受付部50は、その移動体名ボタン72に関連付けられている移動体ID74(例えば、「2」)を取得して、取得した移動体ID74の値を、受付識別子データ76に含まれる第2移動体ID74−2の値に設定する(図7参照)。
【0036】
図7は、受付識別子データ76のデータ構造の一例を示す図である。図7に示すように、受付識別子データ76は、第1移動体ID74−1と、第2移動体ID74−2とを含んでいる。受付識別子データ保持部52は、この受付識別子データ76を保持する。受付識別子データ保持部52は、具体的には、例えば、第1移動体ID74−1の値が「1」であり、第2移動体ID74−2の値が「2」である受付識別子データを保持する。
【0037】
本実施形態では、図8に示すように、被写体ユーザ40は、例えば、右肩ノード要素78−1、右腰ノード要素78−2、右ひじノード要素78−3、右手ノード要素78−4、右ひざノード要素78−5、右足ノード要素78−6などの複数のノード要素78を含んでいる。また、被写体ユーザ40は、これらのノード要素78を接続するリンク要素80や、複数のリンク要素80により構成されるポリゴン要素82も含んでいる。図8は、被写体ユーザ40に含まれる各要素の一例を示す図である。なお、このように、移動体は複数の要素を含んでいてもよい。
【0038】
そして、移動体要素データ記憶部54は、本実施形態では、図9に示すような、それぞれのノード要素78を示すノードデータ84、それぞれのリンク要素80を示すリンクデータ86、それぞれのポリゴン要素82を示すポリゴンデータ88を含む移動体要素データ90を記憶する。このように、移動体要素データ記憶部54は、移動体に含まれる要素を示す移動体要素データ90を複数記憶する。
【0039】
ノードデータ84は、移動体ID74、ノード要素78の識別子であるノードID92、ノード要素78の名称を示すノード名94を含む。リンクデータ86は、移動体ID74、リンク要素80の識別子であるリンクID96、リンク要素80の名称を示すリンク名98、リンク要素80の始点となるノード要素78の識別子である始点ノードID92a、リンク要素80の終点となるノード要素78の識別子である終点ノードID92bを含む。ポリゴンデータ88は、移動体ID74、ポリゴン要素82の識別子であるポリゴンID100、ポリゴン要素82の名称を示すポリゴン名102、複数のリンクID96(第1リンクID96−1、第2リンクID96−2、・・・)を含む。ここで、ポリゴンデータ88に含まれる複数のリンクID96は、ポリゴンID100が示すポリゴン要素82を構成するリンク要素80を示している。なお、本実施形態では、移動体要素データ90は、要素間の接続関係も併せて示している。
【0040】
基礎モーションデータ生成部56は、携帯型ゲーム装置3から送信される画像に基づいて、所定の移動体の動きを示すモーションデータ104(基礎モーションデータ)を生成する(図10参照)。具体的には、例えば、基礎モーションデータ生成部56は、携帯型ゲーム装置3から送信される各ユーザ画像42に基づいて、例えば、パターン認識技術を用いて、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第1移動体ID74−1に対応する各要素の位置座標を特定する。なお、本実施形態では、被写体ユーザ40に含まれるノード要素78の位置座標が特定されることにより、移動体要素データ90により示されている要素間の接続関係に基づいて、被写体ユーザ40に含まれるすべての要素の位置座標が特定される。
【0041】
ここで、基礎モーションデータ生成部56は、ユーザ画像42内の各画素の色に基づいて、各要素の位置座標を特定するようにしても、もちろん構わない。また、基礎モーションデータ生成部56は、既存の光学式モーションキャプチャ技術などを利用して各要素のユーザ画像42内の位置座標を特定しても構わない。また、情報処理装置2のディスプレイなどのUI部24にユーザ画像42を表示して、マウスなどのUI部24からユーザにより入力される位置情報を取得して、その位置情報に基づいて、各要素の位置座標を特定するようにしてもよい。
【0042】
そして、本実施形態では、基礎モーションデータ生成部56は、図10に示す、ユーザ画像42に関連付けられているフレームID44、移動体ID74、各ノード要素78(本実施形態では、被写体ユーザ40に含まれるノード要素78)に対応するノードID92、基礎モーションデータ生成部56により特定される、ノード要素78の位置座標の値を示すノード位置座標106を含むモーションデータ104(基礎モーションデータ)を生成する。ここで、本実施形態では、基礎モーションデータ生成部56は、モーションデータ104に含まれる移動体ID74の値として、受付識別子データ76に含まれる第1移動体ID74−1の値(例えば、「1」)を設定する。このように、本実施形態では、モーションデータ104は、各フレームにおける、移動体に含まれる各要素の位置座標を示している。そして、所定の移動体ID74と関連付けられているモーションデータ104をフレームID44順に組み合わせることによって、移動体に含まれる各要素の動きが示されることとなる。
【0043】
なお、基礎モーションデータ生成部56が、移動体ID74と関連付けられて情報処理装置2の記憶部22に予め記憶されている、移動体ID74が示す移動体の画像から、その移動体に含まれる各要素の位置座標を特定する方法を示す特定方法データを用いて、各要素の位置座標を特定するようにしてもよい。
【0044】
基礎モーションデータ取得部58は、所定の移動体の動きを示すモーションデータ104(基礎モーションデータ)を取得する。本実施形態では、基礎モーションデータ取得部58は、基礎モーションデータ生成部56により生成されるモーションデータ104を取得して、モーションデータ記憶部60に出力する。
【0045】
モーションデータ記憶部60は、基礎モーションデータ取得部58により取得されるモーションデータ104(基礎モーションデータ)を記憶する。
【0046】
規則データ記憶部62は、移動体の識別子に関連付けて、この識別子が示す移動体の動きを、所定の移動体の動きに基づいて決定する規則を示す規則データ110を複数記憶する(図11参照)。そして、本実施形態では、規則データ記憶部62は、図11に示す、第1の移動体(本実施形態では、例えば「人間」)の識別子である第1移動体ID74−1、第1移動体ID74−1が示す移動体とは異なる第2の移動体(本実施形態では、例えば「クモ」)の識別子である第2移動体ID74−2、第1移動体ID74−1が示す移動体の動きに基づいて、第2移動体ID74−2が示す移動体の動きを決定する規則を示す規則データ110と、を含む移動体対応管理データ108を複数記憶する。
【0047】
具体的には、例えば、規則データ110は、第1移動体ID74−1が示す移動体に含まれる各要素の位置座標(例えば、ノード位置座標106)に基づいて、第2移動体ID74−2が示す移動体に含まれる各要素の位置座標(例えば、ノード位置座標106)を算出する規則を示している。規則データ110が示す規則の詳細については後述する。
【0048】
規則データ選択部64は、規則データ記憶部62に記憶されている複数の規則データ110のうちから、識別子受付部50が受け付ける識別子と関連付けられる規則データ110を選択する。本実施形態では、規則データ選択部64は、規則データ記憶部62に記憶されている複数の移動体対応管理データ108のうちから、第1移動体ID74−1の値が、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第1移動体ID74−1の値(例えば、「1」)と対応しており、第2移動体ID74−2の値が、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第2移動体ID74−2の値(例えば、「2」)と対応している移動体対応管理データ108を選択する。そして、規則データ選択部64は、この移動体対応管理データ108に含まれる規則データ110を選択する。
【0049】
生成モーションデータ生成部66は、基礎モーションデータ取得部58により取得される、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第1移動体ID74−1の値(例えば、「1」)が示す移動体(例えば、人間)の動きを示すモーションデータ104(基礎モーションデータ)に、規則データ選択部64により選択される規則データ110が示す規則を適用して、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第2移動体ID74−2の値(例えば、「2」)が示す移動体(例えば、クモ)の動きを示すモーションデータ104(生成モーションデータ)を生成する。
【0050】
図12は、生成モーションデータ生成部66が、図8に示す被写体ユーザ40に含まれる各要素に規則データ110が示す規則を適用することにより生成されるクモオブジェクト112に含まれる各要素を示す図である。
【0051】
本実施形態では、クモオブジェクト112が、例えば、第1右足付け根ノード要素78−7、第2右足付け根ノード要素78−8、第3右足付け根ノード要素78−9、第4右足付け根ノード要素78−10、第1右足関節ノード要素78−11、第2右足関節ノード要素78−12、第3右足関節ノード要素78−13、第4右足関節ノード要素78−14などを含んでいる。
【0052】
また、クモオブジェクト112は、これらのノード要素78を接続するリンク要素80や、複数のリンク要素80により構成されるポリゴン要素82も含んでいる。
【0053】
そして、生成モーションデータ生成部66は、生成の基礎となるユーザ画像42に関連付けられているフレームID44、移動体ID74、各ノード要素78(本実施形態では、クモオブジェクト112に含まれるノード要素78)に対応するノードID92、ノード要素78の位置座標の値を示すノード位置座標106を含むモーションデータ104(生成モーションデータ)を生成する。ここで、本実施形態では、生成モーションデータ生成部66は、モーションデータ104に含まれる移動体ID74の値として、受付識別子データ76に含まれる第2移動体ID74−2の値(例えば、「2」)を設定する。
【0054】
そして、このような、移動体ID74の値に「2」が設定されているモーションデータ104(以下、第2モーションデータ104−2と呼ぶ。)に含まれるノード位置座標106は、移動体ID74に「1」が設定されているモーションデータ104(以下、第1モーションデータ104−1と呼ぶ。)に含まれるノード位置座標106に対して、規則データ選択部64により選択される規則データ110が示す規則を適用することにより算出される。
【0055】
規則データ110には、例えば、第1モーションデータ104−1に含まれるノード位置座標106を、第2モーションデータ104−2に含まれるノード位置座標106に設定する規則が示されていてもよい。具体的には、例えば、規則データ110には、右肩ノード要素78−1に対応する第1モーションデータ104−1に含まれるノード位置座標106を、第1右足付け根ノード要素78−7に対応する第2モーションデータ104−2に含まれるノード位置座標106として設定する規則が示されていてもよい。
【0056】
また、規則データ110には、例えば、第1モーションデータ104−1と第2モーションデータ104−2とのうちの一方に含まれる複数のノード位置座標106の組合せと、他方に含まれる1つのノード位置座標106とを対応づける規則が示されていてもよい。具体的には、例えば、規則データ110には、右肩ノード要素78−1に対応する第1モーションデータ104−1に含まれるノード位置座標106と、右腰ノード要素78−2に対応する第1モーションデータ104−1に含まれるノード位置座標106とを、1:2に内分する点の位置座標を、第2右足付け根ノード要素78−8に対応する第2モーションデータ104−2に含まれるノード位置座標106として設定する規則が示されていてもよい。このような規則が規則データ110に示されることで、被写体ユーザ40に含まれるノード要素78の数と、クモオブジェクト112に含まれるノード要素78の数が異なっていても、クモオブジェクト112に含まれる各ノード要素78のノード位置座標106を算出することができる。すなわち、基礎モーションデータに基づいて生成モーションデータを生成する際に、ノード要素78を追加したり削除したりすることが可能となる。
【0057】
また、規則データ110には、例えば、互いに異なる複数のフレームID44それぞれに対応づけられている複数の第1モーションデータ104−1に含まれるノード位置座標106の組合せに基づいて、第2モーションデータ104−2に含まれるノード位置座標106を算出する規則が示されていてもよい。具体的には、例えば、規則データ110には、フレームID44の値が「1」である、右ひじノード要素78−3に対応する第1モーションデータ104−1に含まれるノード位置座標106と、フレームID44の値が「2」である、右ひざノード要素78−5に対応する第1モーションデータ104−1に含まれるノード位置座標106とを、1:2に内分する点の位置座標を、フレームID44の値が「3」である、第2右足関節ノード要素78−12に対応する第2モーションデータ104−2のノード位置座標106として設定する規則が示されていてもよい。このような規則が規則データ110に示されることで、生成モーションデータ生成部66は、被写体ユーザ40が撮像されたタイミングのずれを活かした生成モーションデータの生成が可能となる。このことにより、後述する画像生成部68により生成される動画像(本実施形態では一連のクモ画像114(図13参照)から構成される動画像)の不自然さが軽減されることがある。
【0058】
また、規則データ110が上述に示されている規則以外の規則を示してもよい。具体的には、例えば、規則データ110には、第1の移動体(例えば、被写体ユーザ40)に含まれる要素の位置座標に対して、線形変換やアフィン変換などといった所定の数学的な変換を施して、第2の移動体(例えば、クモオブジェクト112)に含まれる要素の位置座標を算出する規則が示されていてもよい。また、例えば、規則データ110には、リンク要素80の長さを変更したり、リンク要素80を回転したり、ポリゴン要素82の大きさを変更するなどの規則が示されていてもよい。なお、規則データ110には、第2の移動体(例えば、クモオブジェクト112)に含まれるリンク要素80(あるいは、ポリゴン要素82)の位置を、第1の移動体(例えば、被写体ユーザ40)に含まれるリンク要素80(あるいは、ポリゴン要素82)に基づいて決定する規則が示されていてもよい。
【0059】
また、規則データ110には、例えば、第1モーションデータ104−1に含まれる、乱数に基づいて決定される、ノード位置座標106のうちの1つを、第2モーションデータ104−2のノード位置座標106として設定する規則が示されていてもよい。
【0060】
そして、生成モーションデータ生成部66は、このようにして生成される生成モーションデータを、モーションデータ記憶部60に出力する。
【0061】
画像生成部68は、生成モーションデータ生成部66により生成される生成モーションデータに基づいて、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第2移動体ID74−2が示す移動体の画像を生成する。本実施形態では、画像生成部68は、生成された移動体の画像を情報処理装置2のディスプレイなどのUI部24に表示出力する。
【0062】
具体的には、例えば、画像生成部68は、図12に示すクモオブジェクト112に含まれる各要素の位置座標に基づいて、図13に示すクモ画像114を生成する。また、本実施形態では、画像生成部68は、移動体の画像を順次生成し、情報処理装置2のUI部24に順次出力するので、移動体が動く様子が情報処理装置2のUI部24に表示されることとなる。
【0063】
ここで、第1移動体ID74−1の値が「1」であり、第2移動体ID74−2の値が「2」である受付識別子データ76が受付識別子データ保持部52に保持されている場合において、図3に示すユーザ画像42(値が「t」であるフレームID44に関連付けられている)を取得してから、図13に示すクモ画像114が情報処理装置2のUI部24に表示出力されるまでの処理の流れを図14に示すフロー図を参照しながら説明する。
【0064】
まず、基礎モーションデータ生成部56が、ユーザ画像42に表示されている被写体ユーザ40に含まれる各ノード要素78の位置座標を特定する(S1)。そして、基礎モーションデータ生成部56が、「t」の値が設定されるフレームID44、「1」の値が設定される移動体ID74、被写体ユーザ40に含まれる各ノード要素78のノードID92、そのノード要素78のノード位置座標106を含むモーションデータ104を生成する(S2)。このとき、ユーザ画像42に表示されている被写体ユーザ40には、複数のノード要素78が含まれているので、基礎モーションデータ生成部56は、モーションデータ104を複数生成することとなる。
【0065】
そして、基礎モーションデータ取得部58が、S102に示す処理により生成されるモーションデータ104を取得して、モーションデータ記憶部60に出力する(S3)。
【0066】
そして、規則データ選択部64が、規則データ記憶部62に記憶されている移動体対応管理データ108のうちから、第1移動体ID74−1の値が「1」であり、第2移動体ID74−2の値が「2」である移動体対応管理データ108に含まれる規則データ110を選択する(S4)。
【0067】
そして、生成モーションデータ生成部66が、S3に示す処理によりモーションデータ記憶部60に出力された、移動体ID74の値が「1」であるモーションデータ104を取得する(S5)。
【0068】
そして、生成モーションデータ生成部66が、S5に示す処理により取得されたモーションデータ104に、S104に示す処理により選択される規則データ110が示す規則を適用して、クモオブジェクト112に含まれる各ノード要素78の位置座標を算出する(S6)。
【0069】
そして、生成モーションデータ生成部66が、「t」の値が設定されるフレームID44、「2」の値が設定される移動体ID74、クモオブジェクト112に含まれる各ノード要素78のノードID92、そのノード要素78のノード位置座標106を含むモーションデータ104を生成する(S7)。そして、生成モーションデータ生成部66が、S7に示す処理により生成されたモーションデータ記憶部60に出力する(S8)。
【0070】
そして、画像生成部68が、「t」の値が設定されるフレームID44、及び、「2」の値が設定される移動体ID74が含まれるモーションデータ104を取得する(S9)。
【0071】
そして、画像生成部68が、S8に示す処理により取得されるモーションデータ104に基づいて、クモ画像114を生成し、情報処理装置2のUI部24に出力する(S10)。
【0072】
上述の処理例では、各フレームについて、基礎モーションデータ取得部58が、それぞれのフレームにおける、被写体ユーザ40に含まれるノード要素78のノード位置座標106が含まれるモーションデータ104を順次取得する。そして、生成モーションデータ生成部66が、基礎モーションデータ取得部58により順次取得される各モーションデータ104に、規則データ選択部64により選択される規則データが示す規則を順次適用する。そして、生成モーションデータ生成部66が、それぞれのフレームにおける、クモオブジェクト112に含まれるノード要素78のノード位置座標106が含まれるモーションデータ104を順次生成する。そのため、上記の処理例では、ユーザ画像42の順次取得と連携した、クモ画像114の順次生成が可能となる。上述の処理例によれば、被写体ユーザ40(人間)が動く様子を携帯型ゲーム装置3の撮像部36が撮像しながら、ほぼリアルタイムで、情報処理装置2のUI部24にクモオブジェクト112が動く様子を示す動画像を表示出力することができる。
【0073】
このようにして、被写体ユーザ40のユーザ画像42に基づいて、クモ画像114を容易に生成することができる。もちろん、上述の第2移動体選択画面において、ユーザにより「カニ」や、「タコ」や、「車」や、「飛行機」と表示されている移動体名ボタン72がクリックされると、規則データ選択部64が、それぞれの移動体に対応する規則データ110を選択することとなるので、被写体ユーザ40のユーザ画像42に基づいて、例えば、かに画像や、たこ画像や、車画像や、飛行機画像などといった様々な画像を容易に生成することができる。
【0074】
なお、基礎モーションデータが、被写体ユーザ40の動く様子を示すモーションデータ104である必要はない。また、生成モーションデータが、クモオブジェクト112の動く様子を示すモーションデータ104である必要はない。すなわち、携帯型ゲーム装置3の撮像部36によりクモが撮像されるにより生成されるクモ画像114を情報処理装置2が受信してもよい。そして、基礎モーションデータ生成部56が、このクモ画像114に基づいて、クモオブジェクト112の動く様子を示すモーションデータ104(基礎モーションデータ)を生成するようにしてもよい。そして、生成モーションデータ生成部66が、クモオブジェクト112の動く様子を示すモーションデータ104に基づいて、人間が動く様子を示すモーションデータ104(生成モーションデータ)を生成するようにしても構わない。
【0075】
このように、様々な移動体に対応する規則データ110が規則データ記憶部62に記憶されている場合には、識別子受付部50が受け付ける移動体ID74に応じて、様々な移動体の動きを示すモーションデータ104に基づいて、様々な移動体の動きを示すモーションデータ104や、そのモーションデータ104に基づく画像を生成することができる。
【0076】
本実施形態によれば、ユーザから受け付ける識別子が示す移動体の画像や動画像を容易に生成することができるので、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる。
【0077】
なお、本発明は上述の実施形態に限定されるものではない。
【0078】
例えば、インターネットなどのネットワークを介して情報処理装置2と接続されているサーバ(図示せず)などに、予め所定の移動体の動く様子を示すモーションデータ104が記憶されているような場合において、基礎モーションデータ取得部58が、サーバなどに記憶されているモーションデータ104を取得して、生成モーションデータ生成部66が、このモーションデータ104を用いて新たなモーションデータ104を生成するようにしてもよい。
【0079】
また、携帯型ゲーム装置3の距離測定部37が生成する距離データを、携帯型ゲーム装置3が情報処理装置2に併せて送信するようにして、基礎モーションデータ生成部56が、距離データが示す、携帯型ゲーム装置3と被写体ユーザ40との距離を用いて、各ノード要素78の位置座標(例えば、三次元位置座標)を決定するようにしても構わない。すなわち、携帯型ゲーム装置3の通信部33が、フレームID44とユーザ画像42と距離データとを含む画像データ46を情報処理装置2に送信して、情報処理装置2の通信部23がこの画像データ46を受信するようにしてもよい。
【0080】
また、例えば、情報処理システム1が、携帯型ゲーム装置3の代わりに、撮像機能と距離測定機能を有するビデオカメラなどを含んでいても構わない。すなわち、携帯型ゲーム装置3の代わりとして、撮像機能と距離測定機能を有するビデオカメラを用いても構わない。
【0081】
また、上述の情報処理装置2と携帯型ゲーム装置3とが一つの筐体により実装されていても構わない。
【0082】
また、移動体が複数の要素を含んでいる必要はない。
【0083】
次に、このようにして生成されるモーションデータの活用例を以下に示す。
【0084】
例えば、生成されるモーションデータ104が情報処理装置2の通信部23からインターネットなどのネットワークを介して接続されているサーバ(図示せず)にアップロードされてもよい。その際に、ユーザが、モーションデータ104を使用しているゲームタイトルを示すデータ、モーションデータ104の作者を示すデータ、このモーションデータ104が生成される基礎となったモーションデータ104(基礎モーションデータ)を示すデータ、このモーションデータ104に基づいて生成されたCGのキャラクタを示すデータなどの属性データを関連付けてモーションデータ104をアップロードできるようにしてもよい。そして、サーバでは、モーションデータ104と属性データとが関連付けられて記憶されるようにしてもよい。また、モーションデータ104は、既存のスクリプト言語で記述されたデータに変換された上で、サーバに記憶されるようにしてもよい。
【0085】
ユーザが、サーバに記憶されているモーションデータ104を、例えば、ブラウザなどで閲覧できるようにしてもよい。このとき、モーションデータ104が、カテゴリに分類されて表示されるようにしてもよい。また、モーションデータ104がアイコン化されていてもよい。具体的には、例えば、モーションデータ104が、ワイヤーフレームや、キャラクタなどの動きとしてブラウザで表現されるようにしてもよい。
【0086】
また、モーションデータ104をアップロードするユーザが、このモーションデータ104の公開対象となるユーザを設定して、設定されたユーザのみがモーションデータ104を閲覧することができるようにしてもよい。
【0087】
そして、閲覧の対象であるモーションデータ104が、モーションデータ104のネットワークストアへのハイパーリンクとなっており、ユーザがそのハイパーリンクをクリックすることにより、モーションデータ104を購入することができるようになっていてもよい。
【0088】
また、新たにサーバにアップロードされるモーションデータ104を、情報処理装置2が、ネットワークを介して逐次ダウンロードして、情報処理装置2の記憶部22にキャッシュするようにしてもよい。また、例えば、ゲームのセーブデータと共に、モーションデータ104が情報処理装置2の記憶部22に記憶されていても構わない。
【0089】
また、例えば、情報処理装置2が、サーバに記憶されている、人間がダンスをしている様子や人間がゴルフのスイングをしている様子が示されているモーションデータ104と、携帯型ゲーム装置3の撮像部36で撮像される一連のユーザ画像42に基づいて生成されるモーションデータ104とを比較して、それぞれのモーションデータ104の対応度に基づく点数を算出するようにしても構わない。
【図面の簡単な説明】
【0090】
【図1】本発明の一実施形態に係る情報処理システムのハードウェア構成の一例を示すハードウェア構成図である。
【図2】本発明の一実施形態に係る携帯型ゲーム装置の一例を示す斜視図である。
【図3】ユーザ画像の一例を示す図である。
【図4】画像データのデータ構造の一例を示す図である。
【図5】本発明の一実施形態に係る情報処理装置の機能ブロック図である。
【図6】第1移動体選択画面の一例を示す図である。
【図7】受付識別子データのデータ構造の一例を示す図である。
【図8】被写体ユーザに含まれる各要素の一例を示す図である。
【図9】移動体要素データのデータ構造の一例を示す図である。
【図10】モーションデータのデータ構造の一例を示す図である。
【図11】移動体対応管理データのデータ構造の一例を示す図である。
【図12】クモオブジェクトに含まれる各要素の一例を示す図である。
【図13】クモ画像の一例を示す図である。
【図14】本発明の一実施形態に係る情報処理装置で行われる処理のフローの一例を示す図である。
【符号の説明】
【0091】
1 情報処理システム、2 情報処理装置、21 制御部、22 記憶部、23 通信部、24 ユーザインタフェース(UI)部、3 携帯型ゲーム装置、30 筐体、31 制御部、32 記憶部、33 通信部、34 表示部、35 操作部、36 撮像部、37 距離測定部、40 被写体ユーザ、42 ユーザ画像、44 フレームID、46 画像データ、50 識別子受付部、52 受付識別子データ保持部、54 移動体要素データ記憶部、56 基礎モーションデータ生成部、58 基礎モーションデータ取得部、60 モーションデータ記憶部、62 規則データ記憶部、64 規則データ選択部、66 生成モーションデータ生成部、68 画像生成部、70 移動体選択画面、72 移動体名ボタン、74 移動体ID、76 受付識別子データ、78 ノード要素、80 リンク要素、82 ポリゴン要素、84 ノードデータ、86 リンクデータ、88 ポリゴンデータ、90 移動体要素データ、92 ノードID、94 ノード名、96 リンクID、98 リンク名、100 ポリゴンID、102 ポリゴン名、104 モーションデータ、106 ノード位置座標、108 移動体対応管理データ、110 規則データ、112 クモオブジェクト、114 クモ画像。
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラム及び情報記憶媒体に関する。
【背景技術】
【0002】
ビデオカメラなどで撮像される人間などの移動体の動きを情報処理装置に取り込むモーションキャプチャに関する技術が知られている。例えば、ビデオカメラで移動体を撮像することにより生成される一連の画像に基づいて、その移動体の動きを示すモーションデータを生成する情報処理装置が存在する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
モーションキャプチャなどにより生成されるモーションデータは、コンピュータグラフィックス(CG)を制作する際などに活用されている。例えば、人間の動きを撮像することにより生成されるモーションデータを用いて、人間の動きを表すCGを容易に制作することができる。しかし、例えば、クモの動きを表すCGを制作する場面では、人間の動きを撮像することにより生成されるモーションデータに対して適切な加工を施すなどの工夫をする必要があった。このように、従来は、モーションデータを利用してCGを制作する際には、制作者の手間がかかっていた。特に、所定の移動体の動きを示すモーションデータを用いて、他の移動体の動きを表すCGを制作する際には、制作者の手間がかかっていた。
【0004】
本発明は、上記課題に鑑みてなされたものであって、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる情報処理装置、情報処理方法、プログラム及び情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明に係る情報処理装置は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する規則データ記憶手段と、移動体の識別子を受け付ける識別子受付手段と、前記基礎モーションデータを取得する基礎モーションデータ取得手段と、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段と、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段と、を含むことを特徴とする。
【0006】
また、本発明に係る情報処理方法は、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理方法であって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させるステップと、前記基礎モーションデータを取得する基礎モーションデータ取得ステップと、移動体の識別子を受け付ける識別子受付ステップと、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付ステップで受け付ける識別子と関連付けられる規則データを選択する規則データ選択ステップと、前記基礎モーションデータ取得ステップにより取得される基礎モーションデータに、前記規則データ選択ステップにより選択される規則データが示す規則を適用して、前記識別子受付ステップで受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成ステップと、を含むことを特徴とする。
【0007】
また、本発明に係るプログラムは、所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、前記基礎モーションデータを取得する基礎モーションデータ取得手段、移動体の識別子を受け付ける識別子受付手段、前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、として前記コンピュータを機能させることを特徴とする。
【0008】
また、上記のプログラムはコンピュータ読み取り可能な情報記憶媒体に格納することもできる。
【0009】
本発明によると、所定の移動体の動きを示す基礎モーションデータに基づいて、識別子受付手段が受け付ける識別子に応じた移動体の動きを示すモーションデータが生成されるので、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる。
【0010】
本発明の一態様では、前記基礎モーションデータが、各フレームにおける前記所定の移動体の位置を示しており、前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の各フレームにおける位置に基づいて決定する規則を示す規則データを記憶し、前記基礎モーションデータ取得手段が、前記基礎モーションデータを順次取得し、前記生成モーションデータ生成手段が、順次取得される前記各基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を順次適用して、前記識別子受付手段が受け付ける識別子が示す移動体の各フレームにおける位置を示す前記生成モーションデータを順次生成することを特徴とする。こうすれば、各フレームにおける移動体の位置が示された生成モーションデータを、基礎モーションデータが示す各フレームにおける移動体の位置に基づいて生成することができる。
【0011】
また、この態様では、前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の、互いに異なる複数のフレームにおける位置の組合せに基づいて決定する規則を示す規則データを記憶してもよい。こうすれば、異なるフレームにおける所定の移動体の位置に基づいて、生成モーションデータが生成されるので、生成モーションデータのバリエーションを豊かにすることができる。
【0012】
また、本発明の一態様では、前記基礎モーションデータが、前記所定の移動体に含まれる複数の要素それぞれの動きを示しており、前記規則データ記憶手段が、複数の要素が含まれる移動体の識別子に関連付けて、当該識別子が示す移動体に含まれる複数の要素それぞれの動きを前記所定の移動体に含まれる複数の要素それぞれの動きに基づいて決定する規則を示す規則データを記憶し、前記生成モーションデータ生成手段が、前記識別子受付手段が受け付ける識別子が示す移動体に含まれる複数の要素それぞれの動きを示す生成モーションデータを生成することを特徴とする。こうすれば、生成モーションデータが示す、識別子受付手段が受け付ける識別子に応じた移動体に含まれる要素それぞれの動きを、所定の移動体に含まれる要素それぞれの動きに対応づけることができる。
【0013】
また、この態様では、前記規則データ記憶手段が、前記所定の移動体又は前記識別子が示す移動体のうちの一方に含まれる複数の要素それぞれの位置の組合せと、他方に含まれる1つの要素とを対応づける規則を示す規則データを記憶してもよい。こうすれば、所定の移動体に含まれる複数の要素の位置の組合せに基づいて、識別子受付手段が受け付ける識別子に応じた移動体に含まれる1つの要素の位置を算出すること、あるいは、所定の移動体に含まれる1つの要素の位置に基づいて、識別子受付手段が受け付ける識別子に応じた移動体に含まれる複数の要素それぞれの位置を算出することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【0015】
図1は、本実施形態に係る情報処理システム1のハードウェア構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム1は、情報処理装置2と、携帯型ゲーム装置3と、を含んでいる。そして、図2は、本実施形態に係る携帯型ゲーム装置3の一例を示す斜視図である。
【0016】
情報処理装置2は、制御部21、記憶部22、通信部23、ユーザインタフェース(UI)部24、を含んで構成される。制御部21、記憶部22、通信部23、UI部24、はバスを介して接続される。
【0017】
情報処理装置2の制御部21はCPU等のプログラム制御デバイスであり、情報処理装置2にインストールされるプログラムに従って動作する。
【0018】
情報処理装置2の記憶部22は、RAM等の記憶素子やハードディスクなどである。情報処理装置2の記憶部22には、情報処理装置2の制御部21によって実行されるプログラムなどが記憶される。また、情報処理装置2の記憶部22は、情報処理装置2の制御部21のワークメモリとしても動作する。なお、本実施形態にて、情報処理装置2の記憶部22が記憶する他のデータについては後述する。
【0019】
情報処理装置2の通信部23は、例えば、ネットワークインタフェースなどであり、情報処理装置2の制御部21から入力される指示に従って、情報を送信する。また、この情報処理装置2の通信部23は、LANなどのネットワークを介して受信される情報を情報処理装置2の制御部21に出力する。
【0020】
情報処理装置2のUI部24は、ディスプレイ、マイク、スピーカ、ボタンなどであり、利用者が行った操作の内容や、利用者が入力した音声を制御部21に出力する。また、この情報処理装置2のUI部24は、情報処理装置2の制御部21から入力される指示に従って情報を表示出力したり音声出力したりする。
【0021】
図2に示すように、本実施形態に係る携帯型ゲーム装置3の筐体30の形状は、箱形である。そして、図1に示すように、本実施形態に係る携帯型ゲーム装置3は、制御部31、記憶部32、通信部33、表示部34、操作部35、撮像部36、距離測定部37、を備えている。
【0022】
携帯型ゲーム装置3の制御部31はCPU等のプログラム制御デバイスであり、携帯型ゲーム装置3の記憶部32に格納されたプログラムに従って動作する。
【0023】
携帯型ゲーム装置3の記憶部32は、RAM等の記憶素子やハードディスクなどである。携帯型ゲーム装置3の記憶部32には、携帯型ゲーム装置3の制御部31によって実行されるプログラムなどが格納される。具体的には、例えば、携帯型ゲーム装置3の制御部31で実行されるゲームプログラムが格納される。このゲームプログラムは、例えば、ディスク、CD−ROM、DVD−ROM等の情報伝達媒体を介して、あるいは、インターネット等の通信ネットワークを介して携帯型ゲーム装置3に供給される。また、携帯型ゲーム装置3の記憶部32は、携帯型ゲーム装置3の制御部31のワークメモリとしても動作する。
【0024】
携帯型ゲーム装置3の通信部33は、例えば、ネットワークインタフェースなど(具体的には、例えば、無線LANモジュール)であり、携帯型ゲーム装置3の制御部31から入力される指示に従って、情報処理装置2などへ情報を送信する。また、この携帯型ゲーム装置3の通信部33は、受信される情報を携帯型ゲーム装置3の制御部31に出力する。
【0025】
本実施形態においては、情報処理装置2の通信部23、及び、携帯型ゲーム装置3の通信部33は、LANなどのネットワークに接続されており互いに通信することができるようになっている。なお、ネットワークは有線であっても無線であっても構わない。
【0026】
携帯型ゲーム装置3の表示部34は、例えば液晶ディスプレイ等であり、携帯型ゲーム装置3の制御部31からの指示に従って、画像の表示を行う。本実施形態では、携帯型ゲーム装置3の表示部34は、携帯型ゲーム装置3の筐体30の正面中央部に設けられている。ここで、携帯型ゲーム装置3の制御部31は、携帯型ゲーム装置3の表示部34に、表示される画像の解像度やアスペクト比などといった属性を併せて指示してもよい。また、携帯型ゲーム装置3の制御部31は、実行するプログラムに含まれる、画像の解像度やアスペクト比などといった属性を示す属性情報の内容に従って携帯型ゲーム装置3の表示部34に表示される画像の属性を指示してもよい。
【0027】
携帯型ゲーム装置3の操作部35は、例えば、操作部材(具体的には、例えば、十字キーやボタン)であり、当該操作部材に対する操作に応じた出力データを携帯型ゲーム装置3の制御部31に対して出力する。携帯型ゲーム装置3の制御部31は、この出力データを取得することで、当該出力データを用いてプレイヤの操作部材に対する操作に応じた処理を実行する。本実施形態では、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の表示部34の左右に設けられている。すなわち、携帯型ゲーム装置3の操作部35は、携帯型ゲーム装置3の筐体30の正面左側及び正面右側に分かれて配置されている。
【0028】
携帯型ゲーム装置3の撮像部36は、例えば、公知のデジタルカメラを含んで構成され、所定時間(例えば1/60秒)ごとに、白黒、グレイスケール又はカラーの画像(例えば、JPEG形式の画像)を生成する。なお、携帯型ゲーム装置3の撮像部36は、標準カメラであっても、望遠カメラであっても、広角カメラであっても構わない。本実施形態では、携帯型ゲーム装置3の撮像部36は、携帯型ゲーム装置3の表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の撮像部36は、筐体30の正面中央付近上側に設けられている。
【0029】
携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3と、その外部に存在する外部物体との距離を測定する。携帯型ゲーム装置3の距離測定部37は、例えば、携帯型ゲーム装置3の撮像部36と、外部物体(より具体的には、例えば、外部物体の表面)との距離(以下、物体距離と呼ぶ。)を測定し、物体距離を示す距離データを生成する。
【0030】
本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36によって生成される画像に含まれる各画素と、各画素に対応する物体距離とを対応づけた距離データを生成する。すなわち、本実施形態では、携帯型ゲーム装置3の撮像部36によって生成される画像内の画素の位置と、携帯型ゲーム装置3の距離測定部37で測定される物体距離とは一対一で対応づけられる。
【0031】
携帯型ゲーム装置3の距離測定部37は、具体的には、例えば、複数のレンズから構成されるステレオカメラであり、それぞれのレンズの視差に基づいて、外部物体と携帯型ゲーム装置3との距離を測定する。携帯型ゲーム装置3の距離測定部37は、ステレオカメラにはもちろん限定されず、携帯型ゲーム装置3の距離測定部37は、赤外線を出力して、その赤外線が撮像対象オブジェクトに反射して戻ってくるまでの時間を測定して、その測定された時間に基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。また、携帯型ゲーム装置3の距離測定部37が、焦点距離の異なる複数のレンズから構成され、これらのレンズのうち、外部物体に対してピントが合ったレンズに基づいて、外部物体と携帯型ゲーム装置3との距離を測定しても構わない。なお、本実施形態では、携帯型ゲーム装置3の距離測定部37は、携帯型ゲーム装置3の撮像部36と一体的に形成されており、表示部34の上側に設けられている。すなわち、携帯型ゲーム装置3の距離測定部37は、正面中央付近上側に設けられている。
【0032】
本実施形態では、携帯型ゲーム装置3の撮像部36が、所定の時間(例えば1/60秒)ごとに、被写体ユーザ40の動く様子を撮像し、順次、ユーザ画像42(フレーム画像)を生成する(図3参照)。ここで、順次生成されるユーザ画像42には、フレームの識別子であるフレームID44が関連付けられる(図4参照)。図3に、順次生成されるユーザ画像42のうちの1つの一例を示す。ここで、被写体ユーザ40は移動体の一例として示しているにすぎない。撮像部36が、被写体ユーザ40以外の移動体が動く様子を撮像して、その移動体の画像を生成するようにしても構わない。
【0033】
そして、携帯型ゲーム装置3の通信部33が、互いに関連付けられているフレームID44とユーザ画像42とを含む画像データ46を情報処理装置2に送信する。そして、情報処理装置2の通信部23がこの画像データ46を受信する。図4に、画像データ46のデータ構造の一例を示す。
【0034】
次に、本実施形態に係る情報処理装置2により実現される機能を説明する。図5は、本実施形態に係る情報処理装置2の機能ブロック図である。図5に示すように、本実施形態に係る情報処理装置2は、機能的には、識別子受付部50、受付識別子データ保持部52、移動体要素データ記憶部54、基礎モーションデータ生成部56、基礎モーションデータ取得部58、モーションデータ記憶部60、規則データ記憶部62、規則データ選択部64、生成モーションデータ生成部66、画像生成部68を含むものとして機能する。識別子受付部50、基礎モーションデータ生成部56、基礎モーションデータ取得部58、規則データ選択部64、生成モーションデータ生成部66、画像生成部68は情報処理装置2の制御部21を主として実現されている。受付識別子データ保持部52、移動体要素データ記憶部54、モーションデータ記憶部60、規則データ記憶部62は情報処理装置2の記憶部22を主として実現されている。これらの要素は、コンピュータである情報処理装置2にインストールされたプログラムを、情報処理装置2に含まれるCPU等の制御部21で実行することにより実現されている。なお、このプログラムは、例えば、CD−ROM、DVD−ROMなどのコンピュータ可読な情報伝達媒体を介して、あるいは、インターネットなどの通信ネットワークを介して情報処理装置2に供給される。
【0035】
識別子受付部50は、移動体の識別子を受け付ける。本実施形態では、識別子受付部50は、図6に示すような、移動体選択画面70(第1移動体選択画面)を情報処理装置2のディスプレイなどのUI部24に表示出力する。移動体選択画面70には、移動体の種類を示す移動体名ボタン72が複数表示されている。それぞれの移動体名ボタン72は、その移動体の識別子である移動体ID74と関連付けられている(図7参照)。そして、ユーザにより移動体名ボタン72(例えば、「人間」と表示されている移動体名ボタン72)がクリックされると、識別子受付部50は、その移動体名ボタン72に関連付けられている移動体ID74(例えば、「1」)を取得して、取得した移動体ID74の値を、受付識別子データ76に含まれる第1移動体ID74−1の値に設定する(図7参照)。そして、識別子受付部50は、図6に示す移動体選択画面70と同様の画面構成である、移動体選択画面70(第2移動体選択画面(図示せず))を情報処理装置2のディスプレイなどのUI部24に表示出力する。そして、ユーザにより移動体名ボタン72(例えば、「クモ」と表示されている移動体名ボタン72)がクリックされると、識別子受付部50は、その移動体名ボタン72に関連付けられている移動体ID74(例えば、「2」)を取得して、取得した移動体ID74の値を、受付識別子データ76に含まれる第2移動体ID74−2の値に設定する(図7参照)。
【0036】
図7は、受付識別子データ76のデータ構造の一例を示す図である。図7に示すように、受付識別子データ76は、第1移動体ID74−1と、第2移動体ID74−2とを含んでいる。受付識別子データ保持部52は、この受付識別子データ76を保持する。受付識別子データ保持部52は、具体的には、例えば、第1移動体ID74−1の値が「1」であり、第2移動体ID74−2の値が「2」である受付識別子データを保持する。
【0037】
本実施形態では、図8に示すように、被写体ユーザ40は、例えば、右肩ノード要素78−1、右腰ノード要素78−2、右ひじノード要素78−3、右手ノード要素78−4、右ひざノード要素78−5、右足ノード要素78−6などの複数のノード要素78を含んでいる。また、被写体ユーザ40は、これらのノード要素78を接続するリンク要素80や、複数のリンク要素80により構成されるポリゴン要素82も含んでいる。図8は、被写体ユーザ40に含まれる各要素の一例を示す図である。なお、このように、移動体は複数の要素を含んでいてもよい。
【0038】
そして、移動体要素データ記憶部54は、本実施形態では、図9に示すような、それぞれのノード要素78を示すノードデータ84、それぞれのリンク要素80を示すリンクデータ86、それぞれのポリゴン要素82を示すポリゴンデータ88を含む移動体要素データ90を記憶する。このように、移動体要素データ記憶部54は、移動体に含まれる要素を示す移動体要素データ90を複数記憶する。
【0039】
ノードデータ84は、移動体ID74、ノード要素78の識別子であるノードID92、ノード要素78の名称を示すノード名94を含む。リンクデータ86は、移動体ID74、リンク要素80の識別子であるリンクID96、リンク要素80の名称を示すリンク名98、リンク要素80の始点となるノード要素78の識別子である始点ノードID92a、リンク要素80の終点となるノード要素78の識別子である終点ノードID92bを含む。ポリゴンデータ88は、移動体ID74、ポリゴン要素82の識別子であるポリゴンID100、ポリゴン要素82の名称を示すポリゴン名102、複数のリンクID96(第1リンクID96−1、第2リンクID96−2、・・・)を含む。ここで、ポリゴンデータ88に含まれる複数のリンクID96は、ポリゴンID100が示すポリゴン要素82を構成するリンク要素80を示している。なお、本実施形態では、移動体要素データ90は、要素間の接続関係も併せて示している。
【0040】
基礎モーションデータ生成部56は、携帯型ゲーム装置3から送信される画像に基づいて、所定の移動体の動きを示すモーションデータ104(基礎モーションデータ)を生成する(図10参照)。具体的には、例えば、基礎モーションデータ生成部56は、携帯型ゲーム装置3から送信される各ユーザ画像42に基づいて、例えば、パターン認識技術を用いて、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第1移動体ID74−1に対応する各要素の位置座標を特定する。なお、本実施形態では、被写体ユーザ40に含まれるノード要素78の位置座標が特定されることにより、移動体要素データ90により示されている要素間の接続関係に基づいて、被写体ユーザ40に含まれるすべての要素の位置座標が特定される。
【0041】
ここで、基礎モーションデータ生成部56は、ユーザ画像42内の各画素の色に基づいて、各要素の位置座標を特定するようにしても、もちろん構わない。また、基礎モーションデータ生成部56は、既存の光学式モーションキャプチャ技術などを利用して各要素のユーザ画像42内の位置座標を特定しても構わない。また、情報処理装置2のディスプレイなどのUI部24にユーザ画像42を表示して、マウスなどのUI部24からユーザにより入力される位置情報を取得して、その位置情報に基づいて、各要素の位置座標を特定するようにしてもよい。
【0042】
そして、本実施形態では、基礎モーションデータ生成部56は、図10に示す、ユーザ画像42に関連付けられているフレームID44、移動体ID74、各ノード要素78(本実施形態では、被写体ユーザ40に含まれるノード要素78)に対応するノードID92、基礎モーションデータ生成部56により特定される、ノード要素78の位置座標の値を示すノード位置座標106を含むモーションデータ104(基礎モーションデータ)を生成する。ここで、本実施形態では、基礎モーションデータ生成部56は、モーションデータ104に含まれる移動体ID74の値として、受付識別子データ76に含まれる第1移動体ID74−1の値(例えば、「1」)を設定する。このように、本実施形態では、モーションデータ104は、各フレームにおける、移動体に含まれる各要素の位置座標を示している。そして、所定の移動体ID74と関連付けられているモーションデータ104をフレームID44順に組み合わせることによって、移動体に含まれる各要素の動きが示されることとなる。
【0043】
なお、基礎モーションデータ生成部56が、移動体ID74と関連付けられて情報処理装置2の記憶部22に予め記憶されている、移動体ID74が示す移動体の画像から、その移動体に含まれる各要素の位置座標を特定する方法を示す特定方法データを用いて、各要素の位置座標を特定するようにしてもよい。
【0044】
基礎モーションデータ取得部58は、所定の移動体の動きを示すモーションデータ104(基礎モーションデータ)を取得する。本実施形態では、基礎モーションデータ取得部58は、基礎モーションデータ生成部56により生成されるモーションデータ104を取得して、モーションデータ記憶部60に出力する。
【0045】
モーションデータ記憶部60は、基礎モーションデータ取得部58により取得されるモーションデータ104(基礎モーションデータ)を記憶する。
【0046】
規則データ記憶部62は、移動体の識別子に関連付けて、この識別子が示す移動体の動きを、所定の移動体の動きに基づいて決定する規則を示す規則データ110を複数記憶する(図11参照)。そして、本実施形態では、規則データ記憶部62は、図11に示す、第1の移動体(本実施形態では、例えば「人間」)の識別子である第1移動体ID74−1、第1移動体ID74−1が示す移動体とは異なる第2の移動体(本実施形態では、例えば「クモ」)の識別子である第2移動体ID74−2、第1移動体ID74−1が示す移動体の動きに基づいて、第2移動体ID74−2が示す移動体の動きを決定する規則を示す規則データ110と、を含む移動体対応管理データ108を複数記憶する。
【0047】
具体的には、例えば、規則データ110は、第1移動体ID74−1が示す移動体に含まれる各要素の位置座標(例えば、ノード位置座標106)に基づいて、第2移動体ID74−2が示す移動体に含まれる各要素の位置座標(例えば、ノード位置座標106)を算出する規則を示している。規則データ110が示す規則の詳細については後述する。
【0048】
規則データ選択部64は、規則データ記憶部62に記憶されている複数の規則データ110のうちから、識別子受付部50が受け付ける識別子と関連付けられる規則データ110を選択する。本実施形態では、規則データ選択部64は、規則データ記憶部62に記憶されている複数の移動体対応管理データ108のうちから、第1移動体ID74−1の値が、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第1移動体ID74−1の値(例えば、「1」)と対応しており、第2移動体ID74−2の値が、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第2移動体ID74−2の値(例えば、「2」)と対応している移動体対応管理データ108を選択する。そして、規則データ選択部64は、この移動体対応管理データ108に含まれる規則データ110を選択する。
【0049】
生成モーションデータ生成部66は、基礎モーションデータ取得部58により取得される、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第1移動体ID74−1の値(例えば、「1」)が示す移動体(例えば、人間)の動きを示すモーションデータ104(基礎モーションデータ)に、規則データ選択部64により選択される規則データ110が示す規則を適用して、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第2移動体ID74−2の値(例えば、「2」)が示す移動体(例えば、クモ)の動きを示すモーションデータ104(生成モーションデータ)を生成する。
【0050】
図12は、生成モーションデータ生成部66が、図8に示す被写体ユーザ40に含まれる各要素に規則データ110が示す規則を適用することにより生成されるクモオブジェクト112に含まれる各要素を示す図である。
【0051】
本実施形態では、クモオブジェクト112が、例えば、第1右足付け根ノード要素78−7、第2右足付け根ノード要素78−8、第3右足付け根ノード要素78−9、第4右足付け根ノード要素78−10、第1右足関節ノード要素78−11、第2右足関節ノード要素78−12、第3右足関節ノード要素78−13、第4右足関節ノード要素78−14などを含んでいる。
【0052】
また、クモオブジェクト112は、これらのノード要素78を接続するリンク要素80や、複数のリンク要素80により構成されるポリゴン要素82も含んでいる。
【0053】
そして、生成モーションデータ生成部66は、生成の基礎となるユーザ画像42に関連付けられているフレームID44、移動体ID74、各ノード要素78(本実施形態では、クモオブジェクト112に含まれるノード要素78)に対応するノードID92、ノード要素78の位置座標の値を示すノード位置座標106を含むモーションデータ104(生成モーションデータ)を生成する。ここで、本実施形態では、生成モーションデータ生成部66は、モーションデータ104に含まれる移動体ID74の値として、受付識別子データ76に含まれる第2移動体ID74−2の値(例えば、「2」)を設定する。
【0054】
そして、このような、移動体ID74の値に「2」が設定されているモーションデータ104(以下、第2モーションデータ104−2と呼ぶ。)に含まれるノード位置座標106は、移動体ID74に「1」が設定されているモーションデータ104(以下、第1モーションデータ104−1と呼ぶ。)に含まれるノード位置座標106に対して、規則データ選択部64により選択される規則データ110が示す規則を適用することにより算出される。
【0055】
規則データ110には、例えば、第1モーションデータ104−1に含まれるノード位置座標106を、第2モーションデータ104−2に含まれるノード位置座標106に設定する規則が示されていてもよい。具体的には、例えば、規則データ110には、右肩ノード要素78−1に対応する第1モーションデータ104−1に含まれるノード位置座標106を、第1右足付け根ノード要素78−7に対応する第2モーションデータ104−2に含まれるノード位置座標106として設定する規則が示されていてもよい。
【0056】
また、規則データ110には、例えば、第1モーションデータ104−1と第2モーションデータ104−2とのうちの一方に含まれる複数のノード位置座標106の組合せと、他方に含まれる1つのノード位置座標106とを対応づける規則が示されていてもよい。具体的には、例えば、規則データ110には、右肩ノード要素78−1に対応する第1モーションデータ104−1に含まれるノード位置座標106と、右腰ノード要素78−2に対応する第1モーションデータ104−1に含まれるノード位置座標106とを、1:2に内分する点の位置座標を、第2右足付け根ノード要素78−8に対応する第2モーションデータ104−2に含まれるノード位置座標106として設定する規則が示されていてもよい。このような規則が規則データ110に示されることで、被写体ユーザ40に含まれるノード要素78の数と、クモオブジェクト112に含まれるノード要素78の数が異なっていても、クモオブジェクト112に含まれる各ノード要素78のノード位置座標106を算出することができる。すなわち、基礎モーションデータに基づいて生成モーションデータを生成する際に、ノード要素78を追加したり削除したりすることが可能となる。
【0057】
また、規則データ110には、例えば、互いに異なる複数のフレームID44それぞれに対応づけられている複数の第1モーションデータ104−1に含まれるノード位置座標106の組合せに基づいて、第2モーションデータ104−2に含まれるノード位置座標106を算出する規則が示されていてもよい。具体的には、例えば、規則データ110には、フレームID44の値が「1」である、右ひじノード要素78−3に対応する第1モーションデータ104−1に含まれるノード位置座標106と、フレームID44の値が「2」である、右ひざノード要素78−5に対応する第1モーションデータ104−1に含まれるノード位置座標106とを、1:2に内分する点の位置座標を、フレームID44の値が「3」である、第2右足関節ノード要素78−12に対応する第2モーションデータ104−2のノード位置座標106として設定する規則が示されていてもよい。このような規則が規則データ110に示されることで、生成モーションデータ生成部66は、被写体ユーザ40が撮像されたタイミングのずれを活かした生成モーションデータの生成が可能となる。このことにより、後述する画像生成部68により生成される動画像(本実施形態では一連のクモ画像114(図13参照)から構成される動画像)の不自然さが軽減されることがある。
【0058】
また、規則データ110が上述に示されている規則以外の規則を示してもよい。具体的には、例えば、規則データ110には、第1の移動体(例えば、被写体ユーザ40)に含まれる要素の位置座標に対して、線形変換やアフィン変換などといった所定の数学的な変換を施して、第2の移動体(例えば、クモオブジェクト112)に含まれる要素の位置座標を算出する規則が示されていてもよい。また、例えば、規則データ110には、リンク要素80の長さを変更したり、リンク要素80を回転したり、ポリゴン要素82の大きさを変更するなどの規則が示されていてもよい。なお、規則データ110には、第2の移動体(例えば、クモオブジェクト112)に含まれるリンク要素80(あるいは、ポリゴン要素82)の位置を、第1の移動体(例えば、被写体ユーザ40)に含まれるリンク要素80(あるいは、ポリゴン要素82)に基づいて決定する規則が示されていてもよい。
【0059】
また、規則データ110には、例えば、第1モーションデータ104−1に含まれる、乱数に基づいて決定される、ノード位置座標106のうちの1つを、第2モーションデータ104−2のノード位置座標106として設定する規則が示されていてもよい。
【0060】
そして、生成モーションデータ生成部66は、このようにして生成される生成モーションデータを、モーションデータ記憶部60に出力する。
【0061】
画像生成部68は、生成モーションデータ生成部66により生成される生成モーションデータに基づいて、受付識別子データ保持部52が保持している受付識別子データ76に含まれる第2移動体ID74−2が示す移動体の画像を生成する。本実施形態では、画像生成部68は、生成された移動体の画像を情報処理装置2のディスプレイなどのUI部24に表示出力する。
【0062】
具体的には、例えば、画像生成部68は、図12に示すクモオブジェクト112に含まれる各要素の位置座標に基づいて、図13に示すクモ画像114を生成する。また、本実施形態では、画像生成部68は、移動体の画像を順次生成し、情報処理装置2のUI部24に順次出力するので、移動体が動く様子が情報処理装置2のUI部24に表示されることとなる。
【0063】
ここで、第1移動体ID74−1の値が「1」であり、第2移動体ID74−2の値が「2」である受付識別子データ76が受付識別子データ保持部52に保持されている場合において、図3に示すユーザ画像42(値が「t」であるフレームID44に関連付けられている)を取得してから、図13に示すクモ画像114が情報処理装置2のUI部24に表示出力されるまでの処理の流れを図14に示すフロー図を参照しながら説明する。
【0064】
まず、基礎モーションデータ生成部56が、ユーザ画像42に表示されている被写体ユーザ40に含まれる各ノード要素78の位置座標を特定する(S1)。そして、基礎モーションデータ生成部56が、「t」の値が設定されるフレームID44、「1」の値が設定される移動体ID74、被写体ユーザ40に含まれる各ノード要素78のノードID92、そのノード要素78のノード位置座標106を含むモーションデータ104を生成する(S2)。このとき、ユーザ画像42に表示されている被写体ユーザ40には、複数のノード要素78が含まれているので、基礎モーションデータ生成部56は、モーションデータ104を複数生成することとなる。
【0065】
そして、基礎モーションデータ取得部58が、S102に示す処理により生成されるモーションデータ104を取得して、モーションデータ記憶部60に出力する(S3)。
【0066】
そして、規則データ選択部64が、規則データ記憶部62に記憶されている移動体対応管理データ108のうちから、第1移動体ID74−1の値が「1」であり、第2移動体ID74−2の値が「2」である移動体対応管理データ108に含まれる規則データ110を選択する(S4)。
【0067】
そして、生成モーションデータ生成部66が、S3に示す処理によりモーションデータ記憶部60に出力された、移動体ID74の値が「1」であるモーションデータ104を取得する(S5)。
【0068】
そして、生成モーションデータ生成部66が、S5に示す処理により取得されたモーションデータ104に、S104に示す処理により選択される規則データ110が示す規則を適用して、クモオブジェクト112に含まれる各ノード要素78の位置座標を算出する(S6)。
【0069】
そして、生成モーションデータ生成部66が、「t」の値が設定されるフレームID44、「2」の値が設定される移動体ID74、クモオブジェクト112に含まれる各ノード要素78のノードID92、そのノード要素78のノード位置座標106を含むモーションデータ104を生成する(S7)。そして、生成モーションデータ生成部66が、S7に示す処理により生成されたモーションデータ記憶部60に出力する(S8)。
【0070】
そして、画像生成部68が、「t」の値が設定されるフレームID44、及び、「2」の値が設定される移動体ID74が含まれるモーションデータ104を取得する(S9)。
【0071】
そして、画像生成部68が、S8に示す処理により取得されるモーションデータ104に基づいて、クモ画像114を生成し、情報処理装置2のUI部24に出力する(S10)。
【0072】
上述の処理例では、各フレームについて、基礎モーションデータ取得部58が、それぞれのフレームにおける、被写体ユーザ40に含まれるノード要素78のノード位置座標106が含まれるモーションデータ104を順次取得する。そして、生成モーションデータ生成部66が、基礎モーションデータ取得部58により順次取得される各モーションデータ104に、規則データ選択部64により選択される規則データが示す規則を順次適用する。そして、生成モーションデータ生成部66が、それぞれのフレームにおける、クモオブジェクト112に含まれるノード要素78のノード位置座標106が含まれるモーションデータ104を順次生成する。そのため、上記の処理例では、ユーザ画像42の順次取得と連携した、クモ画像114の順次生成が可能となる。上述の処理例によれば、被写体ユーザ40(人間)が動く様子を携帯型ゲーム装置3の撮像部36が撮像しながら、ほぼリアルタイムで、情報処理装置2のUI部24にクモオブジェクト112が動く様子を示す動画像を表示出力することができる。
【0073】
このようにして、被写体ユーザ40のユーザ画像42に基づいて、クモ画像114を容易に生成することができる。もちろん、上述の第2移動体選択画面において、ユーザにより「カニ」や、「タコ」や、「車」や、「飛行機」と表示されている移動体名ボタン72がクリックされると、規則データ選択部64が、それぞれの移動体に対応する規則データ110を選択することとなるので、被写体ユーザ40のユーザ画像42に基づいて、例えば、かに画像や、たこ画像や、車画像や、飛行機画像などといった様々な画像を容易に生成することができる。
【0074】
なお、基礎モーションデータが、被写体ユーザ40の動く様子を示すモーションデータ104である必要はない。また、生成モーションデータが、クモオブジェクト112の動く様子を示すモーションデータ104である必要はない。すなわち、携帯型ゲーム装置3の撮像部36によりクモが撮像されるにより生成されるクモ画像114を情報処理装置2が受信してもよい。そして、基礎モーションデータ生成部56が、このクモ画像114に基づいて、クモオブジェクト112の動く様子を示すモーションデータ104(基礎モーションデータ)を生成するようにしてもよい。そして、生成モーションデータ生成部66が、クモオブジェクト112の動く様子を示すモーションデータ104に基づいて、人間が動く様子を示すモーションデータ104(生成モーションデータ)を生成するようにしても構わない。
【0075】
このように、様々な移動体に対応する規則データ110が規則データ記憶部62に記憶されている場合には、識別子受付部50が受け付ける移動体ID74に応じて、様々な移動体の動きを示すモーションデータ104に基づいて、様々な移動体の動きを示すモーションデータ104や、そのモーションデータ104に基づく画像を生成することができる。
【0076】
本実施形態によれば、ユーザから受け付ける識別子が示す移動体の画像や動画像を容易に生成することができるので、モーションデータを利用してCGを制作する際における制作者の手間を軽減することができる。
【0077】
なお、本発明は上述の実施形態に限定されるものではない。
【0078】
例えば、インターネットなどのネットワークを介して情報処理装置2と接続されているサーバ(図示せず)などに、予め所定の移動体の動く様子を示すモーションデータ104が記憶されているような場合において、基礎モーションデータ取得部58が、サーバなどに記憶されているモーションデータ104を取得して、生成モーションデータ生成部66が、このモーションデータ104を用いて新たなモーションデータ104を生成するようにしてもよい。
【0079】
また、携帯型ゲーム装置3の距離測定部37が生成する距離データを、携帯型ゲーム装置3が情報処理装置2に併せて送信するようにして、基礎モーションデータ生成部56が、距離データが示す、携帯型ゲーム装置3と被写体ユーザ40との距離を用いて、各ノード要素78の位置座標(例えば、三次元位置座標)を決定するようにしても構わない。すなわち、携帯型ゲーム装置3の通信部33が、フレームID44とユーザ画像42と距離データとを含む画像データ46を情報処理装置2に送信して、情報処理装置2の通信部23がこの画像データ46を受信するようにしてもよい。
【0080】
また、例えば、情報処理システム1が、携帯型ゲーム装置3の代わりに、撮像機能と距離測定機能を有するビデオカメラなどを含んでいても構わない。すなわち、携帯型ゲーム装置3の代わりとして、撮像機能と距離測定機能を有するビデオカメラを用いても構わない。
【0081】
また、上述の情報処理装置2と携帯型ゲーム装置3とが一つの筐体により実装されていても構わない。
【0082】
また、移動体が複数の要素を含んでいる必要はない。
【0083】
次に、このようにして生成されるモーションデータの活用例を以下に示す。
【0084】
例えば、生成されるモーションデータ104が情報処理装置2の通信部23からインターネットなどのネットワークを介して接続されているサーバ(図示せず)にアップロードされてもよい。その際に、ユーザが、モーションデータ104を使用しているゲームタイトルを示すデータ、モーションデータ104の作者を示すデータ、このモーションデータ104が生成される基礎となったモーションデータ104(基礎モーションデータ)を示すデータ、このモーションデータ104に基づいて生成されたCGのキャラクタを示すデータなどの属性データを関連付けてモーションデータ104をアップロードできるようにしてもよい。そして、サーバでは、モーションデータ104と属性データとが関連付けられて記憶されるようにしてもよい。また、モーションデータ104は、既存のスクリプト言語で記述されたデータに変換された上で、サーバに記憶されるようにしてもよい。
【0085】
ユーザが、サーバに記憶されているモーションデータ104を、例えば、ブラウザなどで閲覧できるようにしてもよい。このとき、モーションデータ104が、カテゴリに分類されて表示されるようにしてもよい。また、モーションデータ104がアイコン化されていてもよい。具体的には、例えば、モーションデータ104が、ワイヤーフレームや、キャラクタなどの動きとしてブラウザで表現されるようにしてもよい。
【0086】
また、モーションデータ104をアップロードするユーザが、このモーションデータ104の公開対象となるユーザを設定して、設定されたユーザのみがモーションデータ104を閲覧することができるようにしてもよい。
【0087】
そして、閲覧の対象であるモーションデータ104が、モーションデータ104のネットワークストアへのハイパーリンクとなっており、ユーザがそのハイパーリンクをクリックすることにより、モーションデータ104を購入することができるようになっていてもよい。
【0088】
また、新たにサーバにアップロードされるモーションデータ104を、情報処理装置2が、ネットワークを介して逐次ダウンロードして、情報処理装置2の記憶部22にキャッシュするようにしてもよい。また、例えば、ゲームのセーブデータと共に、モーションデータ104が情報処理装置2の記憶部22に記憶されていても構わない。
【0089】
また、例えば、情報処理装置2が、サーバに記憶されている、人間がダンスをしている様子や人間がゴルフのスイングをしている様子が示されているモーションデータ104と、携帯型ゲーム装置3の撮像部36で撮像される一連のユーザ画像42に基づいて生成されるモーションデータ104とを比較して、それぞれのモーションデータ104の対応度に基づく点数を算出するようにしても構わない。
【図面の簡単な説明】
【0090】
【図1】本発明の一実施形態に係る情報処理システムのハードウェア構成の一例を示すハードウェア構成図である。
【図2】本発明の一実施形態に係る携帯型ゲーム装置の一例を示す斜視図である。
【図3】ユーザ画像の一例を示す図である。
【図4】画像データのデータ構造の一例を示す図である。
【図5】本発明の一実施形態に係る情報処理装置の機能ブロック図である。
【図6】第1移動体選択画面の一例を示す図である。
【図7】受付識別子データのデータ構造の一例を示す図である。
【図8】被写体ユーザに含まれる各要素の一例を示す図である。
【図9】移動体要素データのデータ構造の一例を示す図である。
【図10】モーションデータのデータ構造の一例を示す図である。
【図11】移動体対応管理データのデータ構造の一例を示す図である。
【図12】クモオブジェクトに含まれる各要素の一例を示す図である。
【図13】クモ画像の一例を示す図である。
【図14】本発明の一実施形態に係る情報処理装置で行われる処理のフローの一例を示す図である。
【符号の説明】
【0091】
1 情報処理システム、2 情報処理装置、21 制御部、22 記憶部、23 通信部、24 ユーザインタフェース(UI)部、3 携帯型ゲーム装置、30 筐体、31 制御部、32 記憶部、33 通信部、34 表示部、35 操作部、36 撮像部、37 距離測定部、40 被写体ユーザ、42 ユーザ画像、44 フレームID、46 画像データ、50 識別子受付部、52 受付識別子データ保持部、54 移動体要素データ記憶部、56 基礎モーションデータ生成部、58 基礎モーションデータ取得部、60 モーションデータ記憶部、62 規則データ記憶部、64 規則データ選択部、66 生成モーションデータ生成部、68 画像生成部、70 移動体選択画面、72 移動体名ボタン、74 移動体ID、76 受付識別子データ、78 ノード要素、80 リンク要素、82 ポリゴン要素、84 ノードデータ、86 リンクデータ、88 ポリゴンデータ、90 移動体要素データ、92 ノードID、94 ノード名、96 リンクID、98 リンク名、100 ポリゴンID、102 ポリゴン名、104 モーションデータ、106 ノード位置座標、108 移動体対応管理データ、110 規則データ、112 クモオブジェクト、114 クモ画像。
【特許請求の範囲】
【請求項1】
所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置であって、
移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する規則データ記憶手段と、
移動体の識別子を受け付ける識別子受付手段と、
前記基礎モーションデータを取得する基礎モーションデータ取得手段と、
前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段と、
前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
前記基礎モーションデータが、各フレームにおける前記所定の移動体の位置を示しており、
前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の各フレームにおける位置に基づいて決定する規則を示す規則データを記憶し、
前記基礎モーションデータ取得手段が、前記基礎モーションデータを順次取得し、
前記生成モーションデータ生成手段が、順次取得される前記各基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を順次適用して、前記識別子受付手段が受け付ける識別子が示す移動体の各フレームにおける位置を示す前記生成モーションデータを順次生成する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の、互いに異なる複数のフレームにおける位置の組合せに基づいて決定する規則を示す規則データを記憶する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記基礎モーションデータが、前記所定の移動体に含まれる複数の要素それぞれの動きを示しており、
前記規則データ記憶手段が、複数の要素が含まれる移動体の識別子に関連付けて、当該識別子が示す移動体に含まれる複数の要素それぞれの動きを前記所定の移動体に含まれる複数の要素それぞれの動きに基づいて決定する規則を示す規則データを記憶し、
前記生成モーションデータ生成手段が、前記識別子受付手段が受け付ける識別子が示す移動体に含まれる複数の要素それぞれの動きを示す生成モーションデータを生成する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記規則データ記憶手段が、前記所定の移動体又は前記識別子が示す移動体のうちの一方に含まれる複数の要素それぞれの位置の組合せと、他方に含まれる1つの要素とを対応づける規則を示す規則データを記憶する、
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理方法であって、
移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させるステップと、
前記基礎モーションデータを取得する基礎モーションデータ取得ステップと、
移動体の識別子を受け付ける識別子受付ステップと、
前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付ステップで受け付ける識別子と関連付けられる規則データを選択する規則データ選択ステップと、
前記基礎モーションデータ取得ステップにより取得される基礎モーションデータに、前記規則データ選択ステップにより選択される規則データが示す規則を適用して、前記識別子受付ステップで受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、
移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、
前記基礎モーションデータを取得する基礎モーションデータ取得手段、
移動体の識別子を受け付ける識別子受付手段、
前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、
前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項1】
所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置であって、
移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを複数記憶する規則データ記憶手段と、
移動体の識別子を受け付ける識別子受付手段と、
前記基礎モーションデータを取得する基礎モーションデータ取得手段と、
前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段と、
前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段と、
を含むことを特徴とする情報処理装置。
【請求項2】
前記基礎モーションデータが、各フレームにおける前記所定の移動体の位置を示しており、
前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の各フレームにおける位置に基づいて決定する規則を示す規則データを記憶し、
前記基礎モーションデータ取得手段が、前記基礎モーションデータを順次取得し、
前記生成モーションデータ生成手段が、順次取得される前記各基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を順次適用して、前記識別子受付手段が受け付ける識別子が示す移動体の各フレームにおける位置を示す前記生成モーションデータを順次生成する、
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記規則データ記憶手段が、前記識別子が示す移動体の各フレームにおける位置を、前記所定の移動体の、互いに異なる複数のフレームにおける位置の組合せに基づいて決定する規則を示す規則データを記憶する、
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記基礎モーションデータが、前記所定の移動体に含まれる複数の要素それぞれの動きを示しており、
前記規則データ記憶手段が、複数の要素が含まれる移動体の識別子に関連付けて、当該識別子が示す移動体に含まれる複数の要素それぞれの動きを前記所定の移動体に含まれる複数の要素それぞれの動きに基づいて決定する規則を示す規則データを記憶し、
前記生成モーションデータ生成手段が、前記識別子受付手段が受け付ける識別子が示す移動体に含まれる複数の要素それぞれの動きを示す生成モーションデータを生成する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記規則データ記憶手段が、前記所定の移動体又は前記識別子が示す移動体のうちの一方に含まれる複数の要素それぞれの位置の組合せと、他方に含まれる1つの要素とを対応づける規則を示す規則データを記憶する、
ことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理方法であって、
移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させるステップと、
前記基礎モーションデータを取得する基礎モーションデータ取得ステップと、
移動体の識別子を受け付ける識別子受付ステップと、
前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付ステップで受け付ける識別子と関連付けられる規則データを選択する規則データ選択ステップと、
前記基礎モーションデータ取得ステップにより取得される基礎モーションデータに、前記規則データ選択ステップにより選択される規則データが示す規則を適用して、前記識別子受付ステップで受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
所定の移動体の動きを示す基礎モーションデータに基づいて、他の移動体の動きを示す生成モーションデータを生成する情報処理装置としてコンピュータを機能させるプログラムであって、
移動体の識別子に関連付けて、当該識別子が示す移動体の動きを前記所定の移動体の動きに基づいて決定する規則を示す規則データを規則データ記憶手段に複数記憶させる手段、
前記基礎モーションデータを取得する基礎モーションデータ取得手段、
移動体の識別子を受け付ける識別子受付手段、
前記規則データ記憶手段に記憶されている複数の規則データのうちから、前記識別子受付手段が受け付ける識別子と関連付けられる規則データを選択する規則データ選択手段、
前記基礎モーションデータ取得手段により取得される基礎モーションデータに、前記規則データ選択手段により選択される規則データが示す規則を適用して、前記識別子受付手段が受け付ける識別子が示す移動体の動きを示す生成モーションデータを生成する生成モーションデータ生成手段、
として前記コンピュータを機能させることを特徴とするプログラム。
【請求項8】
請求項7に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−86408(P2010−86408A)
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願番号】特願2008−256599(P2008−256599)
【出願日】平成20年10月1日(2008.10.1)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成22年4月15日(2010.4.15)
【国際特許分類】
【出願日】平成20年10月1日(2008.10.1)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]