(57)【要約】  衣類のパーツが人体モデルの周囲に配置されると、人体モデルとパーツとの干渉を検出し、干渉するパーツを人体モデルから遠ざけて干渉を解消する。接合する２つのパーツの中間に接合線を配置し、パーツの端部を接合線へ向けて移動させる。この間にパーツ端部が人体モデルと衝突するとパーツを反射させる。移動後のパーツに応じて接合線を移動し、パーツの端部が接触するまで移動を繰り返す。移動後に、衣類内の応力、重力、人体モデルとの干渉を考慮して、衣類の着装状態をシミュレーションする。パーツを人体モデルの周囲に簡単に配置でき、かつ自然な状態でパーツを接合できる。
2009031491.tif 000002
【特許請求の範囲】
【請求項１】
人体モデルの周囲に配置した衣類の仮想的なパーツを接合し、接合後の仮想的な衣類に対して人体モデルへの着装状態をシミュレーションする装置において、
接合すべき複数のパーツの端部間の中間に仮想的な接合部を発生させるための手段と、
前記仮想的な接合部へ向けてかつ人体モデルとの干渉を回避するように前記複数のパーツの端部を移動させるための手段と、
前記複数のパーツの他の部分を前記端部の位置に応じて移動させるための手段とを設けて、
前記複数のパーツが互いに接触するまで、仮想的な接合部の発生と端部の移動とを繰り返すようにしたことを特徴とする、着装シミュレーション装置。
【請求項２】
人体モデルとパーツとの干渉を検出するための手段と、
前記端部の移動前に、人体モデルと干渉するパーツを、干渉が解消される位置まで、人体モデルから遠ざかるように移動させるための手段、とをさらに設けたことを特徴とする、請求項１の着装シミュレーション装置。
【請求項３】
前記各パーツは複数のポリゴンで構成されると共に、
複数のパーツを接合した後に、ポリゴンをより細かくするための手段をさらに設けたことを特徴とする、請求項１または２の着装シミュレーション装置。
【請求項４】
人体モデルの周囲に配置した衣類の仮想的なパーツを接合し、接合後の仮想的な衣類に対して人体モデルへの着装状態をシミュレーションする方法において、
接合すべき複数のパーツの端部間の中間に仮想的な接合部を発生させ、
前記仮想的な接合部へ向けてかつ人体モデルとの干渉を回避するように前記複数のパーツの端部を移動させ、
前記複数のパーツの他の部分を前記端部の位置に応じて移動させ、
前記複数のパーツが互いに接触するまで、仮想的な接合部の発生と端部の移動とを繰り返すようにしたことを特徴とする、着装シミュレーション方法。
【請求項５】
デジタル情報処理装置により実行されて、人体モデルの周囲に配置した衣類の仮想的なパーツを接合し、接合後の仮想的な衣類に対して人体モデルへの着装状態をシミュレーションするプログラムにおいて、
接合すべき複数のパーツの端部間の中間に仮想的な接合部を発生させるための命令と、
前記仮想的な接合部へ向けてかつ人体モデルとの干渉を回避するように前記複数のパーツの端部を移動させるための命令と、
前記複数のパーツの他の部分を前記端部の位置に応じて移動させるための命令と、
前記複数のパーツが互いに接触するまで、仮想的な接合部の発生と端部の移動とを繰り返すための命令、とを設けたことを特徴とする、着装シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は着装シミュレーションに関し、特にパーツを人体モデルの周囲で接合するまでの処理に関する。
【背景技術】
【０００２】
特許文献１，２（特開平１０−１３４０９５，特開２０００−３３８３）は、人体モデルへの衣類の着装シミュレーションを示している。衣類は複数のパーツからなり、人体モデルに衣類が接触すると、人体モデルからの反発力で衣類が移動する。シミュレーションではパーツを人体モデルの周囲に配置し、パーツ間の接合関係を指定して、パーツを仮想的に縫い合わせる。パーツを縫い合わせるなどのことを、この明細書では接合という。次いで衣類に働く様々な力を考慮して、シミュレーションする。衣類に働く力には、衣類の変形に伴う応力、人体モデルからの反発力、衣類へ働く重力、衣類が変形する過程での衣類同士の摩擦力は人体モデルとの摩擦力などがある。【０００３】
パーツを人体モデルの周囲に近接して配置するのは困難である。しかしパーツの初期配置が人体モデルから遠いと、仮想的な接合までの処理時間が長くなる。また接合時のパーツの配置が不自然であると、シミュレーションでの衣類のドレープなどが不自然になることが判明した。これは例えば、ドレープは衣類に働く重力や摩擦力などの弱い力により生じるので、接合時の初期的な衣類の形状が不自然であると、ドレープが不自然になるためと考えられる。またドレープには衣類が重力で垂れ下がることが関係しており、パーツを接合した際に、衣類がそこからやや垂れ下がることが可能な形状でないと、ドレープが不自然になるものと思われる。そこで人体モデルの周囲にパーツを簡単に配置でき、かつ接合までの処理を容易にすることにより、シミュレーションに要する時間を短縮する必要がある。また接合開始時に、パーツが人体モデルの周囲で自然な形状をしているようにし、ドレープなどをシミュレーションで表現できるようにする必要がある。
【特許文献１】特開平１０−１３４０９５
【特許文献２】特開２０００−３３８３
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明の課題は、パーツの仮想的な接合までの段階を短時間で実行できるようにし、かつ接合時の衣類が自然な形状をしているようにすることにある。
【課題を解決するための手段】
【０００５】
この発明は、人体モデルの周囲に配置した衣類の仮想的なパーツを接合し、接合後の仮想的な衣類に対して人体モデルへの着装状態をシミュレーションする装置において、
接合すべき複数のパーツの端部間の中間に仮想的な接合部を発生させるための手段と、
前記仮想的な接合部へ向けてかつ人体モデルとの干渉を回避するように前記複数のパーツの端部を移動させるための手段と、
前記複数のパーツの他の部分を前記端部の位置に応じて移動させるための手段とを設けて、
前記複数のパーツが互いに接触するまで、仮想的な接合部の発生と端部の移動とを繰り返すようにしたことを特徴とする。【０００６】
この発明はまた、人体モデルの周囲に配置した衣類の仮想的なパーツを接合し、接合後の仮想的な衣類に対して人体モデルへの着装状態をシミュレーションする方法において、
接合すべき複数のパーツの端部間の中間に仮想的な接合部を発生させ、
前記仮想的な接合部へ向けてかつ人体モデルとの干渉を回避するように前記複数のパーツの端部を移動させ、
前記複数のパーツの他の部分を前記端部の位置に応じて移動させ、
前記複数のパーツが互いに接触するまで、仮想的な接合部の発生と端部の移動とを繰り返すようにしたことを特徴とする。【０００７】
この発明は更に、デジタル情報処理装置により実行されて、人体モデルの周囲に配置した衣類の仮想的なパーツを接合し、接合後の仮想的な衣類に対して人体モデルへの着装状態をシミュレーションするプログラムにおいて、
接合すべき複数のパーツの端部間の中間に仮想的な接合部を発生させるための命令と、
前記仮想的な接合部へ向けてかつ人体モデルとの干渉を回避するように前記複数のパーツの端部を移動させるための命令と、
前記複数のパーツの他の部分を前記端部の位置に応じて移動させるための命令と、
前記複数のパーツが互いに接触するまで、仮想的な接合部の発生と端部の移動とを繰り返すための命令、とを設けたことを特徴とする。【０００８】
好ましくは、人体モデルとパーツとの干渉を検出し、前記端部の移動前に、人体モデルと干渉するパーツを、干渉が解消される位置まで、人体モデルから遠ざかるように移動させる。
また好ましくは、前記各パーツは複数のポリゴンで構成されると共に、複数のパーツを接合した後に、ポリゴンをより細かくするための手段をさらに設ける。【０００９】
この明細書において、シミュレーション装置に関する記載はシミュレーション方法やシミュレーションプログラムにもそのまま当てはまり、シミュレーション方法に関する記載はシミュレーション装置にもそのまま当てはまる。対象とする衣類は、織物でも編物でも良い。
【発明の効果】
【００１０】
この発明では、人体モデルの表面付近でかつ比較的自然な形状でパーツを接合できる。そしてこの状態から着装状態をシミュレーションすると、ドレープなどを表現したリアルなシミュレーションができる。【００１１】
パーツを初期的に配置した際に、パーツが人体モデルと干渉すると、パーツを人体モデルの外部へ出すようにすると、パーツを人体モデルの付近に容易に配置できる。従ってパーツの配置が容易で、シミュレーションの開始までの処理も簡単にできる。
パーツを接合するまでの段階は粗いポリゴンを用い、接合後のシミュレーションの段階では精細なポリゴンを用いると、パーツの接合までの処理時間を更に短縮できる。
【図面の簡単な説明】
【００１２】
【図１】実施例の着装シミュレーション装置のブロック図
【図２】実施例の着装シミュレーション方法を示すフローチャート
【図３】実施例の着装シミュレーションプログラムのブロック図
【図４】実施例での初期移動を模式的に示す図
【図５】実施例での接合線へ向けての移動を模式的に示す図
【図６】実施例での着装シミュレーションの例を示す図
【図７】実施例での着装シミュレーションの他の例を示す図
【図８】図７の初期状態を拡大して示す図
【図９】図８の次の段階を示す図
【図１０】図９の次の段階を示す図
【図１１】図１０の次の段階を示す図
【図１２】図１１の次の段階を示す図
【図１３】図１２の次の段階を示す図
【符号の説明】
【００１３】
２  着装シミュレーション装置    ４  マニュアル入力    ６  画像入出力
８  カラーモニタ    １０  カラープリンタ    １２  メモリ
１４  衝突検出部    １６  移動部    １８  初期移動部    ２０  接合線処理部
２２  メインシミュレーションユニット    ２４  ポリゴン管理部
３１  接合線処理命令    ３２  衝突検出命令    ３３  初期移動命令
３４  移動命令    ３５  メインシミュレーション命令    ３６  ポリゴン管理命令
４０  人体モデル    ４１  軸    ４２〜４４  パーツ    ４５，４６  接合線
４７  パーツ
【発明を実施するための最良の形態】
【００１４】
以下に本発明を実施するための最適実施例を示す。
【実施例】
【００１５】
図１〜図１３に、実施例の着装シミュレーションを示す。図１において、２は着装シミュレーション装置で、４はマニュアル入力であり、キーボードやマウス、トラックボール、スタイラスなどである。６は画像入出力で、画像データを入出力し、ディスクドライブやネットワークインターフェースなどである。８はカラーモニタ、１０はカラープリンタである。１２はメモリで、人体モデルの３次元データや衣類の各パーツのポリゴンデータ並びに複数のポリゴンで構成される衣類に対して、レンダリングを行うためのデータ、及びシミュレーション結果の３Ｄ画像データなどを記憶する。レンダリングデータには、ポリゴンにマッピングするためのテクスチャーデータや、シェーディングのデータなどが含まれている。【００１６】
１４は衝突検出部で、人体モデルと衣類との衝突を検出する。移動部１６は衣類の各パーツの端部を接合線へ向けて移動させると共に、接合の過程で人体モデルに衝突すると、衝突検出部１４で検出する。接合線はパーツ間の仮想的な接合部を表現した線で、線の代わりに接合を行う点の列を用いても良い。そして衝突を検出した場合、移動部１６は衣類の各パーツを人体モデル表面で反射させるように移動させて、パーツの端部が接合線で互いに接触するまで移動させる。初期移動部１８はパーツを人体モデルの周囲に初期的に配置した際に、人体モデルとパーツとが干渉しないように、パーツを人体モデルの外部へ移動させる。衣類の各パーツは、マニュアル入力４などにより人体モデルの周囲に配置される。この時パーツが人体モデルに接触あるいはめり込んでいると、人体モデルとパーツとが干渉する。このような干渉を衝突検出部１４で検出し、初期移動部１８で干渉するパーツを人体モデルから遠ざけて干渉を回避する。【００１７】
接合線処理部２０は接合線を発生させると共に、パーツの移動に伴って接合線を移動させる。例えば２つのパーツを接合する場合、接合すべき２つのパーツの端部間の中間、例えば２つのパーツの端部からの距離が等しい点を結んだ線を接合線とする。そして移動部１６によりパーツが移動すると、これに応じて接合線を移動あるいは再発生させる。この間に、パーツ、特にパーツ端部が人体モデルに衝突すると、パーツを人体モデル表面で反射させる。なお接合線が人体モデルの内部にある場合、接合線を人体モデルの外部に出し、パーツを接合線へ向けて移動させる過程での反射を不要にしてもよい。この場合例えば、接合線とパーツの端部とを結ぶ線が人体モデルと干渉しない位置まで、２つの端部を結ぶ線分に垂直に接合線を移動させる。【００１８】
メインシミュレーションユニット２２は、パーツを接合した後の仮想的な衣類に対し、人体モデルへの着装状態をシミュレーションする。シミュレーションでは例えば、パーツのポリゴン間の位置関係に応じて発生する応力と、ポリゴンに働く重力、並びに人体モデルとの干渉により生じる反発力や、人体モデルと衣類もしくは衣類相互の摩擦力、などを考慮してシミュレーションを行う。このシミュレーション自体は前記の特許文献１，２により公知である。ポリゴン管理部２４は衣類の各パーツに対してポリゴンを発生させ、接合までの段階では粗いポリゴンを用い、メインシミュレーションユニット２２でのシミュレーションの段階では精細なポリゴンを用い、パーツの接合までの処理を短時間で実行でき、かつ正確なシミュレーションができるようにする。【００１９】
図２に、シミュレーションのアルゴリズムを示す。人体モデルに対して衣類の各パーツを初期的に配置し、接合関係を指定する。なお人体モデルに既に下着などの他の衣類を着装させて、その上から重ね着するように衣類の各パーツを配置してもよい。パーツは人体モデルと接触するように、あるいは人体モデルにめり込むように配置してもよく、パーツと人体モデルとの干渉を検出し、干渉のあるパーツを人体モデルから遠ざける。ここでパーツの変形を少なくするため、干渉のある場所のみでなく、パーツを全体として人体モデルから遠ざけることが好ましい。【００２０】
次にパーツの端部と端部とを接合するため、これらの中間に接合線を発生させる。そしてパーツの端部を接合線へ向けて移動させる。この時パーツの端部が人体モデルと干渉すると、パーツを人体モデルから反射させる。またパーツの端部の移動に伴って、パーツの他の部分も同様に移動させる。そしてパーツの端部が接合可能な距離まで接近すると、パーツの移動を終了し、パーツを互いに接合する。そしてポリゴンをより精細に分割し、メインシミュレーションを実行する。【００２１】
図３に、シミュレーションプログラムを示す。着装シミュレーション装置２はコンピュータからなり、シミュレーションプログラムはシミュレーション装置２に記憶され以下の命令を実行させる。またシミュレーションプログラムは、ＣＤＲＯＭなどの記憶媒体や搬送波などによりシミュレーション装置２へ供給する。接合線処理命令３１は、接合すべきパーツの端部と端部との間に接合線を発生させ、パーツの端部が移動するとそれに伴って接合線を移動させる。衝突検出命令３２は人体モデルとパーツとの衝突を検出し、ここに衝突は単に接触することのみならず、パーツが人体モデルの内側にめり込んでいることも含むものとする。初期移動命令３３は、人体モデルと干渉しているパーツを人体モデルの外側へ初期的に移動させる。移動命令３４は、接合線へ向けてパーツを移動させ、この間に人体モデルと衝突すると、パーツを人体モデル表面で反射させる。メインシミュレーション命令３５は、接合位置まで移動して仮想的に接合された衣類に対して着装状態のシミュレーションを実行する。ポリゴン管理命令３６は、衣類の各パーツを複数のポリゴンに分割し、ポリゴンのサイズは接合までの段階ではメインシミュレーションよりも粗いものとする。【００２２】
図４に初期移動の例を示し、４０は人体モデルで例えば腕とし、４１は人体モデルの軸でここでは腕の軸である。パーツ４２が人体モデル４０にめり込んでいることを検出すると、パーツ４２を全体として軸４１から遠ざかる方向に平行移動し、例えばパーツ４３の位置まで移動させる。【００２３】
図５は接合線を利用したパーツの移動を示し、人体モデル４０の左右両側にパーツ４３，４４があるものとする。パーツ４３，４４の例えば上端を互いに接合するので、それらの中間に接合線４５がある。接合線４５に向けてパーツ４３，４４の上端を移動させると、人体モデルと干渉するため、図５のように反射させる。なおここで人体モデルの表面に対し、パーツ端部の入射角と反射角とを等しくしているが、必ずしもその必要はない。パーツ４３，４４の端部を移動させると、他のポリゴンもそれに追随して移動させる。例えばパーツ４３，４４の端部付近のポリゴンを固定し、他のポリゴンがポリゴン間の弾性力により端部のポリゴンへ引き寄せられるものとして、移動させる。【００２４】
次いで移動後の端部に対して、接合線４５を接合線４６へと移動させる。そして接合線４６へ向けて左右のパーツを移動させる。この処理を繰り返すとパーツ４７のように、人体モデル４０の周囲でパーツを互いに接合できる。なおパーツ４３，４４の下端の接合は、上端の接合と同時に行ってもよく、上端側を接合した後に下端側を接合してもよい。パーツには、ダーツのようにパーツ内での切れ目もある。そこでパーツ内の接合をパーツ間の接合よりも優先して実行してもよい。【００２５】
実施例では、パーツの端部と端部とを結ぶ線の中間に接合線を発生させ、パーツを接合線へ向けて移動させ、パーツが人体モデルと衝突するとパーツを反射させた。反射に代えて、パーツ端部の移動方向をパーツと接触しないように変更してもよい。例えば図５の場合、接合線４５へ向けて水平にパーツ端部を移動させるのではなく、パーツ４３，４４の端部から見た人体モデル４０への接線方向へ端部を移動させてもよい。【００２６】
図６に、パーツの初期配置から接合までの過程を示す。図の左上では、パーツと人体モデルとが胸の部分で干渉しており、前身頃に相当するパーツを人体モデルから遠ざけ、次に各パーツを接合線へ向けて移動させることにより、図６の右下の状態を得る。この状態は、衣類に緩やかに腕や体を通した状態に近い。そしてここからシミュレーションを開始すると、人体モデルとの摩擦や衣類に働く重力などの僅かな力によって生じるドレープを正確に表現できる。【００２７】
図７〜図１３に初期配置の例を示し、図７の処理を拡大して図８〜図１３に示す。図８の段階で、パーツは人体の外側に出されているが、接合線の一部が人体モデルの内側にある。接合線へ向けてパーツの各端部を移動させ、接合線が人体モデルの外側にあるときにはそのまま、人体モデルの内側にあるときには人体モデルに沿ってパーツが反射するように移動させる。このようにして図１３で接合が完了する。なお図８〜図１３で、人体モデルやパーツ表面の三角形はポリゴンを示している。【００２８】
実施例では以下の効果が得られる。
(1)  パーツの初期配置では、パーツが人体モデルにめり込んでもよい。このためパーツを人体モデルの付近に、しかも簡単に配置できる。人体モデルにめり込んだパーツは、人体モデルから干渉しない位置へと移動する。
(2)  パーツを接合線へ向けて移動させ、この間に人体モデルと干渉する場合、パーツ端部の移動方向を修正することにより、自然に人体モデルの表面付近で接合できる。
(3)  接合まではパーツのポリゴンを粗くし、ワンステップでの移動距離をメインシミュレーションに比べて大きくすることにより、短時間で接合できる。
(4)  (1)〜(3)により、メインシミュレーションの開始までの処理時間を短縮できる。
(5)  パーツを接合した段階で、衣類は比較的自然な形状をしており、癖がない。ここからメインシミュレーションを実行すると、ドレープなどが自然に生じて、リアルなシミュレーションができる。発明者らの経験では、パーツの初期移動を行わず、人体モデルの内部でもパーツを接合して、接合後に人体モデルの外へ出す処理をした場合、ドレープを表現できないことが多かった。
【図１】
2009031491.tif 000003
【図２】
2009031491.tif 000004
【図３】
2009031491.tif 000005
【図４】
2009031491.tif 000006
【図５】
2009031491.tif 000007
【図６】
2009031491.tif 000008
【図７】
2009031491.tif 000009
【図８】
2009031491.tif 000010
【図９】
2009031491.tif 000011
【図１０】
2009031491.tif 000012
【図１１】
2009031491.tif 000013
【図１２】
2009031491.tif 000014
【図１３】
2009031491.tif 000015
【国際調査報告】
2009031491.tif 000016
2009031491.tif 000017