タイトル通り今までの知識を組み合わせて、剛体シミュレーション(物理演算)と手づけのアニメーションをミックスさせた動きを作成します。
今回作成するのは以下のような動きです。
- ロボットアームが静止しているオブジェクトを掴む(手づけ)
- 掴んだオブジェクトをロボットアームがベルトコンベアに載せる(手づけ)
- 載せられたオブジェクトがベルトコンベアに合わせて移動する(物理演算)
- ベルトコンベアの終端に来たらオブジェクトが落下する(物理演算)
1:ロボットアームで物を掴む動作を作成する
以下の記事で作成したデータを読み込んで流用します。
【Blender】オブジェクトを掴むアニメーションを作成する方法 - ソースに絡まるエスカルゴ
オブジェクトを掴んで動かすというところまではできているので、あとはベルトコンベア部分を作成するだけです。
2:ベルトコンベア部分を作成する
ベルトコンベアは以下の記事の内容に沿って作成します。
【Blender】ベルトコンベアの作り方と物理演算 - ソースに絡まるエスカルゴ
以下のようにPathで軌道を作成して厚みをもたせたPlaneを並べて諸々設定を行い、剛体の設定まで終了させました。
「Torus」が親の影響を受けなくなる85フレーム目が「Torus」の最終位置なので、ベルトコンベアのPlaneとPathの座標を調節してその位置までベルトコンベアを移動させます。
3:移動させるオブジェクトの剛体設定をしてキーフレームを登録していく
「Torus」を選択した状態で「Torus」にRigid Bodyを追加します。
「Dope Sheet」を表示させて1フレーム目を選択し、現在のRigid Bodyの「Dynamic」と「Animated」を「iキー」を押してキーフレームを登録します。
84フレーム目までは手づけのアニメーションなので、84フレーム目を選択してもう一度Rigid Bodyの「Dynamic」と「Animated」を「iキー」を押してキーフレームを登録します。
これで1フレーム目から84フレーム目まで「Torus」は手づけのアニメーション通りに動きます。
85フレーム目からは物理シミュレーションに任せたいので、85フレーム目を選択して「Dynamic」をチェック、「Animated」のチェックを外した状態で「iキー」を押してキーフレームを登録します。
この状態で一度再生してみるとこのようになります。
ちょっとわかりにくいですが、85フレーム目から「Torus」が落下してベルトコンベアの上に落ちています。あとはベルトコンベアの動きを作るだけです。
4:ベルトコンベアのアニメーションを作成する
1フレーム目にX軸の値が0の状態のベルトコンベアのキーフレームを登録します。
どこでもよいですが12フレーム目にX軸を「-0.3」だけ回転させたベルトコンベアのキーフレームを登録します。
12フレーム目を選択した状態で「Channel」→「Extrapolation Mode」→「Make Cycle」を選択してベルトコンベアをループ再生するようにします。
5:完成
1〜4の手順を踏んだ結果、以下のように最初は手づけ、後半は剛体シミュレーションというミックスさせたアニメーションが作成できました。
以上が今までの知識を組み合わせたアニメーションです。これで工場のラインなどはBlenderである程度は再現できるのかなと思います。