Blenderで剛体(rigid body)の落下、衝突のシミュレーション

【概要】剛体シミュレーションは、重力による落下や衝突をコンピュータ上で再現する技術である。Blenderでは、オブジェクトに物理演算プロパティを設定することで、リアルな物理シミュレーションを実現できる。剛体の設定は、物理演算プロパティからリジッドボディを有効にすることで行う。オブジェクトはアクティブとパッシブの2種類の設定が可能であり、アクティブは物理演算の影響を受けて動く物体、パッシブは位置が固定された物体として機能する。シミュレーションの結果は、スペースキーによりリアルタイムで確認でき、一時停止中はオブジェクトの位置や角度を調整できる。最終的な映像は、カメラ視野の調整を行った後、アニメーションのレンダリング機能を使用して高品質な映像として出力できる。

【目次】

  1. 前準備
  2. 剛体シミュレーションの例
  3. 剛体シミュレーションの制作

【サイト内の関連ページ】

【関連する外部ページ】

前準備

Blenderのインストール

【Blenderのインストール】

メニューの日本語化を行っておいた方が使いやすい。Blender 4では「編集」→「設定」→「インターフェース」→「翻訳」で言語設定が可能である。

Blenderの基本操作のまとめ

【サイト内の関連ページ】

剛体シミュレーションの例

剛体シミュレーションは、重力による落下、衝突など、物理法則に従った物体の動きをコンピュータで再現する技術である。剛体とは、外力が加わっても形状が変化しない理想的な物体のことを指す。Blenderでは物理演算エンジンを使用して、リアルな物理現象をアニメーションとして作成できる。

演習(1)

次の手順で、Blenderを用いて、剛体シミュレーションを行う。

  1. Blenderファイルをダウンロード

    次のリンクをクリックし、ファイルを手元のパソコンに保存する。

    c6.blend

  2. ダウンロードが終わったら、そのファイルをBlenderで開く。
    Blenderでファイルを開いた画面
  3. 下側の、アニメーションウインドウを大きくしておく。
    アニメーションウインドウを拡大した画面
  4. シミュレーションとアニメーション再生を行うために、スペースキーを押す(「Alt+A」も使用可能)。

    剛体シミュレーションが始まる。

    剛体シミュレーションが実行されている画面
  5. シミュレーションとアニメーション再生を一時停止するために、もう一度スペースキーを押す。
  6. 一時停止したら、下図のボタンをクリックして、先頭のフレームにジャンプする。
    先頭フレームへジャンプするボタン
  7. アニメーションは一時停止し、先頭のフレームになっている。

    一時停止しているときは、オブジェクトの移動ができる。

    シーンの中の球のオブジェクトを移動する。移動は次の手順で行うことができる。

    まず、シーン内の球のオブジェクトを左クリックする。球のオブジェクトが選択された状態になる。

    球のオブジェクトを選択した画面

    「移動」をクリックする。

    移動ツールを選択した画面

    マウス操作により、球のオブジェクトを移動できる。

    球のオブジェクトを移動している画面

    球がどこに行ったか分からないとき。マウスの中ボタンを押しながらマウスを動かすと、全体が回転する。いろいろ角度を変えながらチェックする。

    視点を回転させた画面

    スペースキーを押して、シミュレーションとアニメーション再生して、結果を確認する。最初の球を高くするほど、衝突したときのオブジェクトの移動が大きくなる。

    シミュレーション結果を確認している画面

剛体シミュレーションの制作

ここでは、Blenderで、空のシーンから開始して、オブジェクトの配置などを行いながら、剛体シミュレーションの設定を行う。

剛体シミュレーションの作成とプレビュー

次の手順で、立方体と平面を配置し、剛体シミュレーションを行うことができる。

  1. 新しくBlenderを起動する。
  2. 起動すると、立方体(Cube)の立体がある。そのまま使う。

    立方体(Cube)の立体は消さない。

    Blender起動時の初期画面
  3. 平面(Plane)のオブジェクトを追加する。
    メニューから平面を追加する画面
    平面が追加された画面
  4. 追加した平面(Plane)のオブジェクトを拡大する。

    平面のオブジェクトを選び、拡大縮小ツールを使用する。

    拡大縮小ツールを選択した画面

    平面を大きくする。

    平面を拡大した画面
  5. 追加した平面(Plane)のオブジェクトを移動して、立方体(Cube)のオブジェクトの下にあるようにする。

    平面のオブジェクトを選び、移動モードにする。

    移動ツールを選択した画面

    平面は、立体の下になるように移動する。

    平面を立方体の下に移動した画面

    マウスの中ボタンを押しながらマウスを動かすと、全体が回転する。いろいろ角度を変えながら、オブジェクトの配置をチェックする。

    視点を変えてオブジェクトの配置を確認している画面
  6. 剛体シミュレーションの設定
    1. 立方体(Cube)のオブジェクトを選択する。

      マウスの左クリックで選択する。

      立方体を選択した画面
    2. プロパティの画面で、「物理演算プロパティ」のボタンをクリックする。
      物理演算プロパティを選択した画面
    3. 立方体(Cube)のオブジェクトについて、剛体シミュレーションの設定を行う。

      「リジッドボディ」をクリックする。

      リジッドボディを有効にした画面
    4. 今度は、平面(Plane)のオブジェクトを選択する。

      マウスの左クリックで選択する。

      平面を選択した画面
    5. プロパティの画面で、「物理演算プロパティ」のボタンをクリックする。
      平面の物理演算プロパティを選択した画面
    6. 平面(Plane)のオブジェクトも、剛体シミュレーションの設定を行う。

      「リジッドボディ」をクリックする。

      平面のリジッドボディを有効にした画面
    7. 平面(Plane)のオブジェクトは、落下させたくないので、「タイプ」のところで、「アクティブ」を「パッシブ」に変える。
      平面のタイプをパッシブに変更した画面
  7. 剛体シミュレーションとアニメーションを行うために、スペースキーを押す。
    シミュレーションが実行されている画面
  8. シミュレーションとアニメーション再生を一時停止するにはスペースキーを押す。
    シミュレーションを一時停止した画面

カメラ視野の調整

見やすくするためにカメラ視野の調整を行う。

  1. 最初に、スペースキーにより、アニメーションを一時停止する。

    一時停止したら、下図のボタンをクリックして、先頭のフレームにジャンプする。

    先頭フレームへジャンプするボタン
  2. カメラをビューにロックする。

    サイドバーで行う。サイドバーの表示は、3Dビューポートで「n」キーを押す。「ビュー」のタブで「カメラをビューにロック」をチェックする。

    終わったら、もう1度「n」キーを押して、サイドバーを閉じる。

    カメラをビューにロックする設定画面
  3. 3Dビューポートのビューを、カメラ視野に変える。

    ビューのカメラ視野、作業視野切り替えは、メニューの「ビュー」→「カメラ」でできる。ナビゲーションコントロールでもできる。テンキーの「0」、または「Numpad 0」キーでも切り替え可能である。

    カメラ視野に切り替えた画面
  4. すると、「カメラ視野」を動かすと、同時にカメラも動くようになる。

    カメラ視野の自由な移動: SHIFTキーとマウスの中ボタンを押しながらマウス移動

    カメラ視野の自由な回転(原点を基準): マウスの中ボタンを押しながらマウス移動

    カメラ視野を調整している画面

演習

  1. スペースキーにより、アニメーションを一時停止すること。
  2. 一時停止したら、下図のボタンをクリックして、先頭のフレームにジャンプできる。
    先頭フレームへジャンプするボタン
  3. 立方体(Cube)のオブジェクトを、上の方に移動する。
    立方体を上方に移動した画面
  4. 剛体シミュレーションとアニメーションを行うために、スペースキーを押す。

    以上のように、オブジェクトの位置を変化させることにより、アニメーションが変化する。

    位置を変えたシミュレーション結果

演習

  1. スペースキーにより、アニメーションを一時停止すること。
  2. 一時停止したら、下図のボタンをクリックして、先頭のフレームにジャンプできる。
    先頭フレームへジャンプするボタン
  3. 立方体(Cube)のオブジェクトを、回転する。
    立方体を回転させた画面
  4. 剛体シミュレーションとアニメーションを行うために、スペースキーを押す。

    回転する前とは、アニメーションが変化する。

    回転させたシミュレーション結果

演習

次の手順でアニメーションをレンダリングする。「アニメーションのレンダリング」とは、一連の複数のフレームを一括レンダリングすることである。

  1. スペースキーにより、アニメーションを一時停止すること。
  2. 一時停止したら、下図のボタンをクリックして、先頭のフレームにジャンプできる。
    先頭フレームへジャンプするボタン
  3. アニメーションのレンダリング(たくさんのフレームの一括レンダリング)

    CTRLキーとF12キー(同時押し)または「レンダー」メニューから「アニメーションをレンダリング」を選択することもできる。

    アニメーションレンダリングのメニュー
  4. レンダリングが始まるので、確認する。終了を待つ。
    レンダリング中の画面
  5. レンダリングが終了したら、確認のため再生する。

    CTRLキーとF11キー(同時押し)(「レンダー」メニューの「レンダー画像/アニメーションを再生」を選択することもできる)

    別ウインドウが開いて、再生が始まる。

    レンダリング結果を再生している画面