Blender 3.0
Blender では、オブジェクト全体の座標・形状、またカメラ、マテリアル、ライト、ワールドなどのプロパティーを、時間経過ととも変化させるかたちで、様々なアニメーションを実現することができます。
アニメーションの基本は「キーフレームの設定」にあります。移動・回転・拡縮あるいは変形、いずれも変化の「節」となるフレーム(時刻)に、その時点でのパラメータを記憶させることで、中間の状態を自動的に補間するかたちで、アニメーションが実現します。
アニメーションの設定作業では、今見ているシーンが何フレーム目であるかを意識する必要があります。現在フレームは、タイムライン上に表示されます。
上の図では、現在位置は 30フレーム、キーフレームが 1, 40, 80 にあります。
オブジェクトの持つプロパティ(座標等)は、アニメーションの設定状況に応じて以下のような状態色で表示されます。
オブジェクトにアニメーションが設定されている場合、以下の操作でアニメーションをプレビューすることができます。
キーボード:[SPACE](トグル) タイムラインの利用:再生(▶︎)・停止(I I)・頭出し(I◀︎)
尚、いずれのエディタも、画面左端のプルダウンメニュー(>)をクリックすることで、キーフレームの状態を詳細に確認することができます。
アニメーションのアウトプットは当然動画ファイルとなります。以下の方法で、動画ファイルとして出力されます。
Topbar > Render > Render Animation
出力仕様は、プロパティーエディターの Render Property タブと Output Propertyタブで、必要な項目を設定します。
アニメーション制御の大半は、キーフレームを用いて行います。キーフレームとは、当該フレーム(時刻)において実現されるべき、位置、回転角その他のプロパティ(属性値)を保持したフレームのことで、時系列に複数のキーフレームを持たせることで、キーフレーム間のプロパティは自動的に補完されます。
オブジェクトのキーフレームは、キーボードの [ I ] (Insert Keyframe)をプレスして設定します。
[ I ] Key ( Header Menu > Object > Animation > Insert Keyframe )
3D Viewport 上で対象となるオブジェクトを選択した状態で [ I ] Key をプレスすると、Insert Keyframe Menu が表示されるので、設定したいプロパティー項目を選択します。
プロパティーパネル上の対象項目の上にマウスを合わせた状態で [ I ] Key をプレスすると、その値がキーフレームに記録されます。
右の図は、カメラズームのアニメーションを想定して、カメラの焦点距離 50mm をキーフレームとして設定した事例です。このようなキーフレーム設定によって、あらゆるプロパティを時間軸上で変化させることが可能です。
タイムラインヘッダー上にある自動記録ボタンが ON になっていると、プロパティの値が変更された場合に、設定されたフレームにキーフレームを自動的に追加します。
オブジェクトのキーフレームは、設定時と同様の状態下で、キーボードの [ALT] + [ I ] のプレスで削除できます。
[ALT] +[ I ] Key ( Header Menu > Object > Animation > Delete Keyframe )
タイムラインやグラフエディタ上では、キーフレームのアイコンを選択して [ x ] あるいは [Delete] で削除することもできます。
キーフレーム間のプロパティー値は、自動的に補間(Interpolation)されます。グラフエディタ上では、補間された値の変化がアニメーションカーブとして可視化されます。
上の図では、Cubeオブジェクトの座標について、XとYの値がそれぞれ変化している様子を見ることができます。
キーフレームの補間には、定数、線形、2次曲線、ベジエ曲線などの方法があります。特に、ベジェ補間は、ハンドルのタイプと制御点によってカーブの形が決まります。Illustrator のパスの編集と同様の操作です。
最初のキーフレームの前と最後のキーフレームの後の状態を外挿補間する方法には、定数(状態キープ)、線形(慣性)、繰り返しなどがあります。
複数のオブジェクトからなる被写体でアニメーションを実現する場合、オブジェクト同士の親子関係を正しく設定する必要があります。
オブジェクトを 子 → 親の順に選択 Object > Parent( [CTRL] + [P] )
被写体の動きにカメラを追随させたい・・という場合は、カメラを特定の被写体に Track to Constraint します。
カメラ→被写体の順に選択。 Object > Track( [CTRL] + [T] )> Track to Constraint
Curveオブジェクトのひとつである Path を使うと、オブジェクトをパスに沿って移動させるアニメーションを簡単に実現することができます。
パスとオブジェクトに親子関係(Make Parent)を設定するだけで、パスに紐付けられたオブジェクトは、キーフレームの設定なしにパスの始点から終点まで、パスの形状に沿って移動します。
Add > Curve > Path
オブジェクト → パスの順に選択 Object > Parent( [CTRL]+[P] ) > Follow Path
プロパティーエディタ > Object Data Property パネル > Path Animation の項目で、以下のような各種調整が可能です。
例えば、プロペラを回しながら飛ぶヘリコプターを表現するには、以下のように階層的にアニメーションを設定する必要があります。
アメーバのように形を変えたり、顔の表情を変えたり、特定のオブジェクトを構成する頂点座標の相対的移動によって変形するアニメーションを作成する際に使用する技術です。以下「顔」を例として、そのメッシュの変形によって「目と口を動かす」事例を紹介します。
対象オブジェクトを選択して、プロパティーエディタ の ObjectData タブを開きます(右図)。
キーフレームの記録方法は、これまでと同様です。
アニメーションの当該フレームまでタイムカーソルを進める 各キーの変形度合いをValueで調整して目的の表情をつくる 各キーごとにValue入力エリアの上で [ I ] Key
すべてのキーを記録することで、その瞬間の表情が記録できたことになります
例えば、「口を半開きにして右目だけ閉じた」表情は、以下のように3つのキーのそれぞれの値の組み合わせとして記録されます。
Key1 0.50 ← 口が半開き Key2 1.00 ← 右目閉じ Key3 0.00 ← 左目開いたまま
Armature はキャラクターアニメーションを実現する際の骨組みとなる部品で、単体ではレンダリングされませんが、Armature に関連付けられたオブジェクトはArmature の関節を利用して自在に変形させることが可能になります。
Armature は、他のオブジェクトと同様に、原点(origin)、位置(position)、回転(rotation)、倍率(scale factor)といった情報を持つとともに、EditMode 内で編集可能なデータブロックを持っています。
編集モードでは、位置・回転・倍率に関するデフォルト形状を Rest Position というデータとして保持していますが、Object Mode とPoseMode でキーフレームを設定することにより、ポーズを付けていくことができます。
Armature を配置する場合は、一般に以下の手順で作業を行います。
[SHIFT] + [C] でカーソルをワールドの原点に置く [Numpad1] で ワールドを正面ビューに切り替える HeaderMenu > Add > Armature
骨格は、初期 Bone を Extrude してつくります。
[TAB] で EditMode に入る Bone の端点を選択して、[E] Key > 枝を伸ばす
Armature 自体はデフォーマ(変形制御のためのオブジェクト)であって、レンダリング時には透明になります。Armature を骨格として機能させるためには、動かしたいオブジェクトと親子関係を設定する必要があります。
Armature は通常複数の Bone(骨)から構成されますが、オブジェクトとの対応関係には2通りの方法が考えられます。ひとつはオブジェクトの関節に相当する部分の頂点をArmatureの関節に関連付ける方法、もうひとつは複数のオブジェクトをArmatureを構成するBoneひとつひとつに関連付ける方法です。前者は「Armatureの動きに従ってオブジェクトが変形」、後者は「Armatureの動きに従って各オブジェクトが移動」という違いになります。
Object Mode に入る(TAB) オブジェクト → Armatureの順に選択して Object > Parent( [CTRL]+[P] ) > With Automatic Weight自動的に近接する頂点が関節に結びつけられます。
オブジェクト → Armature の順に選択 PoseMode に入る( [CTRL] + [TAB] ) オブジェクトと関連づける Boneを選択 Pose > Parent( [CTRL]+[P] ) > Boneすべてのオブジェクトとボーンについて、この関係づくりを行います。
Armature の Bone をアニメーションさせるには、PoseMode を使用します。
[CTRL] + [TAB]
PoseMode では、それぞれの Bone を回転させて、ポーズをつけながらキーフレームを記録することで「振り付け」ができます。
関節の動きを伴うキャラクターのアニメーションでは、階層上の親が子をコントロールする Forward Kinematics と、子から逆に親をコントロールする Inverse Kinematics とがあります。特に後者は、指先をつかんで腕の動きをコントロールするなど、「振り付け」がしやすい点で重要な手法です。
Header Menu > Pose > Inverse Kinematics > Add IK to Bone プロパティエディタ > Bone Constraints Property > Add Constraint > IK
Latticeは3Dの格子から成る外部コントロール構造で、それ自体はレンダリングされませんが、関連付けられたオブジェクトは、Latticeの頂点の起伏に応じて滑らかにその形状を変化させた形でレンダリングされます。波打つような形状変化をさせたい場合などに有効な手段です。
Add > Lattice プロパティエディタ > U と V の値でグリッドの数を調節 エディットモードで Lattice 各頂点の位置を編集
オブジェクト → Latticeの順に選択 Object > Parent( [CTRL] + [P] ) > Lattice Deform
オブジェクトを動かし、Latticeによる形状変形の効果を確認してください。