使用バージョン:Blender 2.81

折り目のあるプリーツスカートにクロスシミュレーションをかけると、折り目がくずれてしまい意図しない形状になってしまいました。

クロスシミュレーション前のプリーツスカートの形状
シミュレーション前のスカートの形状
クロスシミュレーションをかけるとプリーツが崩れてしまう
クロスシミュレーション後のスカートの形状。少しクシャクシャになった印象があります

いろいろと試行錯誤したところ、なんとかディテールを潰さないようにクロスシミュレーションすることができたので記事にしておきたいと思います。

プリーツを維持したままクロスシミュレーション
プリーツの形を維持したままクロスシミュレーション完了

またこの記事ではクロスシミュレーションの基本的な使い方から紹介していますが、「そんなの知ってる」という方は記事後半の「プリーツを潰さずにクロスシミュレーション」から読んでみてください。

目次

クロスシミュレーションの使い方

まずはクロスシミュレーションの基本的な使い方を紹介しておきます。 例として平面を布に見立てて説明していきます。

まずは Shift + A キーから「メッシュ → 平面」を追加します。 編集モードにして W キーから「細分化」して、メッシュを細かくしておきます。 平面の向きはお好みで。 今回は地面に対して垂直に立てて配置しました。

メッシュを細分化した平面を追加

オブジェクトモードにして平面に「クロス」モディファイアを追加します。

平面にクロスモディファイアを追加

この状態で再生ボタンを押すと、重力によって平面が下に落ちていってしまうと思います。

重力に従って落下する

床を配置して衝突判定をつける

クロスシミュレーションは衝突判定 ( コリジョン ) と合わせて使うことも多いので、そちらも紹介しておきます。 まず、もうひとつ平面を追加して「床」を作ります。

平面を追加して床を作る

床に衝突判定 ( コリジョン ) を追加します。

床にコリジョンを追加する

そして再生ボタンを押してシミュレーションを開始すると、落下した布が床と衝突して床の上に落ちるようになります。

クロスがコリジョンを設定した床と衝突する

今回は床にコリジョンを使いましたが、スカートなどの服にクロスシミュレーションを使う場合は、キャラクターにコリジョンを使ったりします。

固定部分を作る

オブジェクト全体にクロスシミュレーションをかけると、重力によって落ちてしまいます。 例えばカーテンを作りたい場合など、布が落ちてしまうと困ります。 そこでクロスシミュレーションの影響を受けず、固定される部分を作ります。

編集モードで固定したい部分の頂点を選択します。 今回は向かって左側の一番外側の頂点を選択しました。

辺を選択する

続いて選択した頂点で「頂点グループ」を作ります。

選択した頂点を頂点グループに割り当てる

頂点グループは「+」ボタンを押して、ウェイトが「1.0」になってることを確認して「割り当て」を押します。

物理演算タブを開き、シェイプの「固定グループ」に作成した頂点グループを割り当てます。

固定グループに頂点グループを割り当てる

この状態でシミュレーションすると、頂点グループは固定されたままになります。

固定グループは固定される

布の質感は「物理プロパティ」で調整できますが、プリセットも用意されてるので 慣れないうちはそちらを使うと簡単に設定できます。

クロスの物理プロパティやプリセットで質感を調整する

プリーツを潰さずにクロスシミュレーション

クロスシミュレーションはオブジェクト全体の質感とは別に、頂点グループごとに「曲げ」や「収縮」などの質感を割り当てることができます。 なのでディテールを残したい辺の頂点グループを作って、「曲げ」の抵抗力を少し大きめにしてあげます。

今回のプリーツスカートでは横方向の辺を選択して頂点フループを作成しました。

水平の辺を頂点グループにする
編集モード
頂点グループのウェイト
ウェイトペイントモード

全部の横方向の辺を選択してしまうと、必然的にスカート全体を選択することになってしまうので、一個間隔を開けて選択します。

作成した頂点グループを「プロパティーの重み」の「曲げグループ」に割り当てて、最大曲げ ( 最大曲げ剛性・曲げにくさの最大値 ) をベースの曲げよりも大きくします。

曲げグループに頂点グループを割り当てる

どれくらい曲げにくくするかはシミュレーションをしながら確認します。 大きくしすぎると横方向に曲がらなくなってしまうので適度に調整します。

Blender ソフトボディとメッシュ変形モディファイアで揺れものをつくる