NLA(ノンリニアアニメーション)
hr.icon
https://www.youtube.com/watch?v=ywhRUWOq_Aw
hr.icon
1. はじめに
Mixamoのキャラクタデータとモーションデータを利用して、BlenderのNLA(Nonlinear Animation)による編集方法を紹介する。上のYouTube Tutrialに沿って進める。
キーフレームのみのアニメーション作成では、異なるアニメーションをつなぐためには細かなキーの調整が必要になるが、NLAを使えばキーフレームデータ同士を自動的に補間するため、作業時間を大幅に削減することができる。
https://www.youtube.com/watch?v=dF_z2r_M20E
hr.icon
2. mixamoデータのDL
mixamo()から以下の6種のデータをダウンロードする。 キャラクターデータに関しては、mixamoライブラリからでも自作キャラクターをアップロードしてもよい。
攻撃される側:Fight Idle(Skin含む)、Sweep Fall、Kip Up
攻撃する側:Fighting Idle(Skin含む)、Flying Kick、Step Backward
mixamoの使い方は下記URL参照。
2.1 Fight Idle
fight idleで検索
攻撃される側の好きなキャラクター(The Boss)にfight idleを設定
Format: FBX、Skin: with skin、30fps、keyframe reduction: noneでDL
https://gyazo.com/6f354605986c6b6d6bb572cfa959bea6
2.2 Sweep Fall
sweep fallで検索
Skin: without skinでDL
https://gyazo.com/96be68164e2860369cc31a168f143ce9
2.3 Kip Up
kip upで検索
Skin: without skinでDL
https://gyazo.com/77ec2b5c10a8e801be9f7026fc1af427
2.4 Fighting Idle
fighting idleで検索
攻撃する側の好きなキャラクター(Michelle)にfighting idleを設定
Format: FBX、Skin: with skin、30fps、keyframe reduction: noneでDL
https://gyazo.com/8510a1fd76f1ee42a79f4404b3079291
2.5 Flying Kick
flying kickで検索
Skin: without skinでDL
https://gyazo.com/2f5b6db9643a35b3fbcfdb096cb55ef1
2.6 Step Backward
step backwardで検索 ※3種ある、任意
Skin: without skinでDL
https://gyazo.com/c27dc81bdb62e891ef323dda38593904
hr.icon
3. Blenderの準備
Boxの削除
OutlinerでCameraとLightのCollectionを非表示
https://gyazo.com/79f419aaee37158ebad328766a6982ac
hr.icon
4. 攻撃される側の読み込み
4.1 Fight Idleの読み込み
Fileメニュー > Import > FBX (.fbx) から、Fight Idle.fbxを読み込む。
https://gyazo.com/276dd14e7d7d5ccbdd326c9afe332e1b
Viewport Shadingの設定(Solidのオプション)
Lighting: Flat
Color: Texture
https://gyazo.com/9e4b0598c29a710f91e9073bc02865ac
4.2 キーフレームの確認
3D ViewportでArmatureの選択する。
https://gyazo.com/5694d8fec742cbc42f32b48f6fd720e2
もしくは、OutlinerでArmatureを選択する。
https://gyazo.com/ac2367498433de182750a29d0a71f09a
TimelineでKeyframeを確認する。
https://gyazo.com/9db6ba32cb5c60a0a49cd844ff05e160
4.3 タイムラインの操作
時間インジケータを左右にドラック or Option+マウスホイール
https://gyazo.com/72b6ca461728e9222a95d440dc5938c0
再生/停止(Space)
https://gyazo.com/9062567078ada613705634c66b1a8603
Start Frame、End Frame(再生範囲)の設定
https://gyazo.com/f2897c0581bdd5fcfba46b5e491238c3
タイムラインの拡大/縮小:マウスホイール
タイムラインの横スライド:Cmd+マウスホイール or パネル下方のバー
Frame Rate 30の確認(Output Properties)
https://gyazo.com/8f6fbab1fc9788b9cbf868f790f564b2
4.4 Dope SheetとAction Editorへの切り替え
Dope Sheet Editorへ切り替える。
https://gyazo.com/70b0fa2631292fdee43c4fcde5b96041
次にAction Editorへ切り替える。
https://gyazo.com/cb6721854d1d0eb86c088f5ab696b465
4.5 Fight Idleのアクション名の変更(アクションの登録)
FBXを読み込んだ時点で、自動的にアクション名が付与されている。
https://gyazo.com/48220e8411214fab899b3e0dd009b7df
わかりやすくするために、アクション名称をBOSS IDLEへ変更してENTERキーで確定https://gyazo.com/b1a00234f12ee6b9ea228134bbcfb4b9
念のため、Brows Actionをクリックして確認する。
https://gyazo.com/14dfc258c9dbc6ab0f2ef66acb71b68a
(参考)ドープシート
Timelineは再生等が主で、Dope Sheetはアニメーションの各種編集するもの。
Action Editorの切り替えはDope Sheetのみ可能
(参考)アクションの削除方法
(参考)Fake User
4.6 Sweep Fallの読み込みとアクション名の変更
File > Import > FBXで、Sweep Fall.fbxを読むこむ。
https://gyazo.com/3ad64f6b573615adfd3fc77b1fd7695f
上図のように、3D ViewportでSwep Fall.fbxのArmature(Outliner上ではArmature.001)が選択されている状態(オレンジ枠)で、そのArmatureのキーフレームが表示されていることを確認する。
アクションの名称をFALLへ変更してENTERキーで押す。
https://gyazo.com/e8a5071d115e96d95c7c67e3df1b6a62
Sweep FallのArmature(Outliner上ではArmature.001)を選択して削除(fn+Backspace or X)する。
Brows Actionアイコンをクリックすると、Armatureを削除してもアクションは残ったままであることがわかる。
https://gyazo.com/bb85de1fbffa64afa7d14ce5e6cf2dfc
4.7. Kip Upの読み込みとアクション名の変更
File > Import > FBXで、Kip Up.fbxを読むこむ。
https://gyazo.com/35fba8848e34ccea1be58cd1b3a1a61e
アクションの名称をKIP UPへ変更してENTERキーで確定する。
https://gyazo.com/372b0146960115549d4267dfe92b1e5b
Kip UpのArmatureのみを選択して削除する。
Brows Actionではこれまでの3つのアクションが残っている。
https://gyazo.com/dd4a926e6b466ac9618ce153f92402e2
参考)キーフレームが非表示になる状況(Push Down後 or Unlink Action)
DopsheetのAcion Editorで、キーフレームをActionとして登録後、Push DownやUnlink Action(☓をクリック)した場合、Armatureを選択していてもキーフレームが表示されなくなる(下図)。Timelineでも同様の状態となる。Unlink Actionした状態は、もとのFBXの初期状態のモーションが再生できるが、モーションを編集することはできない状態となる(T-Poseでモーションがない状態と同じ意味)。
https://gyazo.com/68032a17d57c3c5b9edf5d54de06d2ab
その場合、特定のActionを読み込み直すことでキーフレームが表示される。
https://gyazo.com/0f6cccee1b4cdcfc684c17f90c3305b2
hr.icon
5. Nonlinear Animation Editorへの切り替え
Armatureを選択する。
https://gyazo.com/6829b2b13ea2beea21b67696f4317b8a
Dope SheetからNonlinear Animationへ切り替える。
https://gyazo.com/c923df4360f587b3e4ca2256b09d67df
下図はNLAスタックと呼ばれ、BOSS IDLEのアクショントラックが表示されている。
この段階ではまだキーフレーム状態でストリップ化(キーフレームデータのコンテナ)されていない。
https://gyazo.com/29ee1b0cfc24980ea469c90a53cfa42d
(参考)NLAの使い方
hr.icon
6. Action-Clip Stripへの変換
6.1 BOSS IDLE
下図のPush Down Actionボタンを押す。
https://gyazo.com/f133e238d51b8b4c8a9c4aafc9aac81b
キーフレームデータがAction-Clip Stripに変換される。
https://gyazo.com/72c99f1c8b96483b3a790d169a855cb3
6.2 FALL
Add > Add Action(下図はBlender3)をクリックする。
※既存のNLAトラックを選択していれば新しいAction-Clip Stripが追加される。NLAトラックが選択されていない場合は、Track < Addでトラックを追加してから、Add > Actionを行う。
https://gyazo.com/b67bca231b6b385cf0faeac81013feb9
下図メニューでFALLを選択する。
https://gyazo.com/17bf6c489d265a8a81e8a4713e256af1
FALLのAction-Clip Stripが追加される。
トラック名(NlaTrack)をクリックして変更できる。ここでは変更しない。
https://gyazo.com/93144968c81ac47793861716a33557cd
6.3 KIP UP
これまでの手順と同様にKIP UPのアクションストリップを追加する。
https://gyazo.com/0158736a8248d9978c593149afc5e63e
hr.icon
7. Action-Clip Stripの操作
7.1 Action-Clip Stripの移動
映像クリップの編集のように、Action-Clip Stripをドラッグして再生タイミングを調整することができる。
https://gyazo.com/b9f03386297902832640bcda98ccc5b1
7.2 Blend In
KIP UPとFALLに関して、サイドバーのAction StripパネルのBlend Inを5フレーム(任意)に設定する。
https://gyazo.com/519f09fcd007d3f9ea6dcdd812d5bf37
https://www.youtube.com/watch?v=0INaXuMSS-0
(参考)Blendなしで下のトラックを表示する方法
Action StripパネルのExtrapolationのHoldをNothingにすることで下トラックを表示できる。初期状態はトラックのIN/OUTの外はアニメーションの停止状態を維持する設定となっている。
hr.icon
8. Kip Upの調整
8.1 Kip Up サイド視点のズレ
下映像のようにFALLとKIP UPではキャラクターに位置(Hipボーン)にずれがあるため、背中がすべっているアニメーションとなっている。これを調整するためにはAction Stripのキーフレームを編集する必要がある。
https://www.youtube.com/watch?v=49-LITAo9vQ
8.2 Hipボーンの調整
Object Data PropertiesのViewport DisplayのIn Frontにチェックを入れて、ボーンを前面表示にする。
https://gyazo.com/463a024f3ddc50093f31259feb9330be
3D ViewportをPose Modeに切り替える。
https://gyazo.com/2248ad48fc76ae67d768c286c24e0e97
Armatureのルートにあたるmiamorig: Hips(下図)を選択する。
選択したボーンは3D Viewport左上に表示される。
https://gyazo.com/e808c2e6c2f636b72ba19583a55bc537
KIP UPストリップを選択した上でTABキーを押すと調整モード(下図)に切り替わる。
https://gyazo.com/7808b6187c3e0f86384a4b407e2689ea
NLA EditorからGraph Editorに切り替える。
https://gyazo.com/0c98fffcab11822877fe7abcd7a4e173
View > Frame Selected(Numpad.) or Frame All(Home)で選択したキーフレーム全体を表示する。
KIP UPレイヤーの左の▶をクリックして全てのチャンネルを開く。
https://gyazo.com/d6a6ffd161b644d5c60e7b4b43ab5f2a
Graph Editorのmisamorig:Hipsの左にある目玉アイコンをクリックして全てのチャンネルを非表示にする。
https://gyazo.com/f982cf26b65adcf0835bb15c640266b7
その後、Z Locationのみ表示する。
https://gyazo.com/ebf582f0aa7f7efd3a7a7d7b1e444bfc
Graph Editorの表示操作
ズーム:マウスホイール
移動:マウスホイールボタンのドラック
キーフレームの選択:左クリック、左ドラックで領域選択
全てのキーフレームの選択:aキー
時間インジケータを130フレーム付近(FALLの最後の位置)に移動する。
https://gyazo.com/7a88e30a2551d2becfee0d3aa63d0422
Hipボーンの位置をAnnotateツールで描画する。
https://gyazo.com/d699eb660c0401d3d60abf50aeb892b4
時間インジケータを145フレーム付近(Kip Upの最初の位置、アクションストリップの編集位置しだいで異なる)に移動する。
Annotateで描画した位置からズレていることがわかる。
https://gyazo.com/9a773a4683884f0109c94bc62fa71b71
Z Locationの全てのキーが選択されている状態で、Gキー、Yキーを連続で押す。
Graph Editorのキーフレームを上下に動かして、Annotateで描画したラインに合わせてHipボーンを調整する。
https://gyazo.com/34c5e272fa87a83c503b5283bbe607a9
下映像のように、ズレがなくなったのが確認できる。
https://www.youtube.com/watch?v=zs_SetpHpQc
8.3 Kip Up トップ視点のズレ
わかりづらいが、トップ視点から確認すると横に若干ズレるのが確認できる。
https://www.youtube.com/watch?v=jYUliRYgYQ4
前回の方法と同様にしてズレを調整する。
FALLの最終位置でAnnotateツールでHipボーン位置に目印を描画する。
Graph Editorでは、X Locationのキーフレームを選択した上で、Gキー、Yキを押して調整する。
https://www.youtube.com/watch?v=reorlZInJUw
https://www.youtube.com/watch?v=WyVlUaTtw6k
(参考)アノテーションツールの注意点
アノテーションツールは描画した時点でキーフレームが追加される。その後の操作でアノテーションを削除した場合でもキーフレームは残るので、その後にアノテーションを描画してもそのキーフレームが影響する。その場合はTimelineでannotationのキーフレームをすべて削除するか、以下の方法を行う。
Annotationを全てのフレームで表示する方法
方法① AnnotationツールのオプションでNote > Lockedにする
https://gyazo.com/c95ce8306cfc1b4c9e5fda80cd96d01b
方法② Timeline > Summary > Scene > Annotations > Noteのチェックを外す(Dope Sheetのロックアイコンは編集不可の意味なので異なる)
https://gyazo.com/223c5cd5c93c904b28f33b1020d72e70
hr.icon
9. 攻撃する側の読み込み 7:50〜
9.1 Annoateの消去
Annotate Eraserに切り替えて、前回のAnnotateを消去する。
https://gyazo.com/daf1b8cf34d7f4d5395ab6a466bbc2a5
9.2 モード切り替え
Pose ModeからObject Modeへ切り替える。
Graph EditorからDope Sheetへ切り替える。
https://gyazo.com/7a02215b1f9ef2b1aac6eb4a1b0c8dcf
9.3 Fightintg Idleの読み込み
File > Import > FBXで、Fighting Idle.fbxを読むこむ。
2つのキャラクターが重なった状態になっている。
https://gyazo.com/163b25aba064e2f1afcf0b149738aed1
攻撃側のArmatureの選択した上で、Y軸方向へ移動(G, Y)して、Z軸180度回転(R, Z, 180)する。
https://gyazo.com/7e9b4165eba47dc099bb98d01f2d1928
Dope Sheet/Action Editorに切り替える。
https://gyazo.com/30c3443be35ce21ec1bc8fbcee3956e7
Actionの名称をMAIN IDLEに変更して、Push Downボタンを押す。
https://gyazo.com/b87e95d886c8fc89842924b7496022dc
Action Editor上は何も表示されなくなる。
Browse ActionでMAIN IDLEが登録されていることを確認できる。
https://gyazo.com/0350d7c40b364aa1315a44735fd2c0dd
9.4 Flying Kickの読み込み
File > Import > FBXで、Flying Kick.fbxを読むこむ。
Armatureの向きは変更する必要はない。
https://gyazo.com/acaa8abef9367a9c4975684121ff8a26
Action名称をFLYING KICKに変更して、Push Downボタンを押す。
https://gyazo.com/5f925e907dbdd683a77c226fd03a36db
Flying KickのArmatureは削除する。
https://gyazo.com/62d904a2e73959a01e94310dc0ee9842
9.5 Step Backwardの読み込み
File > Import > FBXで、Step Backward.fbxを読むこむ。
https://gyazo.com/d6e18b848157290875495eae0c51cc53
Action名称をSTEP BACKに変更して、Push Downボタンを押す。https://gyazo.com/e59a492f93c53d028f0205dd026fda95
Step BackwardのArmatureは削除する。
https://gyazo.com/085af799ecef0b6b9362c81ec7cdb251
hr.icon
10. FLYING KICKの調整
Nonlinear Animation Editorに切り替える。
https://gyazo.com/b00350e0bf2eb7f8202413e8030683c7
攻撃側のArmatureを選択する。
https://gyazo.com/f4440824b00d38fd38c6d5b7194f901e
MAIN IDLEトラックを選択している状態でAdd Action Stripをクリックする。
※選択していないと新しいAction Stripを追加できない
https://gyazo.com/e15590bce7dcf2b4507680f8c4d51582
続いて表示されるメニューからFLYING KICKストリップを読み込む。
https://gyazo.com/1e9dfb93056e77c69d83090aade295ac
下図のようにFLYING KICKストリップを移動して、StripサイドバーからActive StripのBlend Inを5フレームにする。
https://gyazo.com/033630314d8786f8a6709406c7e6fc94
MAIN IDLEストリップが長いので、サイドバーのAction ClipセクションのRepeat: 0.7に変更する。
攻撃される側(BOSS)の動きに応じて、攻撃する側のFLING KICKのタイミングを調整する。
https://gyazo.com/648e513e598ebe6bcb278e9d19920215
攻撃される側(BOSS)のFALLのAction ClipセクションのPlayback Scale: 0.9に変更して若干早くする。
KIP UPストリップも必要に応じて移動する。
https://gyazo.com/717cfe3f7c869541af7841f81b9a0416
アクションが自然に見えるように、FALL、KIP UP、FLYING KICKのタイミングを調整する。
https://www.youtube.com/watch?v=-ZJqHjisp4M
hr.icon
11. STEP BACKWARDのズレの調整
11.1 STEP BACKストリップの読み込み
FLYING KICKストリップを選択した上でAdd Tracks Above Selectedを行う。
https://gyazo.com/c24ca41232ad9010325ddf806ae7a164
新しいトラックが追加される。
https://gyazo.com/c04fed6289964600623cf53968f68b97
Add Action StripでSTEP BACKを読み込む。
https://gyazo.com/e788f8f79d5118583b76459a325ac7eb
STEP BACKストリップのBlend Inを5フレームに変更する。
https://gyazo.com/b27d55a9227a338f404fe716b7559a36
11.2 STEP BACKのズレの調整
下映像のようにかなり位置がズレている。
https://www.youtube.com/watch?v=qZ3PQvnuszY
STEP BACKを選択した上でTABキーを押して調整モードに切り替える。
https://gyazo.com/a23f16b97fc2ed08c954115f17830880
攻撃側のArmatureを選択して、Object Data PropertiesのViewport DisplayのIn Frontにチェックを入れる。
https://gyazo.com/95081292ee48e9a0502fb5ca58cb1f82
Pose Modeに切り替えて、Hipボーンを選択する。
https://gyazo.com/5d1321aef6feed9f3865391d2ad05d83
Graph Editorに切り替えて、View > Frame All表示する。
https://gyazo.com/b4d6036910d595812471cb93bda41ab2
全てのチャンネルを展開して、Z Locationのみ表示する。
https://gyazo.com/100597fdda54747446684a0f438789ab
Right Orthographic視点に変更する。
Annotateで、前のアクション(100フレーム付近)のHip部分に線を引く。
https://gyazo.com/6ba05b385904a461080706e1ab2371d6
Z Locationのキーを全て選択(Aキー)した上でGキー、YキーでGraph Editorの上方向へ移動する。
かなり移動するので、Graph Editorもスケールしながら少しずつ移動する。
下映像は調整後の映像。
https://www.youtube.com/watch?v=IUZvN0WlR7o
hr.icon
12. STEP BACKの繰り返し
Annotateを消去しておく。
https://gyazo.com/08ae6aa3caadd11c07c7104ad98885ae
Dope Sheet Editorへ切り替える。
キーフレームが見えない場合はタイムラインを右側へ移動する。
https://gyazo.com/44e6bbc2f7a64b8a7bc623c54a78363e
Pose Modeのままで、3D ViewportでAキーを押して全てのボーンを選択する。
https://gyazo.com/a5d06950c8a5b0f17e24024063e8d03e
キーフレームをShift+Dでタイムライン右側方向に複製する。
https://gyazo.com/26653948d73633683f0387128bbcff78
Aキー or 領域選択(下図)を押して全てのキーを選択する。https://gyazo.com/653176040fdb236bc5b769aa91285259
さらに、キーフレームをShift+Dでタイムライン右側方向に複製する。
https://gyazo.com/74b4cbcb943bfad85e0f48bd95bb4dc9
下映像のように4回STEP BACKを繰り返したことになる。
https://www.youtube.com/watch?v=Q3aSSgxGIPM
Graph Editorに切り替える。
https://gyazo.com/1e7c4ac491d637aebd5067fce2fbf32f
一旦何もないところをクリックして全てのキーフレームの選択を解除する。
その後、Cキー(サークル選択)を押して2回目のキーフレームを選択。
https://gyazo.com/7876308548d9af87053f896610f6dfa4
ESCを押してサークル選択を解除する。(解除しないとキーフレームを移動できない)
Gキー、Yキーで下方向へ移動する。
https://gyazo.com/2d282487205c95fa32366c8bd4a9c5cb
(参考)Graph Editorのサークル選択
Cキーでサークル選択モード
ESCでサークル選択モードを解除
マウスホイールでサークルのサイズ変更g
同様に2回繰り返す。
https://gyazo.com/d6e2217bbef8fd03e36dc0a92f8d7c2d
https://www.youtube.com/watch?v=aNt2_sy0EYM
完成。
https://www.youtube.com/watch?v=dF_z2r_M20E
hr.icon
11. 攻撃する側とされる側のずれ(参考)
YouTubeのTutorialでも解説されていないが、TOP視点から確認すると攻撃する側とされる側では少しずれている。
これまでの方法を参考に調整してみよう。
https://gyazo.com/c077de0710234f3f547416ef961fb7ea
hr.icon
12. 映像レンダリング
カメラ構図の設定
エンドフレームの設定
Render Propertiesの設定
Render Engine: Workbench
Lighting Flat
Color: Texture
Output Properties
Output: 保存場所
File Format: FFmpeg Video
Encoding Containger: MPEG-4
Render Animation
課題 自由にキャラクターやアニメーションを変更して作成
hr.icon
参考情報
メモ
Object ModeでArmatureを選択してPose Modeに変更
腰骨(Hips)がArmatureのルートなのでGraph Editorで編集する
Z locationとY軸拘束で移動
参考サイトのメモ「Z 位置のチャネルのグラフは、時間の経過とともに値が急上昇しているため、このチャネルのキーフレームが 3D キャラクターの前進を表しているとわかります。 (通常、Blender アニメーションでは、これは Y 軸変換になりますが、FBX 形式では Z を Y として認識し、その逆も同様です)。」
Bake Actionの方法
まず、全てのトラックとArmatureを選択
Eidt > Bake Action
Only Selected Bonesのチェックを外す
Visual Keyingのチェックを入れる
Bake DataはPose
OKをクリックしてベイク完了