-Blenderで剛体シミュレーションをするときの手順と注意点-

2. 初速度を与える。結果を記録する。

■ Animated オプションを途中で切って初速度を与える

素直に剛体シミュレーションを設定してシミュレーションを開始しても、オブジェクトの初期速度が0なので、物を放り投げたりなどすることができません。
アニメーションシステムを使って簡単に初速を与えてみます。

剛体シミュレーションの設定をしておくのですが、途中まで手打ちのアニメーションとして動かして、途中からアニメーションの設定を切って剛体シミュレーションに動きの制御を引き継ぐ形になります。

剛体シミュレーション実行時でも、Animated オプションにチェックを入れると、物理シミュレーションに従わずに通常のアニメーションの設定に従って動きます。
フレーム 1 でAnimated (アニメ)オプションにチェックを入れ、後のフレームでこれを Off に変化させるので、キーフレームを打ちます。
最初に1フレーム目から3フレーム目までの間アニメーションを作成します。
1フレーム目は回転を0、3フレーム目は20度回転させました。
4フレーム目で Animated オプションを切って、キーフレームを設定します。
初期に回転成分を与えたアニメーションを作ることができました。

下の図でグラフで見た設定の変化を見てみます。
なぜ4フレーム目で Animated 設定を切るのか?
正確な理由は分かりませんが、最後に Animated だったフレーム(3)の前のフレーム(2)での速度がその後のシミュレーションに使われるから、ではないかと推測しています。
(2フレーム目に速度を持つために、初期の運動のためのキーは3フレーム目に打ち、4フレーム目で Animated を切る)
初速度を与えるために、4フレームまで使って設定をしました。
もっと長いアニメーションの途中で Animated オプションを切って物理シミュレーションに受け渡すこともできます。

この例では上昇の途中でAnimatedを切って自由落下に入っています。

On/Off だけではなくて、0%から100%で連続的に切り替えられると、途中から体勢を立て直す、といったアニメーションが作りやすくて良さそうに思えるのですがね。
今のところうまい方法を発見していません。

※)このセクションの内容でキーを打つタイミングは、2.79 の時と違っています。
2.80になるときに、剛体シミュレーションの仕組みに何らかの微妙な修正が入っているのだと思います。

■ シミュレーション結果を記録する

シミュレーション結果をキーフレームとして保存する事ができます。
物理シミュレーションをもとにさらに手で微調整などをする、他のマシンでレンダリングする、といったときに使えるはずです。

物理シミュレーションをする前のキーフレームの構成などは失われるので、必要ならば別ファイルに取っておくといったことをするのが良い気がします。

まずは、シミュレーションを行って、良い具合に動いてくれるまでパラメーターや初期位置などを調整したりします。
一旦記録してしまうと、シミュレーションのやり直しは(記録前のファイルからやり直ししないと)できません。
オブジェクトメニューのなかの Rigid Body に Bake To Keyframes (キーフレームにベイク)というボタンがあります。
これを使うと、シミュレーションを実行して、その結果がキーフレームとして保存されます。
実効するフレームの範囲を指定して OK を押すと、
グラフ上に大量のキーフレームが打たれます。
一応数値の変化が無いところなどは省略はされていますが、これをさらに手で調整するのは大変そうです。

※)うまく手で編集をするには、Simplify Curves や、その他の キーフレームの削減や整理をするアドオンと使うと良いかもしれませんね。

inserted by FC2 system