LogoMark.png

Blender/Animation の変更点


#author("2019-12-29T01:55:48+09:00","default:inoue.ko","inoue.ko")
*アニメーション
~

&color(red){Blender 2.8 からインターフェイスが大幅に変更されて、当サイトの内容は古くなっています。};
~

Blenderではキーフレームごとの動きの記録や、モーションパスを利用した動きの制御、またラティスやスケルトン(ボーン)によるデフォーマ(変形)など、様々なアニメーションの作成が可能です。
~
#contents2_1
~
~

**はじめに

***タイムラインの理解

-ワークスペースの一番下にある横に長いウインドウがタイムラインです。
-数字はフレーム番号、すなわち今何コマ目であるかを指し示しています。
-Window上ではオブジェクト名の括弧内の数字が現在フレームを示します。
-タイムライン上をドラッグするとフレームが移動します(時刻が変わる)。
-左右のカーソルで1フレーム、上下のカーソルで10フレームの移動します。
-再生ボタンを押す、または[Alt(Option)] + [A] で、プレビューできます。
~

***ムービーファイルのレンダリング

-レンダリングパラメータの確認
|Resolution| X:640 Y:480 100% | サイズ |
|Frame Range| Start:1   End:150  | 出力フレーム |
|Aspect Ratio| X:100 Y:100 | アスペクト比 |
|Frame Rate| FPS:29.97 | 1秒あたりのコマ数 |
|Anti-Aliasing on| 8 | アンチエリアシング |
//|Shading| Check All | 基本的にすべてON |
|''Output''| &color(red){デスクトップなどに設定 };| ムービーの出力先 |
|~| 出力形式:QuickTime|コデック MPEG4|

-レンダリングの実行
プロパティパネルの[Render] > [Animation]をクリック
※中断したいときは[ESC]キー
ムービーファイルは [Output] で指定されたディレクトリに出来上がります。
//尚 //(Current Directory)というの は~.blendファイルと同じ場所を意味します。
~
~

**キーフレームアニメーション

***位置・回転・拡大縮小に関する動きのキーフレーム

以下、いくつかの方法があります。
#ref(Blender/InsertKey.png,nolink,right,around,100%)
-タイムラインウインドウから
--自動記録
タイムラインの自動録画ボタン(赤いボタン)がONになっていると、3DWindow上で操作されたオブジェクトの状態が、当該フレーム上にキーフレーム情報として記録されます。
--キーフレームアイコン
キーフレームの種類がセットされていると、キーアイコンをクリックすることで、当該フレームに現在の状態が記録されます。
#clear()
-画面左のツールメニューから
3DWindow左メニューの [Keyframes] > [Insert] をクリックして、必要な情報を記録する(位置、回転、サイズ、あるいはその組み合わせ)。
-ショートカット(慣れたらこれが一番です)
3DWindow上で [I]キー、あとは上と同様。
~

***色・明るさ等のマテリアルの変化に関わるキーフレーム

設定項目の上で右クリックすると、コンテクストメニュー内に [Insert Keyframes] が表示されます。それを選択することで、当該フレームに現在の色・明るさ等の状態が記録されます。
~
~

**シェイプキーによる変形

アメーバのように形を変えたり、顔の表情を変えたり、特定のオブジェクトを構成する頂点座標の相対的移動によって変形するアニメーションを作成する際に使用する技術です。
以下、「顔」をオブジェクトとして、そのメッシュの変形によって、「目と口が動く」というケースを事例として説明します。
~

***シェイプキーの作成
#lightbox(Blender/shapeKey.png,right,around,40%)
-変形させるオブジェクト(「顔」)を選択
-プロパティーのObjectDataタブをひらく(右図)

-ShapeKeysのところで、[+]を押す
→ Basisというデフォルト用意される
-エディットモードに入って、デフォルト形状を編集する
(例えば、両目と口を開けた状態をデフォルトとします)
-オブジェクトモードに戻る
以上で、デフォルト形状がBasisとして記録されました。

-ShapeKeysのところで、必要な動作項目の数だけ[+]を押す
顔の例でいえば、口閉じる、右目閉じる、左目閉じるの3項目分[+]を押す
→ Key1、Key2、Key3とキー記録用の変数(アイコン)が用意される
-Key1を選択し、エディットモードに入ってKey1の形状を編集する
(この事例では、標準形状から口だけ閉じた状態をつくる)
-オブジェクトモードにもどる
すると一旦Basisの状態に戻ってしまいますが、それでOKです。
Valueを0から1.0へ変化させてみて下さい。
形がKey1の状態へと変化する場合は、正常に記録されています。
-Key2、Key3についても同じ様にその形状を編集します。

以上で、各キーの形状が記録されました。
キーのいずれかを選択してValueをスライドしてみて下さい。
Value 0.0(デフォルト形)から1.0(変形しきった状態)まで
形状の変化が確認できると思います
~

***アニメーションの記録

さて、ここからようやく、顔を動かすアニメーションです。

-アニメーションの当該フレームまでタイムカーソルを進める
-各キーの変形度合いをValueで調整して目的の表情をつくり
各キーごとにValue入力エリアの上で右クリック>InsertKey、あるいは[I]nsertKey

すべてのキーを記録することで、その瞬間の表情が記録できたことになります
例えば、「口を半開きにして右目だけ閉じた」表情は

Key1 0.50  ← 口が半開き
Key2 1.00  ← 右目閉じ
Key3 0.00  ← 左目開いたまま

といったかたちで、3つのキーのそれぞれの値の組み合わせとして
記録されます。
~
~

**ペアレントとトラッキング

***ペアレント設定
複数のオブジェクトからなる被写体でアニメーションを実現する場合、オブジェクト同士の親子関係を正しく設定する必要があります。

[SHIFT]+RightClick で子→親の順に選択
[Object]>[Parent] ([CTRL]+[P]) で[Object]を選択します。
親を動かす → 子はそれにしたがって動く
子を動かす → 親の位置から相対的に動く
~

***トラッキング設定
通常の撮影でもよく行われるように「被写体の動きにカメラを追随させたい」という場合も多くなります。この場合はカメラを特定の被写体にMake Trackします。

[SHIFT]+RightClick でカメラ→被写体の順に選択。
[Object]>[Track] ([CTRL]+[T]) でTrack to Constraint を選択します。 
~
~

**パスアニメーション
被写体やカメラを一定の曲線に沿って移動するように制御したい場合は、モーションパスを置いてそれとオブジェクトを親子関係(Make Parent)にします。モーションパスに関連付けられたオブジェクトはキーフレームの記録がなくともパスの始点から終点まで移動します。

-上面ビューからモーションパスを配置する
Add > Curve > Path
-パスの形状を編集する(通常の曲線の編集と同様)
-対象となるオブジェクトとパスに親子関係を設定する
オブジェクト → パスの順に選択
[Object]>[Parent]([CTRL]+[P]) として、[Follow Path]を選びます。

プロパティーパネルの [Object Data] のところで、以下のような各種調整が可能です。
-Path Animation Frames : パスの始点から終点までのフレーム数
-Path Animation Follow にチェック:進行方向に頭を向けて動きます。
~
~

**ラティスによるデフォーム
Latticeは3Dの格子から成る外部コントロール構造で、それ自体はレンダリングされませんが、関連付けられたオブジェクトは、Latticeの頂点の起伏に応じて滑らかにその形状を変化させた形でレンダリングされます。波打つような形状変化をさせたい場合などに有効な手段です。

***設定の手順
-オブジェクトの準備
シェイプ・アニメーションの対象を準備します。
-Latticeの配置
Add > Lattice
エッディットウィンドウのUとVの値でグリッドの数を調節します。
その後、エディットモードで各頂点の位置を編集して外部コントロール
構造を決めます。
-関連付け
オブジェクト→Latticeの順に選択して [Object]>[Parent]([CTRL]+[P]) 
Lattice Deformを選ぶと設定完了です。
オブジェクトを動かし、Latticeによる形状変形の効果を確認してください。
~
~
**Armature(スケルトン・ボーン)によるデフォーム
Armatureはキャラクターアニメーションを実現する際の骨組みとなる部品で、単体ではレンダリングされませんが、Armatureに関連付けられたオブジェクトはArmatureの関節を利用して自在に変形、レンダリングすることが可能になります。
ArmatureはいくつかのBone(骨)から構成されますが、オブジェクトとの対応関係には2通りの方法が考えられます。ひとつはオブジェクトの関節に相当する部分の頂点をArmatureの関節に関連付ける方法、もうひとつは複数のオブジェクトをArmatureを構成するBoneひとつひとつに関連付ける方法です。前者は「Armatureの動きに従ってオブジェクトが変形」、後者は「Armatureの動きに従って各オブジェクトが移動」という違いになります。
以下、それぞれ手順を説明しましょう。
~

以下 Kator and Legaz のサイトにあるサンプルです。
http://3dmodels.katorlegaz.com/human_male/0143/
~


***1-Object / 1-Armature

-オブジェクトの形状編集
関節の位置(付近)に頂点がくるように編集します。頂点がないと関節ができません。
-Armatureの配置
ADD > Armature 
関節がある程度できた状態のもの(メタリグ)と単品のボーンとがあります。
シングルボーンの場合、エディットモードで頂点をエクストルードすると関節を増やすことができます。人体とは異なる骨格構造をもつものは、この方法で関節を作り上げて下さい。
オブジェクトの関節となる位置にArmatureのJointが一致するように編集します。
(完全に一致する必要はありません)。
-関連付け
オブジェクト→Armatureの順に選択して、親子関係を設定します([CTRL]+[P])。
[Set Parent] > [Armature Deform] > [With Automatic Weight]と選べば
自動的に近接する頂点が関節に結びつけられます。
-振り付け
ポーズモードに入ります([CTRL]+[TAB])。
関節の位置を動かしながらキーフレームを記録していきます。
記録は通常のアニメーションと同様、[I]です。
~

***1-Object / 1-Bone

-オブジェクトの準備
Boneの数に相当する数のオブジェクトを配置します。
-Armatureの配置
関節がある程度できた(メタリグ)と単品のボーンとがあります。
各オブジェクトとArmatureの各Boneが一致するように編集します。
-関連付け
#lightbox(Blender/ObjectBone.png,right,around,30%)
まず、Armatureを選択してポーズモードに入ります。
その状態で、オブジェクト → 特定の Bone の順に選択し、
メニューの[Pose]>[Parent]の順で親子関係を設定します([CTRL]+[P])。
[Set] > [Bone]と選べば、オブジェクトがBoneに関連付けられます。
すべてのオブジェクトとボーンについて、この関係づくりを行います。
#clear()
-振り付け
ポーズモードに入ります([CTRL]+[TAB])。
関節の位置を動かしながらキーフレームを記録していきます。
ここは上の事例と同じです。
~

***インバースキネマティクス( Armature & IK )

関節の動きを伴うキャラクターのアニメーションでは、階層上の親が子をコントロールする場合(Forward Kinematics)と、子から逆に親をコントロールする場合(Inverse Kinematics)とがあります。特に後者は、指先をつかんで腕の動きをコントロールするなど、「振り付け」のしやすさの点で重要です。

-オブジェクトとArmatureの準備・関連付け
ここまでは上述した手順と同様です。
-IKの設定
ポーズモードに入って、先端のボーンを選択します。
1) メニューから Pose > Inverse Kinematics > Add IK to Bone 
または
2)プロパティパネルの[Bone Constraints]パネルから
[Add Constraint] > [Invers Kinematics]を選択
-振り付け
--先端ボーンがハンドルの場合、通常の記録と同様、ポーズモードで振り付けて、各ボーンにキーフレームを記録します。
--先端のボーンの先にEmptyを置いて、それをTargetに設定すると、ArmatureはEmptyの動きに従いますので、ポーズの記録ではなく、Emptyの動きだけを記録すれば良いということになります。
~
~