CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender3.2】FAQ:物理演算(リジッド・ソフトボディ)の問題を解決!
こんにちは!
コチラの記事では、フリーの3DCGソフト「Blender」での作品作りのヒントとなる情報をまとめています。
今回は、「物理演算」(リジッドボディ・ソフトボディ)に関するFAQ(よくある質問)とその対処法をまとめてみました。
リジッドボディ・ソフトボディのシミュレーションがうまくいかなくて悩んでいる方(おもに経験の浅い初心者の方を想定しています)に、ぜひ参考にしていただければと思います!
Blenderの物理演算機能のうち「流体シミュレーション」の問題とその対処法については、コチラの記事にまとめたので参考にしてみてください。
【最重要】物理演算の基本を確認しよう!
「物理演算ができない・うまくいかない」場合、そもそも基本を押さえられていない可能性が高いです!
剛体の運動をシミュレーションする「リジッドボディ」、柔らかいものの動き・変形をシミュレーションする「ソフトボディ」それぞれについて、簡単な例を元に基本的なやり方を紹介します。
まずはこちらのやり方とご自身のやり方と比較してみて、問題点がないか確認してみてください!
リジッドボディの基本的なやり方
リジッドボディの基本的なシミュレーションのやり方について簡単に紹介します!
コチラのように、坂道をボールを転がす例を紹介します。
タイムラインを再生すると、UV球が坂道を転がります。
アニメーションレンダリングすると、コチラのように動画として書き出すことができます。
「アニメーションレンダリング」のやり方については、コチラの記事で紹介しているので、合わせて参考にしてみてください!
以上が、リジッドボディの基本的なシミュレーションのやり方になります。
リジッドボディの設定項目の詳細については、コチラの記事で紹介しているので、あわせて参考にしてみてください。
ソフトボディの基本的なやり方
ソフトボディの基本的なシミュレーションのやり方について簡単に紹介します!
コチラのように、変形しながらはずむボールをソフトボディで表現してみたいと思います。
ソフトボディを使う場合はメッシュサイズはできるだけ均等が望ましいので、UV球ではなくICO球を使います。
「ゴール」のチェックを外し、「辺」の「曲げ」の値を1に設定します。
ベイク完了後にタイムラインを再生すると、コチラのようにICO球が変形しながらバウンドします。
アニメーションレンダリングすることで、コチラのようにシミュレーションの結果を動画出力できます。
以上が、ソフトボディの基本的シミュレーションのやり方になります。
ソフトボディの設定項目の詳細については、コチラの記事で紹介しているので、あわせて参考にしてみてください。
動かない・落ちない!
リジッドボディやソフトボディが「動かない」「落ちない」問題について、考えられる原因と対処方法を紹介していきます!
リジッドボディが動かない場合は、「リジッドボディ(アクティブ)」オブジェクトの、ダイナミックのチェックが外れていないか、「アニメ」にチェックが入っていないか確認してみてください。
ソフトボディが落下せず空中にとどまってしまう場合は、「ゴール」のチェックを外すと落下するはずです。
また、「落下しない」場合は重力がゼロになっている可能性があります。
「シーンプロパティ」→「重力」にチェックが入っているか、あるいは「リジッドボディワールド」を確認してみてください。
落ちる・すり抜ける・貫通する!
リジッドボディやソフトボディが「落ちる」「すり抜ける」問題について、対処方法を紹介していきます!
リジッドボディが落ちる・すり抜ける場合は、先ほどの例のように、対象となるオブジェクトにリジッドボディ(パッシブ)が設定してあるか確認してみてください。
ソフトボディが落ちる・すり抜ける場合は、対象となるオブジェクトにコリジョンが設定してあるか確認してみてください。
また、シミュレーションをベイクしないとオブジェクトがすり抜けることがあるので(参考記事)、先ほど紹介したとおり「キャッシュ→ベイク(または全物理演算をベイク)」でベイクしてみてください。
物理演算の「コリジョン」について、詳しくはコチラの記事で紹介しているので、あわせて参考にしてみてください。
暴れる・跳ねる・吹っ飛ぶ
リジッドボディシミュレーションでよくあるのが「オブジェクトが吹っ飛ぶ」というトラブルです。
その場合、こちらのようにリジッドボディ同士が重なって(貫通して)いることが考えられます。
オブジェクト同士が重ならないよう、少し隙間をあけてあげるとうまくいきます。
また、凹んだ形状で「コリジョン」を「凸包」に設定している場合は、「メッシュ」に変えることで直ります
リジッドボディの「コリジョン」の設定についてはコチラで詳しく説明しているので、参考にしてみてください。
ソフトボディの場合、オブジェクトの大きさが小さいと、シミュレーションが不安定になってシミュレーション開始とともに消えてしまうことがあるので、サイズを見直してみてください。
つぶれる!
ソフトボディでよくあるのが、「つぶれる」というトラブルです。
ソフトボディがつぶれてしまう場合、まずは以下の物理演算プロパティの設定を見直してみてください。
- 「オブジェクト→重さ」の数値を小さくする。
- 「辺」の「曲げ」「押す」「引く」の数値を大きくする。
重さを小さくすることでつぶれにくくなります。
また、引く・押す・曲げの数値を大きくした場合も、つぶれにくくなります。
それでもダメな場合は、メッシュの形状が原因の可能性があるので、できるだけ均一なメッシュになるよう修正してみてください。
レンダリングされない・挙動がおかしい
リジッドボディもソフトボディも、タイムラインで再生するとシミュレーションがベイクされ、そのままオブジェクトを動かさずにレンダリングするとアニメーションとしてレンダリングできます。
しかし、タイムラインで再生した後にオブジェクトに位置を調節した後にレンダリングしてしまうと、コチラのように動かなくなってしまうことがあります。
このように、動かない・挙動がおかしい場合は、先ほど紹介したとおり「キャッシュ→ベイク(または全物理演算をベイク)」でベイクしてみてください。
物理演算が重い・遅い
ソフトボディは、複雑な変形・衝突判定の計算を行うので処理が重くなりがちです。
特にオブジェクトの頂点数が多いと計算が重くなります。
重すぎる場合は、コチラのようにオブジェクトの頂点数を減らすか、「メッシュ変形モディファイア」などを使ってローポリのシミュレーション結果を適用する方法を試してみてください。
メッシュから変形させたいオブジェクトがはみ出さないよう注意してください。
詳しいやり方については、コチラの記事で説明しているのであわせて参考にしてみてください。
「物理演算が重い」を含めた、「Blenderが重い!」場合の対処法についてはコチラの記事で紹介したので、あわせて参考にしてみてください。
250フレームで止まってしまう
コチラのような球をリジッドボディで転がすアニメーションを作った場合、タイムラインを500フレームまで伸ばしても初期設定のままだと250フレーム目で止まってしまいます。
250以上のフレームでリジッドボディのシミュレーションをしたい場合は「シーンプロパティ」→「リジッドボディワールド」でキャッシュのタブを開いて目的の数値に変更すると、シミュレーション時間が延長されます。
終了時間を500にすることで、コチラのようにタイムラインの最初から最後まで再生できます。
まとめ
「物理演算」(リジッドボディ・ソフトボディ)に関するFAQとその対処法について紹介しましたが、いかがだったでしょうか?
物理演算はパラメータ設定が1ヵ所抜けているだけで、うまくいかなくなったりするので、初心者の方は難しく感じるかもしれません。
もし記事を読んで対処法を試してみてもうまくいかない場合は、一緒に考えたいのでお悩みをコメントで教えてください!
また、上に挙げた以外の悩みをお持ちの方もいらっしゃると思いますので、その場合もコメントで教えていただければと思います。
最後に、今回のまとめです!
- 【最重要】流体シミュレーションの基本を確認しよう!
- リジッドボディの基本的なやり方
- ソフトボディの基本的なやり方
- 動かない・落ちない!
- リジッドボディの場合:ダイナミックのチェックが外れていないか、「アニメ」にチェックが入っていないか確認
- ソフトボディの場合:「ゴール」のチェックを外す
- 重力がゼロになっている可能性:
- 「シーンプロパティ」→「重力」にチェックが入っているか確認
- 「リジッドボディワールド」を確認
- 落ちる・すり抜ける!
- リジッドボディの場合:対象となるオブジェクトにリジッドボディ(パッシブ)が設定してあるか確認
- ソフトボディの場合:
- 対象となるオブジェクトにコリジョンが設定してあるか確認
- シミュレーションをベイク
- 暴れる・跳ねる・吹っ飛ぶ!
- リジッドボディの場合:
- オブジェクト同士が重ならないよう、少し隙間をあけてあげる
- 凹んだ形状で「コリジョン」を「凸包」に設定している場合は、「メッシュ」に変える
- ソフトボディの場合:サイズが小さすぎる場合は大きくする。
- リジッドボディの場合:
- つぶれる!
- 物理演算プロパティの設定を見直し(重さを小さく&引く・押す・曲げの数値を大きく)
- できるだけ均一なメッシュになるよう修正
- レンダリングされない・挙動がおかしい!:「キャッシュ→ベイク(または全物理演算をベイク)」でベイク
- 物理演算が重い・遅い!
- オブジェクトの頂点数を減らす
- 「メッシュ変形モディファイア」などを使ってローポリのシミュレーション結果を適用する
- 250フレームで止まってしまう!:「シーンプロパティ」→「リジッドボディワールド」→「キャッシュ」でシミュレーション開始・終了フレームを設定
Blenderで「?」となったとき
Blenderは多機能すぎて、色々と詰まるポイントがあります。
「解決策が分からずに数時間潰した…」という経験はほとんどの人が通ってきた道だと思います。
当メディアではそんな人たちのために、各機能ごとでよくある詰まりポイントをまとめた「FAQ記事」を多くそろえております。
以下のリンク先にFAQ記事がまとまっているので、Blenderで何か困ったときにはぜひを参考にしてみてください。