先日XRMTGという毎月行われているイベントで登壇された学生さんが私のBlenderの記事を見て重力を設定したと話していてうれしかったのですが、その時にforce系をもう少し触ってみたくなり今回はチャレンジをすることにしました。
〇環境
・Blender4.0
〇ある点を中心とした力場で吹き飛ばす
今回はこのようなシーンを作成しました。 中央原点部に爆発物を配置して周囲のキューブを吹き飛ばしていきます。
①床にあたるPlaneを選択し物理演算
タブからリジッドボディ
を有効にしタイプをパッシブ
に設定します。
これによって床自体は力場の影響を受けないもののコライダーとして機能するようになります。
②吹き飛ばされる対象のキューブもリジッドボディ
を追加します。
こちらはタイプをアクティブ
のままに設定します。
吹き飛ばされるキューブすべてに同様の設定を行います。
③爆発の当たり判定になる球を配置します。
④アニメーションのキーフレームが1フレーム目を指していることを確認し、球を選択し、I
キーを押し、位置・回転・スケール
を選択しキーフレームを入力します。
⑤キーフレームを2フレーム目に合わせます。
⑥球のスケールを大きくしキーフレームを入力します。
⑦続いて3フレーム目で球のスケールを0にしてキーフレームを入力します。
⑧最後に球にリジッドボディ
をパッシブ
のタイプで設定します。
スペースキーを押すことで吹き飛ばされるアニメーションを確認します。
⑨シーンコレクションウィンドウから爆発物として設定した球のレンダリング設定およびビューポート表示設定をオフにします。
つまり、レンダリング対象外かつビューポートの表示対象外に設定します。この状態でもリジッドボディとしての機能は機能します。
〇完成
レンダリングすることで結果を確認できます。
1フレームで膨張をさせるのではなく複数フレームで膨張させるなど膨張率を下げることで爆発の威力をコントロールすることができます。
以上である点を中心にした力場でCubeを吹き飛ばすことができました。