blender 4.1 Rigid Body リジットボディで詰めもの
グラスに氷、瓶に食品などを詰めたい場合、数が少なくとも、手作業では重なりができたり、ちょっと面倒な作業になります。
その場合は、リジッドボディのシミュレーションを利用できます。ほかのシミュレーションと同様すこし動作がトリッキーですが、詰めるだけならばふくざつな設定も必要なく、手作業では気の遠くなるような作業を物理的に行ってくれます。
環境 Blender 4.1.0 , Mac Mini M1 OS 14.4
01 氷
下のようなオブジェクトを作成する。上はデフォルトのキューブをすこしだけ変形、下はコップ、中央はキューブがこぼれ落ちるのを防ぐ漏斗。
下のコップ、および、漏斗に、物理演算プロパティから、リジッドボディを適用する。
タイプは「パッシブ」、シェイプは「メッシュ」、感度 - 余白は、ここでは 0.004 とした。
一番上のキューブに、同様にリジッドボディを適用する。タイプは「アクティブ」
キューブを全選択、Shift キーを押しながら、一番上のキューブを選択し、オブジェクト > リジッドボディ > アクティブからコピー を適用する。
デフォルトでは、スペースバーを押し、シミュレーションを開始する。停止も同じ。再度シミュレーションを始める場合は、最初のフレームまで巻き戻すのを忘れないこと。
キューブがコップのなかにこぼれ落ちる。
結果を適用
このままでは、別途モディファイア等をかけることができないため、シミュレーション結果を適用する。
キューブを全選択したまま、オブジェクト > リジッドボディ > トランスフォームを適用 を選択。
シーンプロパティの、「リジッドボディワールドを削除」を押す。
微調整
シミュレーションの適応外になり、結果が反映された通常のオブジェクトになる。
必須ではないが、すべてのキューブを、オブジェクト > 統合 し、ベベル、および、サブディビジョンサーフェスモディファイアを適用した。
ガラスマテリアルを適用し、レンダリング。
02 パスタ
次はすこし大量のオブジェクトを詰めてみる。手作業でもさほど時間はかからないと思うが、参考までに、インスタンス化で、自動でオブジェクトの複製を大量に作る方法で行う。
次の 2つのオブジェクトを作成する。
Shift キーを押しながら、右、左のオブジェクトの順に選択、オブジェクト > ペアレント(オブジェクト)を適用する。
左のオブジェクトのオブジェクトプロパティ内、「インスタンス化」に「頂点」を適用。
オブジェクト > 適用 > インスタンスを実体化 を選択する。
シミュレーション
以降は、01 と同じ。下のボトルと漏斗にパッシブ、上のオブジェクト群にアクティブを適用し、シミュレーションを開始する。
01 と同様に、トランスフォームを適用、を実行する。
調整
オブジェクト群のいずれかに下のように変更を加え、プロポーショナル編集で、上の辺のみ、R Z キーでねじる。
統合し、ソリッド化、および、サブディビジョンサーフェスモディファイアを適用して、レンダリング。
オブジェクトのリンク
手作業でオブジェクトを複製した場合は、オブジェクトの変更がすべてに反映されないので、その場合は、データリンク機能を利用する。
複数のオブジェクトに、いずれかのジオメトリ変更の結果を反映させたい場合、Shift キーを押しながら、反映させたいオブジェクトを最後に選択
オブジェクト > データのリンク転送 > 「オブジェクトデータをリンク」 を適用する。
まとめ
なにかにモノを詰めるモデリングはそれほど頻繁に行うことがないので、わたしの場合、リジッドボディはいちどできてもすぐに手順を忘れてしまう機能のひとつです。
もちろんモノを詰めるだけの機能ではありませんので、アニメーションなどでも、ときには大量のオブジェクトを物理法則にしたがって動かす際などにも活用できます。参考まで。