(57)【要約】【課題】  モーションデータに従って仮想３次元空間において動作させても不自然な表示とならないよう、仮想３次元空間に配置されるモデルの骨構造データ及びモーションデータを加工すること。【解決手段】  仮想３次元空間に連接配置される人体モデルに設定された第１及び第２ボーンのなす角を零に狭めるとともに、第１及び第２ボーンが連接するよう、前記人体モデルの骨構造データに対して補正を施す骨構造データ補正部１４と、骨構造データ補正部１４による補正に応じた補正を、人体モデルのモーションデータに対して施すモーションデータ補正部１６と、を含むことを特徴とする。【選択図】        図１
2007079892.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に配置され、第１ボーン及び該第１ボーンに連接する第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するデータ加工方法であって、
前記第１及び第２ボーンのなす角が狭まるとともに、前記第１及び第２ボーンが連接するよう、前記モデルの前記骨構造データに対して補正を施す第１ステップと、
前記第１ステップにおける前記補正に応じた補正を、前記モデルの前記モーションデータに対して施す第２ステップと、
を含むことを特徴とするデータ加工方法。
【請求項２】
仮想３次元空間に配置され、第１ボーン及び該第１ボーンに連接する第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するデータ加工装置であって、
前記第１及び第２ボーンのなす角が狭まるとともに、前記第１及び第２ボーンが連接するよう、前記モデルの前記骨構造データに対して補正を施す骨構造データ補正手段と、
前記骨構造データ補正手段による前記補正に応じた補正を、前記モデルの前記モーションデータに対して施すモーションデータ補正手段と、
を含むことを特徴とするデータ加工装置。
【請求項３】
仮想３次元空間に配置され、第１ボーン及び該第１ボーンに連接する第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するためのプログラムであって、
前記第１及び第２ボーンのなす角が狭まるとともに、前記第１及び第２ボーンが連接するよう、前記モデルの前記骨構造データに対して補正を施す骨構造データ補正手段、及び
前記骨構造データ補正手段による前記補正に応じた補正を、前記モデルの前記モーションデータに対して施すモーションデータ補正手段
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間に配置され、第１ボーン及び第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するデータ加工方法、データ加工装置及びプログラムに関する。
【背景技術】
【０００２】
仮想３次元空間にポリゴンにより構成された人体モデルを配置し、この人体モデルに対してモーションデータに応じた動作を行わせる、いわゆる３次元コンピュータグラフィックス（３ＤＣＧ）の技術が、例えばゲームや映画等の分野で広く利用されている。
【０００３】
こうした技術の中には、上記人体モデルに多数のボーン（骨）を設定しておき、モーションデータに従って、これらのボーンに対して回転及び並進移動を順次施し、これにより人体モデルの動作を実現するようにしたものがある。このとき、各ボーンの周囲のポリゴン頂点を、当該ボーン及びそれに連接するボーンの動きに応じて、頂点ブレンディングにより仮想３次元空間における各位置を変化させ、ボーンとボーンのつなぎ目、すなわち関節の周囲のポリゴンが滑らかに屈曲するようにしたものもある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術を用いると、図６（ａ）に示すように、連接する２つのボーンＡ，Ｂにねじれがあると、特にモーションデータに従ってボーンＡにスケール処理が施された場合等に、同図（ｂ）に示すように、ボーンＡに対応するパーツ１００Ａのみならず、ボーンＢに対応するパーツ１００Ｂまで形状に歪みが生じる場合がある。さらに、同図（ａ）に示すようにボーンＢとボーンＣまでねじれていると、ボーンＣに対応するパーツ１００Ｃまで形状に歪みが生じる場合がある。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、モーションデータに従って仮想３次元空間において動作させても不自然な表示とならないよう、仮想３次元空間に配置されるモデルの骨構造データ及びモーションデータを加工するデータ加工方法、データ加工装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係るデータ加工方法は、仮想３次元空間に配置され、第１ボーン及び該第１ボーンに連接する第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するデータ加工方法であって、前記第１及び第２ボーンのなす角が狭まるとともに、前記第１及び第２ボーンが連接するよう、前記モデルの前記骨構造データに対して補正を施す第１ステップと、前記第１ステップにおける前記補正に応じた補正を、前記モデルの前記モーションデータに対して施す第２ステップと、を含むことを特徴とする。
【０００７】
また、本発明に係るデータ加工装置は、仮想３次元空間に配置され、第１ボーン及び該第１ボーンに連接する第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するデータ加工装置であって、前記第１及び第２ボーンのなす角が狭まるとともに、前記第１及び第２ボーンが連接するよう、前記モデルの前記骨構造データに対して補正を施す骨構造データ補正手段と、前記骨構造データ補正手段による前記補正に応じた補正を、前記モデルの前記モーションデータに対して施すモーションデータ補正手段と、を含むことを特徴とする。
【０００８】
また、本発明に係るプログラムは、仮想３次元空間に配置され、第１ボーン及び該第１ボーンに連接する第２ボーンが設定されるモデルの骨構造データ及びモーションデータを加工するためのプログラムであって、前記第１及び第２ボーンのなす角が狭まるとともに、前記第１及び第２ボーンが連接するよう、前記モデルの前記骨構造データに対して補正を施す骨構造データ補正手段、及び前記骨構造データ補正手段による前記補正に応じた補正を、前記モデルの前記モーションデータに対して施すモーションデータ補正手段としてコンピュータを機能させるためのプログラムである。
【０００９】
本発明によれば、第１ボーン及び第２ボーンのなす角が、例えば０度等に狭められ、かつ両者が連接されるので、モーションデータに従ってスケール処理その他の処理を施しても、不自然なモデルの表示とならないようにできる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００１１】
図１は、本発明の実施形態に係るデータ加工装置の構成を示す図である。同図に示すデータ加工装置１０は、パーソナルコンピュータ等の公知のコンピュータに本発明の実施形態に係るプログラムを実行させることにより実現されるものであり、データ記憶部１２、骨構造データ補正部１４及びモーションデータ補正部１６を含んでいる。データ記憶部１２は、ハードディスク記憶装置その他のデータ記憶手段により実現されるものであり、ここでは仮想３次元空間に配置される人体モデルの骨構造データを記憶する骨構造データ記憶部１２ａ、同人体モデルのモーションデータを記憶するモーションデータ記憶部１２ｂを含んでいる。骨構造データは、人体モデルの骨構造を示すデータであり、人体モデルに設定された各ボーンについて、その親子関係、並びに位置情報及び回転情報を含んでいる。モーションデータは、人体モデルの骨構造の動きを示すデータであり、時系列に、各ボーンの位置情報及び回転情報を記したものである。
【００１２】
骨構造データ補正部１４及びモーションデータ補正部１６は、ＣＰＵ及び該ＣＰＵにより実行されるプログラムを中心として構成されている。このうち、骨構造データ補正部１４は、骨構造データ記憶部１２ａから骨構造データを読み出し、連結（連接）されたボーンのペアのなす角を零となるよう、そこに含まれる回転情報を補正するとともに、一方の始点が他方の終点に一致するよう、そこに含まれる位置情報を補正する。そして、補正結果（補正内容）をモーションデータ補正部１６に渡す。モーションデータ補正部１６は、こうして渡された補正結果に基づき、モーションデータ記憶部１２ｂに記憶されているモーションデータを補正する。具体的には、各ボーンについて、骨構造データ補正部１４による補正前後の回転情報及び位置情報を取得し、補正後の回転情報を補正前の回転情報に変換する（戻す）回転情報、及び補正後の位置情報を補正前の位置情報に変換する（戻す）位置情報を算出する。そして、それらの回転情報及び位置情報を用いて、モーションデータに含まれる当該ボーンに関する位置情報及び回転情報を変換する。これにより、モーションデータを用いて各ボーンを仮想３次元空間において動かした場合に、本実施形態の処理前後で変わらないようにできる。
【００１３】
図２は、骨構造データ補正部１４による骨構造データ補正処理を示すフロー図である。同図に示すように、この処理では、まず人体モデルに設定された、連接配置されたボーンのペア、すなわち関節を選択する（Ｓ１０１）。ここでは、関節は、人体モデルの中心部（腰位置等）に設定されたルート位置に近いものから順に選択する。次に、関節の上流側（ルート位置側）のボーンの回転情報を補正して、関節の角度が零になるようにする（Ｓ１０２）。さらに、Ｓ１０２の補正の前後における関節の角度を算出し（Ｓ１０３）、その角度に基づいて、下流側のボーンの位置情報を補正する（Ｓ１０４）。これにより、上流側のボーンの終点と下流側のボーンの始点とが一致するようにする。そして、以上の処理を全ての関節について実行する（Ｓ１０５）。図３は、骨構造データ補正処理の際のボーンの位置情報及び姿勢情報の変化を示す図である。同図に示すように、骨構造データ補正処理では、まず上流側ボーンＡと下流側ボーンＢからなる関節を特定して、次に、上流側ボーンＡの回転情報を補正して上流側ボーンＡ’とし、上流側ボーンＡ’と下流側ボーンＢとのなす角θを零にする。そして、この補正（ボーンＡの回転）の内容に基づいて、下流側ボーンＢを補正して下流側ボーンＢ’とし、上流側ボーンＡ’の終点と下流側ボーンＢ’の始点とが一致するようにする。以上のようにすれば、各関節において、２つのボーンがまっすぐに連結されることとなる。
【００１４】
図４は、モーションデータ補正部１６のモーションデータ補正処理を示すフロー図である。同図に示すように、この処理では、人体モデルに設定された関節を選択する（Ｓ２０１）。そして、当該関節により接続される各ボーンについて、骨構造データ補正処理による補正前後の回転情報、補正前後の位置情報を取得し、補正後の回転情報を補正前の回転情報に戻すための回転情報、及び補正後の位置情報を補正前の位置情報に戻すための位置情報を算出する（Ｓ２０２，Ｓ２０３）。そして、モーションデータに含まれる、これらのボーンに関連する位置情報に対して、Ｓ２０３で算出された位置情報を適用するとともに、それらボーンに関連する回転情報に対して、Ｓ２０２で算出された回転情報を適用する（Ｓ２０４）。そして、以上の処理を、人体モデルを構成する全ボーンについて実行する（Ｓ２０５）。
【００１５】
図５は、本実施形態の効果を示す図である。同図（ａ）に示すように、本実施形態によれば各ボーンは捻れなく一直線に並び、それらは端点で接続される。そして、このボーン群に対して、モーションデータ補正部１６による補正後のモーションデータを用いて、仮想３次元空間中で運動を行わせると、同図（ｂ）に示すように、各ボーンに対応するパーツの歪みが生じない。このように、本実施形態によれば、仮想３次元空間に配置される人体モデルの骨構造データに補正を加えるとともに、それに対応する補正をモーションデータにも加えることにより、モーションデータに従って仮想３次元空間において動作させても不自然な表示とならないようにできる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るデータ加工装置の機能ブロック図である。
【図２】骨構造データ補正処理を示すフロー図である。
【図３】骨構造データ補正処理の説明図である。
【図４】モーションデータ補正処理を示すフロー図である。
【図５】本発明の実施形態の効果を説明する図である。
【図６】ボーン間の捻れに起因する問題を説明する図である。
【符号の説明】
【００１７】
１０  データ加工装置、１２  データ記憶部、１２ａ  骨構造データ記憶部、１２ｂ  モーションデータ記憶部、１４  骨構造データ補正部、１６  モーションデータ補正部。
【図１】
2007079892.tif 000003
【図２】
2007079892.tif 000004
【図３】
2007079892.tif 000005
【図４】
2007079892.tif 000006
【図５】
2007079892.tif 000007
【図６】
2007079892.tif 000008