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

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

【目次】

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

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

【関連する外部ページ】

前準備

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キーを押すことで切り替えられる.「ビュー」のタブで「カメラをビューにロック」をチェックする.

    設定が完了したら,再度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キーを押すか,「レンダー」メニューの「レンダー画像/アニメーションを再生」を選択することにより実行できる.

    別ウインドウが開き,再生が開始される.

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