どうも!
クリーク・アンド・リバー社 COYOTE 3DCG STUDIO テクニカルチーム所属 TAの横山です!
最近うれしかったことは、たまたま入ったハンバーグ店がパン食べ放題でめちゃくちゃ美味しく、その日はウキウキで過ごせたことです。
さて、前回はスカート部分に対してシミュレーションをかけましたが、今回は内側コートに対して
シミュレーションをかけていきます!
目次
- 内側コート
- 内側コート頂点ペイント
- 内側コート Havok Clothで調整
- Clothのレイヤー化
- 内側コート コンストレイント調整
- 内側コート コライダーサイズ調整
- 内側コート コリジョン調整
- 内側コート 仕上げ
※使用モデル
ワトソン・アメリアさん
※使用モーションデータ
博衣こよりさん /シアワセ√コヨリニウム © 2016 COVER Corp.
内側コート
基本的なセットアップはスカートの調整で説明できたので、省略しつつ説明していきます。
まずはスカートでも行った、Havok Clothでどこをシミュレーションするかを指定する作業をしていきます。
Havok Mesh Channel Toolbox に↓画像の頂点を選択し、Createを押して作成します。
これでHavok Clothでシミュレーションしたい頂点を作成できました!
次はスカートとは少し違う手順になりますが、Havok Clothに持っていく前に
スカートのコライダー調整の際に使用した、頂点ペイントの作成を先に行っていきます。
内側コート 頂点ペイント
まずはコライダーのサイズ調整に使用する頂点ペイントを作成します。
黄色頂点以外がシミュレーションで動く頂点です。
名前をradiusで作成し、↓画像の様にペイントしました。
数値で見ると↓画像の様な形ですが、Havok Cloth内でOverrideScaleを使ってコライダーのサイズを調整するので、ペイントの数字よりも大事なのはグラデーションになります。
次にスカートでは作成しなかったのですが、LocalRangeConstraint用の頂点ペイントを作成していきます。
LocalRangeConstraint用に頂点ペイントを作成すると、コライダーのサイズと同じようにLocalRangeのサイズを1頂点ごとに決めることができます。
内側コートはスカートよりも外側にあり動きが目立ちやすいのと、後述するClothのレイヤー化をする際に
今から作成するLocalRangeConstraint用の頂点ペイントがあると便利なので事前に作成しておきます。
作成手順は上記radiusと全く同じですがグラデーションを↓画像の様に塗ります。
数値は↓画像です。
これで内側コートの頂点ペイントは作成完了です!
内側コート Havok Clothで調整
Mayaでの調整が終わったので次はHavok Clothで調整をしていきます。
まずはHavok Clothで内側コートを作成していきます。
↓画像青枠 NewClothで作成します。
↓画像緑枠 を設定します。
↓画像赤枠 は通常作成する場合はスカートと同じ Create New Cloth で作成するのですが
今回はClothのレイヤー化を行いたいので、スカート作成時に作ったskirtと同じ階層に作成します。
↑画像オレンジ枠 Create で作成すると
↓画像赤枠の様にSkirt_Sim_Meshの下に出来ました。
※Create New Cloth で作成すると青枠と同じような場所に作成されます。
これでHavok ClothSetUpTool内で内側コートの作成は完了です。
Clothのレイヤー化
画像赤矢印、青矢印の様に重ね着しているメッシュをそのままシミュレーションしてしまうと
それぞれのメッシュでめり込みが発生したりお互いに反発してしまうことがあります。
Havok ClothはClothのレイヤー化を設定することができ、このような問題を簡単に解決できる機能がClothのレイヤー化になります!
Clothのレイヤー化の注意点
Clothのレイヤー化を行うためには、前述したように必ず同じグループでシミュレーションを作成しなければなりません。
↓Clothレイヤー化できる skirt内の skirt_SimMesh SimClothとunderCort_SimMesh SimCloth
↓Clothレイヤー化できない skirtとfaceグループは別物なのでレイヤー化できない
実際にClothのレイヤー化を行っていきます。
1.Wizards Browser>Layered Cloth をクリックで選択
2.Layered Cloth Windowが開いたら赤枠、CollisionLayer(下に来るCloth)
ColliderLayer(上に来るCloth)が↓画像の様になっていることを確認し、青枠OKで作成する
作成が完了するとunderCort_SimMesh SimCloth>ConstraintsOptions内に
↓画像の様にLayer LocalRangeが確認できました。
このLayer LocalRangeは青い円内に頂点の動きを制限する点では通常のLocalRangと同じですが、Layer LocalRangeの青い円がコリジョンレイヤー化しているスカートの頂点に当たり
制限の原点が変わるのが大きな違いになります。
青い円が大きすぎるので少し小さくして見てみます。
サイズを0.02にしてみました。
仕組みは通常のLocalRangと同じなので 青い円形 の中だけでしか動かない状態になっています。
つまり今回の場合コートの外側に動いてほしい頂点が、青い円が内側を向いていることで頂点の初期位置の内側にしか動かなくなっています。
なので円が外側を向いて、かつ頂点がいい感じに動くサイズ感に調整していきます。
まずは円を外側に向けていきます。
Max Normal Distance のチェックを外し
↓画像赤枠 Min Normal Distance にチェックを入れ、サイズを0.015にします。
これで青い円が外側を向きましたが、サイズが小さいのでわかりづらいです。
サイズ調整を行っていきます。
サイズ調整を行うのは↓画像赤枠ですが、このまますべての頂点サイズを変更するのではなく、頂点ペイントで作成したLayeredLocalRang用の頂点ペイントを選択してサイズを調整していきます。
↓画像赤枠 LayerLRを選択>Override Scaleにチェックを入れ Max0.1にします。
これでLayeredLocalRangの円のLimit、サイズ調整は完了です。
次にLayeredLocalRangのWarningを解消していきます。
現状で↓画像赤枠のVerifyでエラーチェックすると↓画像青枠のWarningが出てきます。
このWarningは↓画像緑枠のVertex Influence Radius が小さすぎるという内容なので、値を1000に変更するとこのWarningは出なくなります。
最後に通常のLocalRangeを削除します。
通常のLocalRangeとLayeredLocalRangは機能的にはほぼ同じなので、通常のLocalRangeは削除します。
通常のLocalRangeを選択し、↓画像赤枠のDeleteで削除
削除すると↓画像の様になります。
内側コート コンストレイント調整
ここからは内側コートのコンストレイントを調整していきます。
追加するコンストレイントはスカートと同じなので詳しい説明はスカートの部分を参考にしてください。
新規追加したコンストレイントは↓画像赤枠 のものになります。
追加したコンストレイントはどれもデフォルトの値でいい感じの見た目になったので、デフォルトの値を使用しています。
ただ、StrechLinkConstraintの↓画像青枠 の部分だけほんの少し伸縮効果が欲しかったので画像の値に変更しました。
コンストレイントの調整が終わったら、スカートの時と同様にコンストレイントの計算順序を適切にしておきましょう。
シミュレーションメッシュごとにSimulateが作成されるので内側コートはSimulate2にあたります。なのでSimulate2>DefaultConfig>TweakIterateを調整します。
少しだけシミュレーション結果が良くなるよう↓画像赤枠 Complexityを2にしています。
これで内側スカートのコンストレイント調整は完了です。
内側コート コライダーサイズ調整
次はコライダーのサイズ調整を行います。
今回も、詳しい部分はスカートで説明しているので一部省略します。
↓画像赤枠の部分を調整していきます。
1.Radius: デフォルトだとConstantになっていると思いますが、コートのおなか部分のコライダーサイズを小さく
下に行くほどコライダーのサイズが大きくなるように、頂点ペイントで作成した radius を選択します。
2.Override Scaleにチェックを入れて、Min : 0 Max : 0.08 に変更します。
3.少しだけ腕が服にあたったとき擦れるようにしたいので Friction(摩擦)を0.2にします。
これでコライダーの調整は完了です。
内側コート コリジョン調整
次はコリジョンの調整を行います。
内側コートのコリジョンはスカートのコリジョンと同じ調整を行うので、今回も省略しつつ説明していきます。
調整を行った点は↓画像で赤枠、青枠で囲ったコリジョンになります。
青枠 : スカートでも行った動かないコリジョンをHips骨に追従するように調整
赤枠 : いらないコリジョンなのでSyringeを選択した状態で赤矢印 Delete Selectedでコリジョン判定を削除します。
これでコリジョンの調整は完了です。
内側コート 仕上げ
こちらもスカートと同様に仕上げをしていきます。
少し重めの印象にしたいのでDamping/second : 0.8 に変更します。
これで内側コートの調整は完了です。
PreviewToolで確認してみます。
Clothのレイヤー化をしているのでスカートと内側コートの貫通がなくきれいに揺らすことができていますね!
これで内側コートの調整は終了です!
お疲れ様でした!!!
次回は基礎編最後、ネクタイ 時計 部分に対してシミュレーションをかけていきます~
次回ネクタイ 時計編は05/20更新予定です!
※使用モデル
ワトソン・アメリアさん
※使用モーションデータ
博衣こよりさん /シアワセ√コヨリニウム © 2016 COVER Corp.