Blenderのアクションをベイク(Bake Action)という機能を紹介します。
1 アクションをベイク(Bake Action)とは
アクションをベイク(Bake Action)はFカーブ(F-Curve)・Fカーブモディファイアー(F-Curve Modifier)・コンストレイント(Constraint)などキーフレーム化されていないアニメーションをキーフレーム化する機能です。
例えば立方体が1フレームから10フレームの間にXの位置が0mから5mまで移動するアニメーションがあったとします。
このようなアニメーションのアクションを作成する場合、通常は1フレームと10フレームにだけキーフレームを挿入するのでグラフエディターでは画像1のようなキーフレームとFカーブになります。
画像1の2フレームから9フレームにはキーフレームが挿入されていないのでFカーブで補間していますが、アクションをベイク(Bake Action)を使用すると、画像2のように2フレームから9フレームにもキーフレームを挿入することができます。
2 アクションをベイク(Bake Action)の使用方法
2.1 メニューの表示方法
オブジェクトのアニメーションの場合は、オブジェクトモード(Object Mode)で3Dビューポート(3D Viewport)のヘッダーのオブジェクト(Object)>アニメーション(Animation)>アクションをベイク(Bake Action)で画像3のようなメニューが表示されるので、ここで各設定を行った後でOKを押すとベイクが実行されます。
ボーンのアニメーションの場合は、ポーズモード(Pose Mode)で3Dビューポート(3D Viewport)のヘッダーのポーズ(Pose)>アニメーション(Animation)>アクションをベイク(Bake Action)から使用できます。
ノンリニアアニメーション(Nonlinear)では、ヘッダーの編集(Edit)>アクションをベイク(Bake Action)から使用できます。
2.2 メニュー内の設定
2.2.1 開始フレーム(Start Frame)と最終フレーム(End Frame)
アクションをベイク(Bake Action)を行う開始フレーム(Start Frame)と最終フレーム(End Frame)を設定します。
デフォルトでは1~250となっているので、1~250フレームまでキーフレーム化します。
2.2.2 フレームステップ(Frame Step)
フレームステップ(Frame Step)はベイクするキーフレームの間隔です。
デフォルトでは1なので1フレームごとにキーフレームを挿入しますが、5に設定すると5フレームごとにキーフレームを挿入します。
2.2.3 選択ボーンのみ(Only Selected Bones)
選択ボーンのみ(Only Selected Bones)にチェックを入れると、非選択中のボーンはアクションをベイク(Bake Action)を行いません。
オブジェクトのアニメーションの場合はどちらに設定してもベイクの結果は変わらないようです。
2.2.4 ビジュアルキーイング(Visual Keying)
ビジュアルキーイング(Visual Keying)はコンストレイント(Constraint)を追加している場合に、コンストレイント(Constraint)で制限されたアニメーションをキーフレーム化するのか、コンストレイント(Constraint)で制限されていない元のアニメーションをキーフレーム化するのか、を設定します。
2.2.5 コンストレイントをクリア(Clear Constraints)と親子関係をクリア(Clear Parents)
アクションをベイク(Bake Action)を実行した後に、コンストレイント(Constraint)または親子関係をクリア(解除)するかどうかの設定です。
2.2.6 現在のアクションを上書き(Overwrite Current Action)
アクションをベイク(Bake Action)を実行する際に現在リンクしているアクションを上書きするか、それとも新規にアクションを作成するのかの設定です。
2.2.7 カーブを掃除(Clean Curves)
カーブを掃除(Clean Curves)にチェックを入れるとアクションをベイク(Bake Action)を実行した後のキーフレームを簡略化できるようです。キーフレームを掃除(Clean Keyframes)と似ている機能だと思いますが、掃除の結果はそれぞれ違うようでした。
2.2.8 データをベイク(Bake Data)のポーズ(Pose)とオブジェクト(Object)
ポーズ(Pose)またはオブジェクト(Object)のどちらのアニメーションに対してアクションをベイク(Bake Action)を実行するのかの設定です。
オブジェクトモード(Object Mode)でアクションをベイク(Bake Action)のメニューを開くとオブジェクト(Object)が選択され、ポーズモードでアクションをベイク(Bake Action)のメニューを開くとポーズ(Pose)が選択されるので、通常はそのままで問題ありません。
3 使用例
ここからはアクションをベイク(Bake Action)の使用例を紹介します。
3.1 Fカーブモディファイアー(F-Curve Modifier)のベイク
キーフレームのXの位置が10フレームで0、20フレームで5、30フレームで0である画像4のようなFカーブに、
Fカーブモディファイアー(F-Curve Modifier)のループ(Cycle)を追加すると画像5のようになります。
ループ(Cycle)を追加した後でもキーフレームは初めからあった3つだけですが、
アクションをベイク(Bake Action)を画像6のように最終フレーム(End Frame)を40に変更して使用すると、
画像7のようにループ(Cycle)の結果がキーフレーム化されます。
アクションをベイク(Bake Action)を使用すると、画像7のように位置・回転・スケールのXYZのすべてをキーフレーム化するので、見やすいようにXの位置だけ表示すると画像8のようになります(この後の使用例でもXの位置だけ表示します)。
ベイク後はFカーブモディファイアー(F-Curve Modifier)のループ(Cycle)のアニメーションはキーフレーム化されているので外して構いません。
3.2 コンストレイント(Constraint)のベイク
キーフレームのXの位置が10フレームで0m、20フレームで5m、30フレームで0mである画像9のようなFカーブに、
コンストレイント(Constraint)の位置制限(Limit Location)を追加して、画像10のようにX最大(Maximum X)にチェックを入れて3mに設定します。
これでXの位置は3mまでに制限されます。
この状態で画像11のように最終フレーム(End Frame)を40に変更して、ビジュアルキーイング(Visual Keying)とコンストレイントをクリア(Clear Constraints)にチェックを入れてアクションをベイク(Bake Action)を使用すると、
画像12のようにXの位置のFカーブが3以上にならないように制限されたアニメーションがキーフレーム化されます。
また、追加していたコンストレイント(Constraint)の位置制限(Limit Location)は削除されています。
もしビジュアルキーイング(Visual Keying)にチェックを入れなかった場合、位置制限(Limit Location)で制限されていないアニメーションがキーフレーム化されるので画像13のような結果になります。
3.3 ノンリニアアニメーションの編集結果をベイク
キーフレームのXの位置が10フレームで0、20フレームで5、30フレームで0である画像14のようなFカーブをストリップ(Strip)に変換して、
ノンリニアアニメーションのサイドバー(Side Bar)>ストリップ(Strip)>アクションストリップ(Action Strip)>リピート(Repeat)を画像15のように2に設定します。
これで画像16のようにストリップ(Strip)を2回繰り返すことになります。
この状態で画像17のように最終フレーム(End Frame)を40に変更してアクションをベイク(Bake Action)を使用すると、
画像18のようにキーフレーム化されます。
2回目が途中で終わっているのは最終フレーム(End Frame)が40になっているからです。
ここではストリップ(Strip)をひとつだけ使用しましたが、複数のトラック(Track)を使用して複数のストリップ(Strip)を合わせたアニメーションにアクションをベイク(Bake Action)を使用した場合は、すべてをひとつのアクション内にキーフレーム化します。
3.4 親子関係によるアニメーションのベイク
ここからは簡単な説明で終わります。
親がアニメーションをする場合、子は親に追従するかたちでアニメーションを行いますが、子を選択してアクションをベイク(Bake Action)を使用すると、親に追従して行うアニメーションを子のアニメーションとしてキーフレーム化できます。
3.5 物理シミュレーションをベイク
リジッドボディ(Rigid Body)などを使用してボールが床に落ちるというアニメーションを作成した場合、ボールを選択してアクションをベイク(Bake Action)を使用すると、ボールが落ちるアニメーションをキーフレーム化できます。
この場合はビジュアルキーイング(Visual Keying)にチェックを入れてベイクしてください。
頂点などの動きはアクションをベイク(Bake Action)ではキーフレーム化はできないので、ボーンを介するなどの作業が必要になります。
3.6 ドライバによるアニメーションをベイク
Xの位置に#frameと入力するとフレーム数とXの位置が同じ値になるアニメーションが作成できますが、このようなアニメーションもアクションをベイク(Bake Action)を使用するとキーフレーム化できます。
4 補足
4.1 ミュート(Mute)
アクションをベイク(Bake Action)を使用する際にミュート(Mute)を設定していた場合は、ミュート(Mute)した状態がキーフレーム化されます。
以上、Blenderの「アクションをベイク(Bake Action)の使用方法」でした。
コメント