【Blender3.2】FAQ:物理演算(リジッド・ソフトボディ)の問題を解決!

URLをコピーする
URLをコピーしました!

こんにちは!

コチラの記事では、フリーの3DCGソフト「Blender」での作品作りのヒントとなる情報をまとめています。

今回は、「物理演算」(リジッドボディ・ソフトボディ)に関するFAQ(よくある質問)とその対処法をまとめてみました。

リジッドボディ・ソフトボディのシミュレーションがうまくいかなくて悩んでいる方(おもに経験の浅い初心者の方を想定しています)に、ぜひ参考にしていただければと思います!

Blenderの物理演算機能のうち「流体シミュレーション」の問題とその対処法については、コチラの記事にまとめたので参考にしてみてください。

CGbox
【Blender 3.2】FAQ:流体シミュレーションの問題を解決! | CGbox こんにちは! コチラの記事では、フリーの3DCGソフト「Blender」での作品作りのヒントとなる情報をまとめています。 今回は、「流体シミュレーション」に関するFAQ(よくあ...
目次

【最重要】物理演算の基本を確認しよう!

「物理演算ができない・うまくいかない」場合、そもそも基本を押さえられていない可能性が高いです!

剛体の運動をシミュレーションする「リジッドボディ」柔らかいものの動き・変形をシミュレーションする「ソフトボディ」それぞれについて、簡単な例を元に基本的なやり方を紹介します。

まずはこちらのやり方とご自身のやり方と比較してみて、問題点がないか確認してみてください!

リジッドボディの基本的なやり方

リジッドボディの基本的なシミュレーションのやり方について簡単に紹介します!

コチラのように、坂道をボールを転がす例を紹介します。

STEP
シーンに、転がす物体(UV球)と坂道(平面)を追加して配置します。
STEP
UV球と平面をそれぞれ選択し、「Ctrl+A」→「スケール」を適用します。
STEP
UV球を選択し、「物理演算プロパティ」→「リジッドボディ」をクリックし、タイプを「アクティブ」とします。
STEP
平面を選択し、「物理演算プロパティ」→「リジッドボディ」をクリックし、タイプを「パッシブ」とします。

タイムラインを再生すると、UV球が坂道を転がります

アニメーションレンダリングすると、コチラのように動画として書き出すことができます。

「アニメーションレンダリング」のやり方については、コチラの記事で紹介しているので、合わせて参考にしてみてください!

CGbox
【Blender2.9】アニメーションレンダリングの方法:フローや設定 | CGbox こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blenderを勉強して、アウトプットの場としてそれぞれの機能をまとめられればと思っています。参考にもなれば嬉しい...

以上が、リジッドボディの基本的なシミュレーションやり方になります。

リジッドボディの設定項目の詳細については、コチラの記事で紹介しているので、あわせて参考にしてみてください。

CGbox
【Blender3.0】リジッドボディ(剛体)を使ってみよう!【物理演算】 | CGbox はじめに こんにちは! 今回は、Blenderで使える物理演算機能のひとつ「リジッドボディ」(剛体)の使い方・シミュレーションがうまくいかないときの対処法を紹介したいと...

ソフトボディの基本的なやり方

ソフトボディの基本的なシミュレーションのやり方について簡単に紹介します!

コチラのように、変形しながらはずむボールをソフトボディで表現してみたいと思います。

STEP
シーンに、落下させるソフトボディ(ICO球)とコリジョンとなるオブジェクト(平面)を追加します。

ソフトボディを使う場合はメッシュサイズはできるだけ均等が望ましいので、UV球ではなくICO球を使います

STEP
ICO球と平面をそれぞれ選択し、「Ctrl+A」→「スケール」を適用します。
STEP
ICO球を選択し、物理演算プロパティから「ソフトボディ」を選択します。
「ゴール」のチェックを外し、「辺」の「曲げ」の値を1に設定します。
STEP
平面を選択し、物理演算プロパティから「コリジョン」を選択します。
STEP
ICO球の物理演算→ソフトボディの「キャッシュ」のメニューで開始・終了フレーム数を設定したら「ベイク」を選択してシミュレーションをベイクします。

ベイク完了後にタイムラインを再生すると、コチラのようにICO球が変形しながらバウンドします

アニメーションレンダリングすることで、コチラのようにシミュレーションの結果を動画出力できます。

以上が、ソフトボディの基本的シミュレーションやり方になります。

ソフトボディの設定項目の詳細については、コチラの記事で紹介しているので、あわせて参考にしてみてください。

CGbox
【Blender3.0】ソフトボディを使ってみよう!【物理演算】 | CGbox はじめに こんにちは! 今回はBlenderの物理演算機能のひとつ「ソフトボディ」の使い方について紹介したいと思います。 正直、私自身もこの記事を書くまであまりソフトボデ...

動かない・落ちない!

リジッドボディやソフトボディが「動かない」「落ちない」問題について、考えられる原因と対処方法を紹介していきます!

リジッドボディが動かない場合は、「リジッドボディ(アクティブ)」オブジェクトの、ダイナミックのチェックが外れていないか、「アニメ」にチェックが入っていないか確認してみてください。

ソフトボディが落下せず空中にとどまってしまう場合は、「ゴール」のチェックを外すと落下するはずです。

また、「落下しない」場合は重力がゼロになっている可能性があります。

「シーンプロパティ」→「重力」にチェックが入っているか、あるいは「リジッドボディワールド」を確認してみてください。

落ちる・すり抜ける・貫通する!

リジッドボディやソフトボディが「落ちる」「すり抜ける」問題について、対処方法を紹介していきます!

リジッドボディが落ちる・すり抜ける場合は、先ほどの例のように、対象となるオブジェクトにリジッドボディ(パッシブ)が設定してあるか確認してみてください。

ソフトボディが落ちる・すり抜ける場合は、対象となるオブジェクトにコリジョンが設定してあるか確認してみてください。

また、シミュレーションをベイクしないとオブジェクトがすり抜けることがあるので(参考記事)、先ほど紹介したとおり「キャッシュ→ベイク(または全物理演算をベイク)」でベイクしてみてください。

物理演算の「コリジョン」について、詳しくはコチラの記事で紹介しているので、あわせて参考にしてみてください。

CGbox
【Blender2.9】コリジョンでオブジェクト同士の衝突判定を追加できる! | CGbox こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。 今...

暴れる・跳ねる・吹っ飛ぶ

リジッドボディシミュレーションでよくあるのが「オブジェクトが吹っ飛ぶ」というトラブルです。

その場合、こちらのようにリジッドボディ同士が重なって(貫通して)いることが考えられます。

オブジェクト同士が重ならないよう、少し隙間をあけてあげるとうまくいきます。

また、凹んだ形状で「コリジョン」を「凸包」に設定している場合は、「メッシュ」に変えることで直ります

リジッドボディの「コリジョン」の設定についてはコチラで詳しく説明しているので、参考にしてみてください。

ソフトボディの場合、オブジェクトの大きさが小さいと、シミュレーションが不安定になってシミュレーション開始とともに消えてしまうことがあるので、サイズを見直してみてください。

つぶれる!

ソフトボディでよくあるのが、「つぶれる」というトラブルです。

ソフトボディがつぶれてしまう場合、まずは以下の物理演算プロパティの設定を見直してみてください。

  • 「オブジェクト→重さ」の数値を小さくする。
  • 「辺」の「曲げ」「押す」「引く」の数値を大きくする。

重さを小さくすることでつぶれにくくなります。

また、引く・押す・曲げの数値を大きくした場合も、つぶれにくくなります。

それでもダメな場合は、メッシュの形状が原因の可能性があるので、できるだけ均一なメッシュになるよう修正してみてください。

レンダリングされない・挙動がおかしい

リジッドボディもソフトボディも、タイムラインで再生するとシミュレーションがベイクされ、そのままオブジェクトを動かさずにレンダリングするとアニメーションとしてレンダリングできます。

しかし、タイムラインで再生した後にオブジェクトに位置を調節した後にレンダリングしてしまうと、コチラのように動かなくなってしまうことがあります。

このように、動かない・挙動がおかしい場合は、先ほど紹介したとおり「キャッシュ→ベイク(または全物理演算をベイク)」でベイクしてみてください。

物理演算が重い・遅い

ソフトボディは、複雑な変形・衝突判定の計算を行うので処理が重くなりがちです。

特にオブジェクトの頂点数が多いと計算が重くなります。

重すぎる場合は、コチラのようにオブジェクトの頂点数を減らすか、「メッシュ変形モディファイア」などを使ってローポリのシミュレーション結果を適用する方法を試してみてください。

STEP
まず、変形させたいオブジェクト(モンキー)をすっぽり包むようにメッシュオブジェクトを作成します。

メッシュから変形させたいオブジェクトがはみ出さないよう注意してください。

STEP
変形させたいオブジェクト(モンキー)を選択し、「メッシュ変形モディファイア」を追加します。
STEP
「バインド」を選択すると、こちらのようにメッシュオブジェクトの変形に合わせてモンキーが変形するようになります。
STEP
メッシュオブジェクトにソフトボディを追加します。
STEP
「辺→曲げ」の数値などでモンキーの変形具合を調節します。

詳しいやり方については、コチラの記事で説明しているのであわせて参考にしてみてください。

「物理演算が重い」を含めた、「Blenderが重い!」場合の対処法についてはコチラの記事で紹介したので、あわせて参考にしてみてください。

CGbox
【Blender3.1】FAQ:Blenderが重い時の対処法 | CGbox はじめに こんにちは! 今回は、「Blenderの動作が重い」問題の解決方法を紹介していきます。 Blenderが重くて作業が捗らないと、創作へのモチベーションも下がってしまい...

250フレームで止まってしまう

コチラのような球をリジッドボディで転がすアニメーションを作った場合、タイムラインを500フレームまで伸ばしても初期設定のままだと250フレーム目で止まってしまいます

250以上のフレームでリジッドボディのシミュレーションをしたい場合「シーンプロパティ」→「リジッドボディワールド」キャッシュのタブを開いて目的の数値に変更すると、シミュレーション時間が延長されます。

終了時間を500にすることで、コチラのようにタイムラインの最初から最後まで再生できます。

まとめ

「物理演算」(リジッドボディ・ソフトボディ)に関するFAQとその対処法について紹介しましたが、いかがだったでしょうか?

物理演算はパラメータ設定が1ヵ所抜けているだけで、うまくいかなくなったりするので、初心者の方は難しく感じるかもしれません。

もし記事を読んで対処法を試してみてもうまくいかない場合は、一緒に考えたいのでお悩みをコメントで教えてください!

また、上に挙げた以外の悩みをお持ちの方もいらっしゃると思いますので、その場合もコメントで教えていただければと思います。

最後に、今回のまとめです!

  • 【最重要】流体シミュレーションの基本を確認しよう!
    • リジッドボディの基本的なやり方
    • ソフトボディの基本的なやり方
  • 動かない・落ちない!
    • リジッドボディの場合:ダイナミックのチェックが外れていないか、「アニメ」にチェックが入っていないか確認
    • ソフトボディの場合:「ゴール」のチェックを外す
    • 重力がゼロになっている可能性:
      • 「シーンプロパティ」→「重力」にチェックが入っているか確認
      • 「リジッドボディワールド」を確認
  • 落ちる・すり抜ける
    • リジッドボディの場合:対象となるオブジェクトにリジッドボディ(パッシブ)が設定してあるか確認
    • ソフトボディの場合:
      • 対象となるオブジェクトにコリジョンが設定してあるか確認
      • シミュレーションをベイク
  • 暴れる・跳ねる・吹っ飛ぶ
    • リジッドボディの場合:
      • オブジェクト同士が重ならないよう、少し隙間をあけてあげる
      • 凹んだ形状で「コリジョン」を「凸包」に設定している場合は、「メッシュ」に変える
    • ソフトボディの場合:サイズが小さすぎる場合は大きくする。
  • つぶれる
    • 物理演算プロパティの設定を見直し(重さを小さく&引く・押す・曲げの数値を大きく)
    • できるだけ均一なメッシュになるよう修正
  • レンダリングされない・挙動がおかしい!「キャッシュ→ベイク(または全物理演算をベイク)」でベイク
  • 物理演算が重い・遅い!
    • オブジェクトの頂点数を減らす
    • 「メッシュ変形モディファイア」などを使ってローポリのシミュレーション結果を適用する
  • 250フレームで止まってしまう!:「シーンプロパティ」→「リジッドボディワールド」→「キャッシュ」でシミュレーション開始・終了フレームを設定
よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次
閉じる