Visual Computing / グラフィックスと CAD 合同シンポジウム 2003, 北九州国際会議場, 2003 年 6 月.

実時間衣服シミュレーションによる仮想試着システムの実現
Real-Time Cloth Simulation and Its Application to a Virtual Try-On System

1

尾下 真樹
Masaki OSHITA

牧之内 顕文Akifumi MAKINOUCHI

九州工業大学 情報工学部 制御システム工学科

九州大学 システム情報科学研究院 知能システム学部門

Kyushu Institute of Technology

Kyushu University

E-mail: oshita@ces.kyutech.ac.jp

E-mail: akifumi@is.kyushu-u.ac.jp

はじめに(a)

本論文では、衣服の自然なアニメーションをリアルタ(b)イムに生成するための手法を提案する。本手法では、粒子モデルによる動力学シミュレーションと幾何的な曲面制御手法を組み合わせることによって、衣服の自然なアニメーションを高速に生成する（図 1）。本手法では、まず、最小限の粒子のみを用いて動力学シミュレーションを行い、衣服のおおまかな動きを計算する。その後、計算された粒子の位置をもとに、幾何学的な曲面生成手法を用いることで、最終的な衣服の表面形状を生成する。
この時、衣服の下の人体形状に合わせて衣服の表面形状を変形する。また、衣服の表面に働く力を分析すること

図 1: 提案手法の具体例。(a)少数の粒子モデルによるシミュレーによって衣服のしわなどの細部の形状変化を計算する。

ション。(b)最終的に生成された衣服の表面形状。

このような幾何学的な処理を適用することによって、衣スクリーン服の自然な表面形状を高速に生成することができる。

利用者はあたかも鏡を見ているかのような感覚で、任意の衣服の試着を楽しむことができる。

利用者

また、実時間衣服シミュレーションのアプリケーションとして、仮想試着システムのプロトタイプを開発した。
仮想試着システムは、利用者の動きをモーションキャプ
モーションキャプチャ
機器による利用者の動きの取り込みチャ機器で取り込み、リアルタイムに衣服シミュレーションを行って利用者の前のスクリーンに映し出すことで、あたかも利用者が仮想空間内でさまざまな衣服を試着す

実時間衣服シミュレーション
人体モデルるような体験を可能にするシステムである（図 2）。

2シミュレーションの結果を利用者に提示

衣服モデル

図 2: 仮想試着システムのイメージ図

関連研究

ントマップを適用することで、衣服のしわを表現する手粗い幾何形状モデルから詳細な幾何形状モデルを生成法を提案した。我々の先行研究[9]では、粗い衣服モデルする細分割技術はモデリングなどで広く使われている。

から詳細な衣服モデルを生成する際に、粗い衣服モデルこれらの技術を適用することによって、動力学シミュレの縮んでいる辺上にふくらみを追加する手法を提案した。

ーションを用いて計算された粗い衣服モデルから、なめKang ら[8]は、粗い衣服モデルのシミュレーション結果らかな衣服モデルを生成することができる。しかし、シに追従するように詳細な衣服モデルの形状を強制的に修ミュレーションに用いるもとのモデルが比較的粗い場合、正し、その後弾性力のみを考慮して詳細な衣服モデルの単純になめらかな曲面を生成するだけでは衣服のしわな簡易的なシミュレーションを行う手法を提案した。

どを再現することができないため、何らかの衣服に特化

Cordier ら[4]は、衣服のそでなど体に接している範囲をした曲面生成手法が必要になると考えられる。

円柱としてモデル化し、ゆれなどをシミュレートする手近年、本研究と同様、動力学シミュレーションと幾何法を提案していた。しかし、これら既存の手法は、曲面学的な処理を組み合わせることによって高速に衣服シミ生成時に人体モデルとの接触を考慮しておらず、生成さュレーションを行うことを目標とした手法がいくつか提れるしわの形状も限定されている。本手法では、このよ案されている。Hadap ら[6]は、あらかじめしわのデーうな問題を解決し、衣服と体が接触している範囲も扱うタをディスプレイスメントマップとして用意しておき、ことができ、また、衣服の表面に働く力に応じて細かい粗い衣服モデルの圧縮の程度に応じてディスプレイスメしわを生成するための近似モデルを提案している。

-1-

3

少数粒子による動力学シミュレーション

効果的に衣服のしわが生成される。しかし、衣服の長さ

本節では、少数の粒子による動力学シミュレーションが延びてしまっている場合は、このような方法では対応手法について述べる。本論文で提案する衣服の表面形状できない。そこで本手法の弾性力のモデルでは２種類のの生成手法は、少数の粒子を用いてシミュレートされたkelastic を用い、２つの粒子間の距離がもとの長さよりも離粗い衣服モデルの形状をもとに最終的な衣服の表面形状れている場合は大きな kelastic_compress を、もとの長さよりも短を生成する。従って、基本的には、少数粒子の動力学シい場合は小さな kelastic_stretch を使用する。

ミュレーションにはどのような手法を用いても構わない。

上記の弾性力に加えて、屈折力、摩擦力、重力、空気しかし、少数の粒子モデルを使って高速にシミュレーシ抵抗力などの力のモデルを導入した。これらについては、ョンを行い、また、次に適用する表面形状の生成処理と基本的に既存の Explicit 積分ベースの力のモデルと同様うまく協調するためにはいくつかの工夫が必要となる。

であるため詳しい数式は省略する。

以下、本研究で行った、それらの内容について述べる。
3.3
3.1

数値積分手法

衝突判定とめり込み回避

本手法では、少数粒子によるシミュレーションでは、粒子ベースの動力学シミュレーションを計算するため頂点のめり込み回避だけを行い、辺のめり込み回避は行の数値積分のための主な解法として、Explicit 手法とわない。粗いモデルで無理にめり込み回避は行おうとす

Implicit 手法の２種類がある。Implicit 手法は、Explicit

ると、もとの粗いメッシュの影響をうけて最終的に生成手法に比べてシミュレーションの刻み幅を大きくできるされる形状が逆に不自然になってしまうためである。正ため高速に計算を行うことができるというメリットがあ確なめり込み回避処理は、次のステップである衣服の表り、Baraff ら[1]により提案されて以来、近年広く使われ面形状の生成処理で行われる。ている。しかし、本手法で用いるような、めり込み回避

衣服と人体モデルの衝突判定を高速化するため、五十や人体動作への追従処理などの強制的に粒子の位置を修

嵐ら[7]と同様のアプローチをとり、粗い衣服モデルの各正する制約を扱いづらいという問題がある。そこで、本粒子ごとに人体モデルを構成する頂点のうち最も近い頂手法では、Explicit 手法のひとつである、4 次の Runge-点の情報を持たせる。この最近頂点の情報は、毎回衝突Kutta 法を使用することとした。一般に、ごく少数の粒判定の前に、前回のステップの最近頂点の周囲の頂点を子のみを扱う場合であれば、Explicit 手法であっても探索することによって更新される。衝突判定時にはこのImplicit 手法と同じ程度に高速に処理することができる。

最近頂点の情報を参照し、人体モデルを構成する面のうち最近頂点を含む全ての面の内側に衣服の頂点が存在す3.2力のモデルるかを判定することによって、衝突判定を行う。

粒子ベースの動力学シミュレーションでは、粒子に働衝突判定の結果、衣服モデルの粒子が人体モデルにめく各種の力をモデル化する必要がある。衣服シミュレー

り込んでいる場合は、その粒子の位置を人体モデル上のションにおいてとりわけ重要とされるのが衣服の弾性力点に強制的に移動することによってめり込みを回避する。

である。弾性力は２つの隣接する粒子の間に働く一種の3.4ばねのような力としてモデル化される。
fij = kelastic(p − p ) p − p − L ,ijLij(ijij)

人体の動作への追従処理

一般に、実時間シミュレーションでは刻み幅を大きく(1)する必要があり、必然的に人体モデルのフレーム間での動きも大きくなるため、そのままでは人体モデルが衣服を突き抜けてしまう現象が生じる。

ここで、pi , p j は隣接する２つの粒子の位置であり、Lij は安定状態での両者の距離である。また、 kelastic はそのパラ

このような問題を防ぐため、シミュレーションを行うメタである。一般に、衣服の弾性力は非常に強い、衣服前に人体モデルの姿勢変化に応じて粒子の位置を強制的の長さはほとんど変化しない性質がある。このような衣に修正する。ここでも、衝突判定処理に使用した人体モ服の特性を実現するためには、弾性力のパラメタ kelastic はデル上の最近点の情報を使用する。前ステップのシミュ大きな値を設定する必要がある。もし、 kelastic が十分大きレーション終了時に、衣服の各粒子ごとに、人体モデルくなければ、衣服はゴムのように伸び縮みしてしまい、の最近面からの相対座標を記録しておく。そして、次の非常に不自然な印象を与えてしまう。

ステップのシミュレーションの前に、与えられた人体モ

しかし、我々の手法では、粗い衣服モデルのシミュレ

デルの変形に応じて、最近面からの相対座標が保存されーションにおいて縮んでしまった範囲にしわを追加するるように、衣服の各粒子の距離を強制的に修正する。

ことで、衣服の長さを一定に保つように最終的な衣服の4表面形状を生成する。従って、少数粒子のシミュレーシ

衣服の表面形状の生成手法

ョンの段階では粒子間の距離を一定に保つ必要はなく、

本節では、動力学シミュレーションによって計算されむしろある程度粒子間の距離が縮まることを許した方がた粗い衣服モデルの形状から、詳細な衣服モデルの表面-2-

(a)

(b)

(c)

(d)

(e)

(f)

(g)

図 3: 衣服の表面形状の計算手順。(a) 少数粒子による動力学シミュレーション。黒の粒子は人体モデルとの接触を表す。(b) 細分割手法により生成されたなめらかな詳細モデル。(c) 詳細モデルのめり込み回避処理。灰色の点はめり込み回避処理された粒子を表す。(d) 詳
細モデルの各粒子における長さ。黒いベクトルは縮んでいる粒子を示す。(e) 詳細モデルの各粒子に働く垂直方向の力。黒いベクトルは周囲から押されている粒子、灰色のベクトルは周囲から引かれている粒子を表す。(f) 曲面制御の可視化。灰色のベクトルはめり込み回避処理による変形、黒いベクトルは弾性力と伸縮状態に応じた変形を表す。(g) 最終的に生成された衣服の表面形状。

形状を生成するための手法について述べる。

詳細モデルのそれぞれの粒子の制御方向 ni は、粗いモデ

まず、粗い衣服モデルに対して細分割手法を適用する

ルの頂点の法線を補間することで計算する。

ことで、なめらかな詳細な衣服モデルを生成する。
4.2

次に、詳細な衣服モデルのそれぞれの粒子の高さを制御し、各粒子を垂直方向に移動する事によって、衣服の表面形状のめり込み回避処理生成された表面形状が人体モデルにめり込んでいる表面形状を変形する。

場合、粗い衣服モデルのめり込み回避処理と同様、めり(2)Pi = Psmoothed,i + ∆hi n i

込みを回避するように各粒子の高さ ∆hpenetration,i を修正する。

各粒子の高さの初期値としては前フレームの高さが用

この時、全ての粒子について衝突判定を行うと非常に多いられ、下記の２つの処理によって修正される。

くの処理時間が必要となる。そこで、粗い粒子モデルの•粒子が人体モデルにめり込まないための処理粒子の接触情報を利用することで、衝突の可能性のある•粒子に働く垂直方向の力と粒子の周囲の辺の長さ粒子から順番に判定していく。具体的には、粗いモデルに応じた変形処理のある面のどの頂点も人体モデルと接触していない場合

上記の処理は、以下の式によって表される。

は、その面内の粒子は接触判定を行わない。また、人体モデルに接している面についても、面内をトップダウン(3)∆hi = ∆hlast_frame,i + ∆hpenetration,i + ∆hdeformation,iに分割した時の上位の粒子が人体モデルに接している場

以下、それぞれの処理について順を追って説明する。

合のみ、下位の粒子の接触判定を順次行っていく。

4.1

4.3

基準となる表面形状の生成

表面形状の変形

粗い衣服モデルから詳細な衣服モデルを生成するた本研究の重要なアイデアのひとつは、各粒子に働く周めの細分割手法として、Vlachos らによって提案された囲からの弾性力をもとに垂直方向の変形を計算する、とPN Triangles[10] を用いる。PN Triangles は、ポリゴンメいうものである。このアイデアは、Choi らによって提案ッシュの三角面を 3 次 Bezier 曲面パッチで置き換えるこされた、衣服の細部の膨らみをシミュレートする力のモとで、曲面を生成する手法である。PN Triangles によってデルにヒントを得たものである。Choi ら[3]は、Implicit

生成された曲面はもとの粗いメッシュの頂点を必ず通る積分手法を用いて衣服シミュレーションを行う際に、衣ため、頂点における人体モデルとの接触状態が保存され服のある範囲が周囲から力を受ける時、その範囲は力がるという利点がある。

釣り合うように丸く膨らむような形状を取るという力の現在の我々の実装では、粗い衣服モデルのそれぞれのモデルを導入した。本手法では、同様の仮定に基づき、三角面に対応する 3 次 Bezier 曲面パッチを、一定数の三ある粒子に周囲からの力が集中しているほど、その粒子角面に分割することで詳細な衣服モデルを生成している。

はより膨らむ方向に変化するように変形処理を行う。

(a)n3

一般に粒子モデルによる衣服シミュレーションでは、(b)
p3b003n2b102p2b201

ある粒子に働く全ての力を合計することによって、そのb012b021b111

粒子の運動を計算する。従って、ある粒子に周囲から大b030

きな力が働いている場合であっても、力の合計がゼロにb120n1b210p1

近ければその粒子は運動しないことになる。衣服の表面b300に水平な方向の運動を計算するだけであればこのような

図 4: PN Triangles：(a)もとの三角面 (b)３次ベジェ曲面-3-方法でも構わないが、本モデルのように表面に対して垂fn

粗いモデルの辺上にある詳細モデルの粒子力の伝達率

直方向の変形をシミュレートする場合、単純に周囲からkf1の力を合計するだけではなく、各方向からの力同士の影

ijn1響を考慮する必要がある。

粗いモデルの辺上記の垂直方向の力に加えて、本手法では、辺の長さ

図 5: 粗いモデルの辺上にある詳細モデルの粒子間の曲率、及び、力の伝達率の計算。

を制約として考慮する。粗い衣服モデルの動力学シミュ
レーションの結果、ある辺が縮められている場合は、そ各粒子の弾性力が決まったら、隣接する粒子から加わの範囲の衣服の長さを一定に保たれるように、垂直方向る弾性力をもとに垂直方向の力を計算する。粒子 i に隣の力に応じてしわを生成する。

接する粒子 j に弾性力 ef j が加わる時の粒子 i への垂直方

以下、まず、垂直方向の力の計算、及び、衣服の表面向の力を下記の式によって決定する。の圧縮度合いの計算方法について述べ、その２つの制約

vfi j =を考慮してどのように変形量を決定するかを説明する。

1( pi − pi ) ⋅ ef j .
pi − pi(6)

最後に、隣接する全ての粒子からの垂直方向の力を加算

4.3.1 垂直方向の力の計算することで、粒子に働く垂直方向の力を決定する。

まず、詳細モデルの各粒子に働く弾性力を、粗いモデ

vf i = ∑ vf i j .

ルの各粒子に働く弾性力を表面の曲率を考慮しながら補間することによって計算する。Kang ら[8] が行ったよう(7)

ここで、 vfi が正であれば、粒子 i は周囲から押されておに、詳細な衣服モデルの各粒子の位置から、弾性力のモり、より起伏が大きくなる方向へと変形することを意味

デルに従って各粒子の弾性力を計算することも可能である。しかし、この方法では各粒子の位置の差によって粒する。つまり、粒子 i が周囲の粒子よりも高い位置にあ子ごとの弾性力が大きく異なり、結果として、垂直方向ればより高い位置に移動し、周囲の粒子よりも低い位置の力がばらついたり不安定になったりしてしまう。本手にあればより低い位置に移動することになる。一方、 vfiが負であれば周囲から引かれており、より水平になる方

法では、それぞれの粒子単体で力を正確にシミュレートするよりも、表面に加わる力の分布に応じて近似的な変向へと変形する。現在は、 vfi が正であれば単純に上方向形を適用するのが目的である。そのため、上記のようにに移動し、vfi が負であれば単純に下方向に移動するもの

粗いモデルの粒子に働く弾性力から計算する方針とした。
具体的には、まず、粗いモデルの粒子から、粗いモデとして処理している。
4.3.2 衣服の表面の長さの制御

ルの辺上の粒子、面内部の粒子に向けて、各粒子の曲率衣服の表面の長さを一定に保つための各粒子の変形に応じて力を補間する。本手法では、粒子間の曲率（両辺の角度）に応じて、どれくらい力が伝わるかが変化す

量 ∆hlength,i を、下記の３段階の処理によって計算する。まるかを決定する。現在では、両辺の角度を単純に力の伝ず、表面の長さを一定に保つために粒子 i の付近でどれ達率としている。

くらい長さが変化する必要があるかという値 ∆Lrequired,i を

i, jkc= cos θ =( p k − pi ) ⋅ ( p j − p k )pk − pi p j − pk

計算する。次に、垂直方向の力 vfi に応じて粒子 i の位置.

を変化させた時、どれくらい長さが変化するかという値(4)∆Lexpcted,i を計算する。最後に、∆Lrequired,i と ∆Lexpcted,i に応じて、粒子の位置変化量 ∆hlength,i を計算する。

実際には、衣服の素材などによっても、角度と伝達率の関係は異なると考えられる。各種の素材を再現できるよ

各粒子当たりの長さの必要変化量 ∆Lrequired,i を直接計算

うなより正確な伝達率のモデル化については、今後の検することは難しい。そこで、まず、粗いモデルの辺 e ご討課題のひとつである。とに、安定状態での辺の長さとの差から、辺の長さがどれくらい変化すべきかという値 ∆LErequired,e を求める。

各粒子ごとの伝達率が決まれば、辺上の全粒子の伝達

n −1∆LErequired,e = ∑ pi +1 − pi − Lrest , e .

率を加重平均することで、辺の両端点の粒子の弾性力か
i −1∑cefi = j =2(8)i =1ら、粒子上の各粒子の弾性力が求まる。

次に、辺ごとの長さの変化量を、弾性力を計算した時とj −1, j +1
jn −1+ 0.5 × cii−1,i +1∑cj =2j −1, j +1j( fn − f1 ) + f1 .

同様のアルゴリズムで面内に分配することによって、そ(5)れぞれの粒子の ∆Lrequired,i を計算する。具体的には、粗いモデルの各粒子ごとに、隣接する辺の必要変化量 ∆LErequired,e同様に、辺上の粒子の弾性力が決定すれば、縦方向と横を平均することで、粒子の必要変化量 ∆Lrequired,i を計算する。

方向のそれぞれについて同様に面内の各粒子の弾性力を

この粒子ごとの値を、辺上の粒子、面内の粒子に順に補間することで、全粒子の値 ∆Lrequired,i を計算する。弾性力の計算し、両者を平均することによって、面内の各粒子の計算の場合とは異なり、ここでは粒子の曲率や伝達率は弾性力も計算できる。

-4-

考慮せず、単純に補間することで計算する。
各粒子の ∆Lexpcted,i を表面形状から解析的に求めることは難しい。そこで、各粒子が垂直方向の力に比例して動くと仮定し、周囲の粒子との垂直方向の力の差から∆Lexpcted,i を近似する。すでに高い粒子がより大きく移動する場合は長さは広がるとし、反対であれば縮まるとする。
∆Lexpcted,i = ∑ ∆Lexpcted,i j .
j kout-plane ⋅ vf i − vf j
∆Lexpcted,i j = − kout-plane ⋅ vf i − vf j

図 6: 法線の計算。(a) PN Triangles による生成曲面の法線を面(9)if ( vf i − vf j ) ⋅ ( ∆hi − ∆h j ) ≥ 0if ( vf i − vf j ) ⋅ ( ∆hi − ∆h j ) < 0の法線から計算したもの。(b) 同じ曲面の法線を PN Trianglesの提供する補間法線を使用して計算したもの。(c) 提案手法によ.(10)って生成された表面形状の法線を面の法線から計算したもの。
(d) 同じ表面形状の法線を(b)と(c)をブレンドして計算。

最後に、 ∆Lrequired,i と ∆Lexpcted,i に応じて、粒子の位置変化なる場合があり、単純に計算された法線では必要以上に量 ∆hlength,i を計算する。
∆Lrequired,i / ∆Lexpcted,i∆hlength,i = 0if ∆Lrequired,i ⋅ ∆Lexpcted,i > 0
if ∆Lrequired,i ⋅ ∆Lexpcted,i ≤ 0

角張った印象を与えてしまう。また、PN Triangles のもと. (11)

もとの問題として、生成曲面は必ずもとの頂点を通るという制約のため、一定の周期で波状になってしまうとい

ただし、両者の符号が反対であれば、修正は行われない。

う問題がある。そのため、PN Triangles では、もとの粗いメッシュの頂点の法線を補間することで詳細メッシュの4.3.3 変形アルゴリズム
上記の計算において、粒子 i に働く垂直方向の力が比頂点を計算し、なめらかにシェーディングを行う手法が

較的小さい場合、 ∆Lexpcted,i も小さくなり、結果的に ∆hlength,i提供されている[10]。本手法でも、この PN Triangles によが非常に大きな値になってしまって、不自然に大きなしって計算された法線を使用する。変形後の曲面から計算わが生成されてしまう。そのため、必ずしも ∆Lrequired,i を満された法線 n deform （図 6(c)）と、PN Triangles により計算たそうとはせず、垂直方向の力によってどれ程位置変化された基準曲面の法線 n pnt （図 6(b)）を各粒子の高さ ∆hiを許すかという値 ∆hout-plane_force,i によってこの値を制限する。に応じてブレンドすることで最終的な法線を計算する。
1.0

if ∆hi ≥ hnormal∆hi / hnormal

if ∆hi < hnormal



(12)

α =

ここで、 ∆t はシミュレーションの刻み幅、 kout-plane は単位ni =∆hout-plane_force,i = kout-plane ⋅ vfi ⋅ ∆t .

時間・垂直方向の力当たり、どれくらいの位置変化を許,α n deform + (1 − α ) n pnt.
α n deform + (1 − α ) n pnt

(13)
(14)

hnormal はブレンド比率を決定するためのパラメタである。

すかというパラメタである。現在の実験では、kout-plane =1.0くらいの値を用いている。ここまでに計算された ∆hlength,i5と ∆hout-plane_force,i の内、小さい方の値が変形処理による粒子実験結果と議論提案手法によって生成されたアニメーションの例を図i の垂直方向の位置変化量 ∆hdeformation,i として使用される。

7 に示す。表 1 は、それぞれの衣服モデルの頂点数、及び、処理時間を表している。実験結果の画像から、本手

4.3.4 変形の制約
最後に、上記の各処理、及び、式(3)によって計算され法の狙い通り、衣服が人体モデルに接している範囲ではた粒子の位置修正量 ∆hi に対して、いくつかの制約を適人体モデルに沿った形状になっており、また、衣服の特用する。まず、常に基準となる曲面よりも低くなることに圧縮されている範囲に細かいしわが生成されているこがないように ∆hi ≥ 0 という制約を適用する。次に、隣接とが分かる。しかし、本手法の扱うしわは近似的なものする粒子間の間が一定以上長くならないような制約を適であり、生成される形状には制約がある。本手法では、用する。最後に、粗いモデルの面を構成する全ての辺に各粒子を法線方向にのみ移動するため、衣服が自分自身おいての長さがもとの長さよりも長い場合 ∆LErequired,e < 0を巻き込むような複雑なしわを生成することはできない。

は、その面の内部にはしわがなくなるよう、面内の粒子また、衣服同士の衝突処理を行っていないため、衣服同の高さを ∆hi = 0 と修正する。以上の処理により、各粒子士が重なってできるようなしわにも対応できない。このの高さ ∆hi 、及び、最終位置 Pi が求まる。

ような問題を解決するためには、垂直方向だけではなく4.4た、衣服同士の衝突の処理にも対応する必要がある。

水平方向にも粒子の位置修正を行うるように拡張し、ま粒子の法線の計算

最後に、シェーディングに使用する詳細モデルの各粒

表 1 に示すように、衣服が１枚だけの場合は十分リア子の法線の計算方法について述べる。各粒子の法線を、ルタイムに処理できたが、衣服が２枚の場合はやや遅く、単純に最終的に生成された表面形状から計算することも秒間 4～5 フレーム程度であった。我々は、Pixel Shaderできる。しかし、本手法ではそれぞれの粒子を独立かつの機能を使用することで、表面形状の変形処理全体をハ近似的に制御するため、隣接する粒子の高さが不規則にードウェアで実行させることを検討している。

-5-

図 7: 生成アニメーションの例

粗いモデル

衣服

詳細なモデル

シミュレーション

322267631091221528

ブラウス362268

13312292

24264

パンツ430393391497529736

FPS

積分

衝突

全体

PNT

衝突

変形20.4

16.0

4.6

51.6

10.2

13.3

25.8

11.1

23.4

18.0

6.1

66.4

14.1

17.2

33.6

4.7

頂点数 四角面数 三角面数 頂点数 三角面数 全体

ワンピース

曲面生成・変形

表 1: 生成アニメーションにおける頂点・面数と処理時間。処理時間は Pentium 4 2.5 GHz の PC で計測。単位はミリ秒。

67

仮想試着システムまとめ

上記の衣服シミュレーション手法を実装し、仮想試着

本論文では、動力学シミュレーションと幾何学的な形状システムのプロトタイプを開発した。モーションキャプ処理の組み合わせにより、衣服の自然なアニメーションチャ機器として、磁気式のシステムである Ascensionをリアルタイムに生成する手法を提案した。また、本手

Tech 社製の MotionStar（16 センサ）を使用した。

法を応用した仮想試着システムについて報告した。本手

利用者の骨格と用意されたキャラクタの骨格は若干異

法は、コンピュータゲームなどへの応用も期待される。

なるため、モーションキャプチャで得られた利用者の関謝辞 本研究は、情報処理技術振興協会（IPA）による節角度をそのままキャラクタにマッピングしただけでは平成 14 年度未踏ソフトウェア創造事業の補助を受けた。

キャラクタの動きが不自然になってしまう。そこで、下また、本未踏プロジェクトの実施において、東京大学の半身の動きについては、腰の位置・向き、及び、両足首

近山隆教授にはプロジェクトマネージャとして多くの有の位置・向きをキャラクタにマッピングし、キャラクタ益なコメントを頂いた。ここに付記して謝意を表す。の足の関節角度は逆運動学を用いて計算した。腕を含む

参考文献

上半身の動きについては、利用者の関節角度をそのまま[1] BARAFF, D. and WITKIN ,A. 1998. Large steps in cloth simulation. In
Proc. of SIGGRAPH 98, 43-54.
[2] BRIDSON, R., FEDLKIW, R., and ANDERSON, J. 2002. Robusttreatment of collisions, contact and friction for cloth animation. ACM
Transaction on Graphics, 21, 3, 594-603.
[3] CHOI, K., and KO, H. 2002. Stable but responsive cloth. In Proceedingsof SIGGRAPH 2002, ACM Transaction on Graphics, 21, 3, 604-611.
[4] CORDIER, F., and MAGNENAT-THALMANN, N. 2002. Real-timeanimation of dressed virtual humans. In Proceedings ofEUROGRAPHICS 2001, Computer Graphics Forum, 21, 3.
[5] DEROSE, T., KASS, M., and TRUONG, T. 1998. Subdivision surfaces
in character animation. In Proc. of SIGGRAPH 98, 85-94.
[6] HADAP, S., BANGERTE, E., VOLINO, P., and MAGNENATTHALMANN, N. 1999. Animating wrinkles on clothes. In Proceedingof IEEE Visualization '99, 175-182.
[7] IGARASHI, T., and HUGHES, J. F. 2002, Clothing manipulation. In

キャラクタの関節角度にマッピングした。
本システムは、モーションキャプチャによるオーバーヘッドはほとんどなく、Pentium 4 (2.8 GHz)のパソコン上で秒間 13 フレーム程度で動作した。モーションキ
ャプチャによる遅延や、生成される衣服の形状に多少の違和感はあるものの、仮想空間で衣服を身に着けて動き回るような感覚を十分に得ることができた。

Proc. of 15th Annual Symposium on User Interface Software andTechnology (ACM UIST '02), 91-100.
[8] KANG, Y., and CHO, H. 2002. Bilayered approximate integration for
rapid and plausible animation of virtual cloth with realistic wrinkles. InProc. of Computer Animation 2002.

[9] OSHITA, M., and MAKINOUCHI, A. 2001. Real-time cloth simulation
with sparse particles and curved faces. In Proc. of Computer Animation
2001, 220-227.
[10] VLACHOS, A., PETERS, J., BOYD, C., and MITCHELL, J. L. 2001.
Curved PN Triangles. In Proc. of the 2001 ACM Symposium on
Interactive 3D Graphics.

図 8: 仮想試着システムのテスト中の様子-6-