Blenderの物理演算にアニメーションを追加し、メダルゲームを検証する。

Blenderの物理演算(RigidBody)にアニメーションを追加し、メダルゲームを検証した結果を記事にしておきます。RigidBodyはオブジェクトに質量をもたせる物理演算です。基本的な使い方がわからないかたはこちらの記事をご覧ください。
Blenderの物理演算(RigidBody)の使い方やポイント

Blenderの物理演算にAnimationを追加する方法

Blenderの物理演算のRigidBodyタイプを選択した場合、自動的にAnimationが設定されますが、これはあくまでも質量をともなった落下のみのアニメーションです。オブジェクトに独自の動きを与え、かつ衝突などの判定をもたせるには、アニメーションの設定とキーフレームの追加が必要になります。

  • まず独自の動きをもたせたいオブジェクトを選択し、プロパティパネルの物理タブで、RigidBodyを選択し、Animatedにチェックをつけておく必要があります。scrennshot 20190112 1435
  • Animatedにチェックをいれたら、オブジェクトにキーフレームをもたせます。scrennshot 20190112 1438

たとえばメダルゲームの例ですと、板に移動のキーフレームを追加しておくことで板がメダルにあたると、メダルが押し出されます。もし板オブジェクトにAnimatedのチェックをいれてなかった場合はキーフレームを追加していても何も起こりませんので注意が必要です。

物理演算とアニメーションを使ったメダルゲームを検証する

たとえば次のようなメダルゲームのようなものをBlenderで表現してみます。これは上の板に物理演算とAnimationのためのキーフレームを追加しています。
scrennshot 20190112 1442
このメダルゲームは結果的にはうまくいくのですが、しばしばおかしなことがおこりますので、なにかの参考に次に説明することを見ておくとよいでしょう。

メダルが動かない理由

たとえば次の画像は、板がせまってきているにもかかわらずメダルが動いていません。板オブジェクトにはAnimatedにチェックをいれているにも関わらずです。
scrennshot 20190112 1449
メダルが動かない理由は、実は板オブジェクトの当たり判定の範囲が関係しています。BlenderのRigidBodyの当たり判定は少し特殊なようです。これを解決する方法はおそらくあるとは思いますが、今回は調べていません。

メダルが板にめり込む

さきほどの見出しの画像では、メダルが動いていない画像をのせましたが、板を適切な位置にしてメダルが動くようになっても、メダルが板オブジェクトにめり込んでしまいます。これの理由はおそらくメダルオブジェクトの当たり判定が関係していると言えます。

メダル(円)の中心まで板オブジェクトがせまってくるとメダルに当たり判定が効いて動き出します。メダル側の当たり判定も特殊のようです。Blenderの当たり判定を目視できる機能があるのかもしれませんが、とりあえずは結果だけのせておくことにします。

適切な位置に板オブジェクトを配置し物理演算アニメーションを実行する

適切な位置に板オブジェクトを配置するとメダルはきちんと落下していきます。

以下はメダルゲームのアニメーションをレンダリングしたものです。

BlenderのRigidBodyとAnimationの組み合わせまとめ

BlenderのRigidBodyに独自のAnimationをつけるには、RigidBodyのプロパティでAnimatedにチェックをつけ、オブジェクトにキーフレームを追加する。Blenderの当たり判定は若干特殊である。以上がまとめになります。

RigidBodyとAnimationを組み合わせれば、現実世界のさまざまなものが表現できそうですね。