布が貫通・すり抜けるときは、まず相手にCollisionが付いているかと、相手の面の法線が外を向いているか(負のスケールは法線を裏返すのと同じ効果)を確かめます。次にClothのCollisionsのQuality(衝突の計算の細かさ)とQuality Stepsを上げ、それでも抜けるならCollisionのOuter Thicknessを上げます(浮くなら下げる)。設定を闇雲に触る前に、この順番で切り分けるのが近道です。
キャラに服を着せたら体を突き抜ける、布が不自然に膨らむ——クロスシミュレーションの失敗はパターンが決まっており、原因もほぼ限られています。この記事では基本の流れと、貫通したときの切り分け順を整理します。
基本の設定手順
平面をそのまま使うと折り目が作れません。10分割程度に細分化してから始めます。頂点が少ないと、どれだけ設定を詰めても布らしく動きません。
オブジェクトモードで布メッシュを選び、物理演算プロパティから Cloth を有効にします。
布が当たる相手(体・机など)には Collision を設定します。ここを忘れると布はすり抜けます。
Cloth の Collisions セクションを開き、Self Collision にチェックを入れます。布自身が重なったときの突き抜けを防ぎます。
貫通したらどこを疑う?
順番が重要です。上から順に試してください。
| 順 | 確認すること | 操作 |
|---|---|---|
| 1 | 相手にCollisionが付いていて、法線が外を向いているか | Collisionを追加・Shift + N で法線を外側に再計算(負のスケールは Ctrl + A で適用してから) |
| 2 | Cloth の Collisions の Quality と Quality Steps が足りているか | 数値を上げる(計算は重くなる) |
| 3 | Outer Thickness が薄すぎないか | 貫通するなら上げる(浮くなら下げる・最小 0.001) |
| 4 | メッシュの分割が粗くないか | 細分化して頂点を増やす |
法線の向きと負のスケール
コリジョンは、面の法線の向きで「外側」と「内側」を決めます(公式マニュアル)。相手の法線が内向きだと、布は正しく押し返されません。マニュアルは、負のスケールも法線を裏返したのと同じ効果になるので、スケールを適用したら法線を再計算するよう勧めています。なお、クロスの計算はワールド座標で行われる(Blenderのソース)ので、スケールを適用していないことだけで、布が見た目と違う大きさで計算されるわけではありません。
布がオブジェクトから浮く場合は?
逆に「貫通しないが、体から不自然に浮く」という症状もあります。これはコリジョンの判定距離が厚すぎるのが原因です。
Collision モディファイアーの Outer Thickness を下げてください。最小の 0.001 まで下げると、布がぴったりフィットするようになります。ただし薄くするほど貫通しやすくなるため、Quality Steps とのバランスで詰めることになります。
膨らむ場合はPressureを疑う
布が風船のように膨らむなら、Cloth の Pressure が効いている可能性があります。意図せず有効になっていないか確認してください。バルーンのような表現をしたいとき以外は 0 のままで構いません。
計算が重くて試行錯誤できないときは
Quality Steps を上げるほど精度は上がりますが、計算時間も伸びます。実務的な進め方はこうです。
- まず低品質・粗いメッシュで動きを確認する——布の落ち方や引っかかりの有無だけを見ます。
- 動きが決まってから品質を上げる——最初から高品質で回すと、1回の試行に時間がかかりすぎます。
- ベイクしてから微調整する——確定した動きはベイクして固定し、以降は再計算させません。
シミュレーションはCPUの負荷が高い処理なので、レンダリングとは違うボトルネックが出ます。レンダリング高速化の設定とは別軸で考えてください。
Blender 5.2 で「実験的」として入った新しい布(Cloth Dynamics)は、当サイトで同じ布を同じ球に落として測ると、72フレームの計算が従来の Cloth より約2.7倍速く終わりました(0.88秒 対 2.37秒)。ただし既定は紙のように硬く、垂れ方が違います。測り方と柔らかくする設定はBlender 5.2の新しい布シミュレーションは速い?にまとめています。
まとめ
クロスシミュレーションの貫通は①相手のCollisionと法線 → ②CollisionsのQualityとQuality Steps → ③Outer Thickness(貫通なら上げる) → ④メッシュ分割の順で潰します。
逆に浮く場合は Outer Thickness を 0.001 まで下げる。膨らむ場合は Pressure を確認する。症状ごとに触る場所が決まっているので、当てずっぽうで設定を触らないことが結果的に一番の近道です。

コメント