物理プロパティを持つ別のオブジェクト内のオブジェクト-剛体

Nov 25 2020

物理シミュレーションを作成しようとしていますが、成功しません...物理プロパティ(リジッドボディ)を持つ別のオブジェクト内にオブジェクトを作成する場合、リジッドボディにどの設定を使用する必要がありますか

再生をクリックすると、シミュレーションが失敗します...

これで、ボトルが互いに交差または通過しています...

私が試してみました:

  • 法線をチェックしました
  • 実際の比率(サイズ、重量など)を維持します
  • スケール、位置、回転のすべての変換を適用しました
  • 原点>原点をジオメトリに設定します
  • リジッドボディワールド設定での1秒あたりのステップ数とソルバー反復の増加(最大値1000および100で試しました)
  • 衝突形状をメッシュに設定し、マージンとして0.4または0を試し、ソースを最終に設定しました

回答

5 Skitter Dec 09 2020 at 13:04

この問題を抱えている人は、衝突の形状を外側の形状のメッシュに設定してみてください。

あなたの問題のために、私は衝突形状を内側のボトルの凸包に設定しました、そしてそれは正常に反応しました。あなたがその設定にどれほど愛着を持っているかはわかりませんが、それでうまくいくかもしれません。

4 RichSedman Nov 25 2020 at 04:33

問題は、ジオメトリの外面が内面に近すぎることです。これにより、内面と衝突する点が、薄いガラスのどちら側をはじくべきかについて混乱することがあります。

解決策は、衝突メッシュを単純化して、「内側」のサーフェスのみが含まれるようにすることです。法線はすべて内側を指します。これにより、Blenderはそれをガラスの固いブロック内のボトル型の空洞であるかのように扱うことができるため、頂点と交差する方向をはじく必要があることが明確になります。

私はあなたの例を取り上げ、大きなボトルの外面を削除し、1秒あたりのシミュレーションフレーム数を240に設定して、このアニメーションを作成しました。

レンダリングの目的で、実際の外側のボトルを作成し、小さい方のボトルの衝突に含まれないように衝突コレクションを設定する必要があります。コリジョンメッシュ(これらの内面のみで構成される)は、実際のアウターボトルにペアレント化して、アウターボトルに追従し、インナーボトルが反応する表面を提供する必要があります。