ポーズ・モーション作成
BlenderとAnimation Tools N3(Custom)を使い人間用のポーズまたはモーションを作成します。
Blenderに慣れてなくても気軽に試せて、凝ったことをしない限りは簡単でゲームに持って行くまでの手順も少ないので初めてでもオススメできます。
Animation Tools N3は比較的難しいリギング(アニメーション制御するための設定みたいなもの)をすべて行ってある素体とコンバートツール一式揃ってます。
さらにより分かりやすく使いやすくしたAnimation Tools N3 Rig Customの素体を使います。



必要なもの

Blender 最新版(※Zip版で問題ありませんがインストーラー版と少し手順変わります。)
Animation Tools N3 - with IK armature
Animation Tools N3 Rig Custom

上2つともダウンロードして展開したら特にやる作業はないです。
Animation Tools N3 Rig Customはフォルダの中身をAnimation Tools N3のフォルダに上書きしてください。

Blenderでの作業

Blenderを開いて、File -> OpenでAnimation Tools N3フォルダを開きます。
ポーズは基本的に共有なのでどちらでもいいですが、男性用ならExample_Male_Vanilla.blend、女性用ならExample_Female_UNP.blendを開きます。

用語

ボーン: モーションを作るのにメッシュの頂点を一々移動していたら途方も無いので、ボーンと呼ばれるその名の通り骨状のものをモデルに入れます。ボーンの動きにどれだけメッシュの頂点も追従するかを塗って設定するのがウェイトと言います。
スケルトン: ボーンの集合体をスケルトンといいます。
アーマチュア: =スケルトン。Blenderでのスケルトンのことをアーマチュアと言います。
FK(フォワードキネマティクス): ボーンの 根本から軸回転 で作ります。例えば手を挙げるポーズを作るときにFKの場合は肩→上腕→前腕と関節を根本から1つずつ回転させて作ります。
IK(インバースキネマティクス): IKは 逆(インバース) なので、 先端の位置 で作ります。手を挙げるポーズは先端の腕にIK制御用のコントローラーを追加し、それを上に上げるだけで肩や腕の回転は自動計算されます。最初はとっつきにくいかもしれませんが、モーションを作成する時に極めて効率が良くなります。Animation Tools N3は腕や足の操作はIKです。

FKとIKについては後述で詳しく解説します。

ポーズを作る

基本的にはコントローラーと呼ばれる部分を動かします。
Rig Customはそれぞれのコントローラーの役割を色分けしています。

:IKコントローラー。これを移動させて腕や足の位置を決めます。
:回転コントローラー。GまたはRで回転させます。
:ターゲット。肘や膝がこのターゲットの位置に向きます。

まずは腕を動かしてみましょう。
手についてる赤い球体の TGT_Forearm_R右クリックで選択 します。

Gキー を押して移動します。この時にx,y,zキー押すとその軸だけの移動に制限することができます。
動かしたい位置に持って行き、左クリックで位置の確定、右クリックでキャンセルです。
カメラの移動は中クリックしながらドラッグまたはテンキー(+Ctrl)で出来ます。

手首が下がってるので角度を変更します。
カメラをテンキー3を押して横にし、緑の TGT_Hand_R を右クリックで選択します。


Rキー もしくは Gキー で回転できます。これもx,y,zキーで軸の制限ができます。

基本的な操作方法は以上です。
コントローラーを移動か回転するだけですので簡単ですね。

各種コントローラーの役割の説明

足回りのコントローラー
手回りのコントローラー
胴回りのコントローラー

  • 画像には無いですがよく使うコントローラー
Controller_Knee_L&R  膝の向き

手順的には腰( Controller_Pelvis_MovemantNPC Spine 0,1,2 )をまず決めてから、 TGT_Forearm で腕の位置を決めます。
TGT_Hand で手首の角度を直して、 Controller_Elbow で肘の位置を決めます。
次に足の Controller_Foot で足のポジションを決めてから他の足の部分も調整します。

出力

ポーズモード中に 何かひとつコントローラーまたはボーンを選択した状態 で、
画像のようにText Editorを開いて、Textを選び、Run Scriptを押して出力をします。


※エラーが出る場合
Zip版もしくは何らかの原因で、本来なら開いた.blendファイルと同じ位置に配置されてるskeleton.txtが読み込めないためです。
Blenderのデフォルトフォルダがファイルパスのルートディレクトリに設定されてるためです。以下の2つのパターンのどちらかで解決します。
スクリプト書き換える方法
Blenderに表示されているスクリプトを直接書き換えます。
Animation Tools N3フォルダに入ってるskeleton.txtを絶対パスで指定します。
例:
7行目
FileName_AnimationKeys = "C:\Animation Tools N3\zBoneKeys.txt"
19行目
FilePath = "C:\Animation Tools N3\skeleton.txt"

\uXXXXや\UXXXXXXXXというような文字列を含むエラーが出る場合、uとrを含むファイルの\を重ねて\\にします。
C:\\Users\... 等。(参考http://d.hatena.ne.jp/itasuke/20090815/p1

Blenderフォルダ直下にファイルを置く
現在作業中のBlenderフォルダがパスの初期位置になってるのでそこにファイルを置けば動きます。
※あとで必要なzBoneKeys.txtもBlenderフォルダに生成されるので注意!

例:C:\blender-2.75-windows64\にskeleton.txtをコピー

hkxにコンバート

Animation Tools N3フォルダに
empty.kf, zBoneKeys.txt(Blenderフォルダ直下にファイルを置くにした場合はBlenderフォルダからファイルを持ってきます)が入ってるか確認します。
Convert.batを起動すると自動でkfファイルを変換します。
うまくいくとConverting Animation to KF Format is DONE!と出ます。
Enterキー(適当なキー)を押すと更にコンバートが進み、成功するとempty_new.hkxが同フォルダに出力されます。
続行するには何かキーを押してください . . .と出るのでEnterキーか何かを押して閉じます。
同フォルダにempty_new.hkxが生成されています。これがポーズのファイルです。

あとはリネームして既存のポーズmodのファイルと置き換えしましょう。
スカイリムのフォルダ\Data\Meshes\actors\character\animations\ がモーション用のフォルダです。

※CKのActorを右クリックしてPreviewすることでanimationsフォルダ直下のファイルのみプレビュー可能です。
ここで確認することでわざわざゲーム内で確認しなくてもすみます。
一旦プレビューを閉じてファイルを更新しても反映されないのでリネームで別の名前に変えることで更新できます。


ポーズの作成方法はこれでおしまいです。おつかれさまでした。

オブジェクト付きポーズの作り方

例えばカゴやコップなどのオブジェクト(小道具)をつけたポーズを作ることができます。
以下のブログに詳しく丁寧に書かれているので参照にしてみてください。
Lucien House - BlenderでFNISオブジェクト付きポーズを作る by Kuromimi

操作tips


移動/回転方向軸の制限

Gキー+○軸キー で移動する方向軸を制限できます。
たとえば、 Gキー+Xキー ならX軸に沿ってしか動きません。
これが Gキー+Yキー ならY軸、 Gキー+Zキー ならZ軸に沿います。
同様に Rキー+○軸キー で回転する方向軸を制限できます。

さまざまな回転方法

色々な回転方法がありますが、まず理解しやすいようグローバル軸とローカル軸を覚えておきましょう。

グローバル軸とはシーン全体のXYZ軸でオブジェクトがどれだけ回転しようがこの軸は一定です。
ローカル軸とはボーンの持っているXYZ軸で、軸はボーンの向きに依存します。

Rキー+○軸キーで行う回転はグローバル軸に沿って動きます。

ローカル軸に動かす場合は Rキー+○軸キー2回押し です。
たとえば、R+Z+ZでローカルZ軸に沿って回転します。

もうひとつローカル軸に動かす方法は、マニピュレータを使います。
赤緑青の円で構成された球体状のものがマニピュレータです。
動かしたい軸をドラッグするとその軸に沿って動きます。
青ならローカルZ軸に沿って回転します。

最後に、グリグリ動かせるトラックボール回転です。
ゲームパッドのアナログスティックのような回転といえばわかりやすいでしょうか。
Rキー+Rキー で使えます。左クリックで確定。
肩(鎖骨)や指の付け根などの球状に動かせる部分に最適です。

移動/回転のリセット

Alt+G で移動のリセット
Alt+R で回転のリセット
たとえばポーズのリセットをしたい場合はAキーで全選択したあと、Alt+G、Alt+Rです。

ポーズライブラリに登録

必須な作業ではありませんが登録しておけばいつでも呼び出せるので複数ポーズ作るときには大変便利です。
まず Aキー ですべてのボーンを選択し(水色になる)
右側のプロパティウィンドウから人のマークを選びます。

PoseLibを開いてNewをおしてライブラリを作り、縦に並んでる方の+のボタンを押してAdd Newで現在のポーズを登録します。
虫眼鏡マークで登録したポーズを適用させることが出来ます。
選択したボーンにしか適用しないので、例えば、腕のポーズだけコピーということもできます。

隠しボーン

普段は気にしなくていいボーンは操作しにくくなるので非表示になってます。
例えばスカートや武器位置のボーンなど。これらも操作することができます。
右側プロパティウィンドウのArmatureのレイヤーで非表示になっているバニラのボーンを表示させます。
あとはコントローラーと同じように操作します。

モーション作成方法

最も基本的なモーション作成方法は最初と最後のポーズの2つのポーズを作ることです。
Blenderがその間の動きを自動で補完してくれます。
つまりポーズさえ作れれば、モーションは簡単に作ることができます(自然に作れるかは別問題ですが)。

サンプルgifアニメ
最初の座ってるポーズと立って腕を上げたポーズだけ作って再生しただけです。

ポーズと手順は似てますが、 キーフレームを打つ という作業が必要です。
フレームにボーンの回転量や移動量の情報を記憶させます。
ポーズと違ってモーションはコマ(フレーム)の連続で、打ったキーフレームとキーフレームの間は自動で補完します。

ポーズ作成の要領で最初のポーズを作り、Pose Modeでの状態を Aキー でボーンを全選択します(水色になる)。
Iキー を押してInsert KeyFrame Menuを出し、 LocRot (位置と回転情報の記録)を選びます。これでキーフレームを打つことができます。

Dope Sheet(Action Editor)

Dope Sheet とはどのボーンにどのフレームにキーが打たれているかの一覧表です。
キーフレームの位置はいつでもここから変更可能です。

モードをAction Editorに変えます。
以下の部分の+ボタンでモーションの追加ができます。
image plugin error : ファイルが見つかりません。 (ActionAdd.png)
Dope Sheetの操作
中クリックで左右移動
スクロールで拡大・縮小
Aキーで全選択・全選択解除
Alt+左クリックで選択したフレームのすべてのボーンを選択。
Gキーで選択したキーフレームの移動です。左クリックで移動の確定。
Shift+Dで複製
Homeボタンで表示範囲をすべてのキーに合わる


ひし型がキーフレームです。0の位置にキーフレームがない場合は、 Aキー で全選択して(菱型が黄色くなる) Gキー で移動させます。
0ではないフレームに左クリックで持って行き(例では10)モーションの終わりのポーズを作ります。
ポーズができたら Aキー でボーンを全選択し、 Iキー 押してLocRotでキーフレームを打ちます。

メニューでTimeLineを出し再生してみます。
画像のEndの部分で再生の終了位置を決めます。これは最後にキーフレームを打った位置にします。
あとは再生ボタンを押して再生してみます。

モーションの間隔が短い/長い場合だともう一度dope sheetの方で Alt+左クリック で一番後ろのキーフレームを選択し、 Gキー で移動します。
そしてTimeLineでEndの位置を変えて再生して確認します。

補完の仕方が気になる場合は、途中でキーフレーム打ってボーンを回転を修正して見たりしてください。
Blenderでのモーション製作は以上です。

出力方法はポーズと全く同じですのでそちらを参照してください。StartとEndの長さ分のモーションになることだけ注意。
(抜刀のモーションなどはキーフレームの長さが決まってます。)

Graph Editor

Graph Editorとは補完の仕方をグラフを使って編集できます。
ポーズはこの項目は関係無いですが、自然なモーションを作る上で肝といってもいいです。モーション作業の大半はグラフエディタとにらめっこすることです。

利点
  • どのように補完されているのか遷移していくのかが視覚的にわかりやすいです。
  • 補完の仕方を変えて、後述の自然なモーションを作るコツであるタメツメやタイミングのずらし、曲線的な軌道等ができます。
  • 余計なキーを減らせます。キー数が少ないほど問題が起きにくく、メンテナンス性がよく、あとから修正がしやすいです。
  • 編集度にIキーでキーフレームを打たなくてもいいため作業が速くなります。もう少し腕を高くあげたい、右足を前に出したい等が素早くできます。


自動補完を使った作り方だと、2つのポーズ間のデフォルトでは曲線(Fカーブ)で補完され、動作はじめと動作終わりで減速します。
この補完をたとえば、もっと開始時からすばやく動かして、終わり頃にゆったりとした動きにしたい場合にGraph Editor(2.49bだとIPO Editor)というのを使ってグラフを編集します。

例では計算がわかりやすいように足のIKを100フレーム目でX軸に10動かして IキーLoc をうちます。
補完が等速なら50フレーム目ではXの移動量は5ですよね。これを開始は速くてあとはゆったりした動きにさせます。

GraphEditorを開くと以下のように表示されます。

赤の曲線が左側ウィンドウのX Locationが示す通り、Controller_Foot_RのX軸上の位置の遷移です。
これがQuaternion(クォータニオン) XだとX軸を軸にした回転量の遷移を示します。(ややこしいですが、クォータニオンだとW[1~-1]の値も変動します。)
横軸が時間(フレーム)、縦軸が移動量です。

画像でオレンジ色の丸を引っ張って曲線を編集します。右クリックで選択して Gキー で移動させることができます。
(丸がないときは根元の四角を右クリックすると出てくる)
ベジェ曲線のように扱えます。これをまっすぐ左に引っ張っていきます。
そのあと0フレームの四角を選択して、今度は右側の丸を選択して以下のように左斜めに移動させます。

これで開始は早くてあとはゆったりした動きになってます。
グラフが出てきて戸惑いますが実際に手を動かして試していけば直感的に理解できるはずです。

ちなみに根元の四角を縦軸に移動させると移動量や回転量自体をキーを打つこと無く増減できます。横軸に動かすとキーがふえてしまうのだけ注意。

グラフエディタ実践編


例では武器を後ろに引く動作ですが、キーの打ち方によっては以下のようにうねってS字になってる箇所があります。
右側のモーションの軌道を見ると、25と30フレームの間にカクっと不自然に段差が出きてます。

コレをきれいに弧を描くようなカーブにする場合は25フレーム目を消してしまいます。
すると以下のようになります。

カーブが汚くごちゃごちゃした動きになった場合はこのように消してしまったほうが効果的です。
この方が問題が少なく、メンテ性が良くなります。
カーブをきれいにすることはメンテ性の向上と分かりすさの向上になりますが、リアリティに繋がるわけでもなく味気がなくなったりもします。
一旦きれいにしたあと、タイミングをずらしたり、ためを作ったりの調整することも大事です。

モーションの置き換えや追加

置き換えならば、CKのActorを右クリックしてPreviewすることでモーションが確認できますから、そのファイル名でスカイリムのフォルダ\Data\Meshes\actors\character\animations\フォルダ下に置けばいいだけです。

CKにはモーションを追加する機能がないのでFNISというModを使うことでモーションを追加します。
FNISでのモーション追加方法は詳しくは以下のwebサイトで解説されています。

おばちゃんのスカイリムガイド FNISで遊ぼのFNISを使った新規モーションの登録方法を参考にしてください。

モーションのコツ


アニメーションの原則

ディズニーのアニメーションの12の原則は学ぶことは多いです。
アニメーションの原則-Principles of Animation- Animation OBAKE


スローイン・スローアウト

Slow in & Slow Out (スローインとスローアウト)-Animation OBAKE
↑この概念を振り子のアニメを使って説明されてます。大変オススメ。

イーズイン・イーズアウトやアニメ業界だとタメツメとか呼ばれます。
スローイン(イーズイン)=だんだん遅くなる
スローアウト(イーズアウト)=だんだん早くなる

スローに入って(In)行くと遅くなります、スローから抜ける(Out)と速くなります。

基本的な物理の性質で、車の加速と減速がイメージしやすいでしょうか。
止まった状態から動くときは徐々に速くなり、止まるときは徐々に遅くなって止まります。

人間の動きも同じです。これが均等な速度だと機械的で不自然になるんですね。
メリハリを付けることで、自然でダイナミックな動きができます。
グラフエディターを使うことで確認と修正がしやすいです。
また確認しやすいので後述のモーションパスも使ってみてください。


予備動作と後の動き

立ち上がるポーズを例にすると立った瞬間にピタッと全身止まるのではないです。
腕が少しブレたり、足と手が止まるタイミングをずらしたり、動作の後の動きに変化を付けると自然になります。
逆にキーポーズはじめに予備動作を足すこともいいことです。
力の移動を理解するといいと思います。全てが同時で等速で動くわけではないので予備の動作は腕足胴のタイミングをずらしたりします。

以下の作例をコマ送りにして再生してみましょう。
Mox-Motion トレーニング ストレートパンチ
足→腰→上半身→腕の繰り出しまで全てタイミングがずらします。
全ポーズコピーしてため作るのは不自然に見えるのでおすすめしません。

曲線的な動き(アーク)


人間は直線的な動きはほとんどしません。できるだけ軌道が弧を描くような曲線的な動きにしましょう。
例えば、首を左右に動かすときは途中で顎が若干引くので、曲線的な動きなんですね。
キーを増やすか、グラフエディタで補完を変えます。
例えばY0,Z0でY50,Z50で中間はY25,Z25で斜めにまっすぐ動くんですがY0のカーブを右に伸ばすと初動にためができるので軌道が弧を描きます。
グラフエディタ上ではきれいなカーブでも根元の腰回りの動きを含めるとガタガタな場合もあり、これも後述のモーションパスで確認しやすいです。
動きが自然になるだけでなく視認性がよく視覚的にもわかりやすくなります。


モーションパスのススメ

モーションパスはボーンの軌道を視覚化します。軌道が見えると一発で曲線的な動きをしているかわかるのでオススメです。
Tキーでツールシェルフを開いてToolsタブのPose Tools一番下のMotion PathsをCalculateを押しOK押すことで選択中のボーンの軌道が確認できます。

また、アドオンのMotion Trailは加速度や速度を色で表示できたり、表示の設定の変更や、
モーションパスを編集して軌道の修正やキーの追加等ができます。
作者のサイトだとリンクが切れてるのでGithub版を開いてRAWボタンを右クリックして名前をつけてリンク先を保存します。あとはアドオンフォルダに入れて有効にし、Tキーでツールシェルフを開いてAnimationタブのEnable motion trailでモーションパスの表示を有効にできます。


誇張表現

Blender上ではなかなか良い感じでも、実際に画面に出すと意外と地味…というのはよくあります。
特にゲームでは画面に表示される領域は小さく、カメラも固定ではなくて、他の情報量も多いので埋もれてしまいがちです。
舞台で大げさな化粧や身振り手振りするようなもので、やや誇張気味に表現してしっくり来る場合があります。


よく使うショートカットキー

G,R →移動と回転
Alt+G,R →移動と回転のリセット
I →選択中のボーンのキーフレームを打つ。ほぼLocRotで十分。移動するものはLocation、回転するものはRotationでキー打つとdope sheetやGraph Editorがすっきりします。
Alt+I →選択中のボーンのキーフレームを削除
カメラ回転→スクロールドラッグかテンキー

In-Betweens

前後のキーを参照にして現在のキーを調整ができる機能です。
3DViewのポーズモードのみ使用可能。ものすごく便利なので覚えましょう。
ショートカットは〇〇+Eキー

Push Pose(Ctrl+E)

現在のポーズを強調します。マウスを左右に動かして調整でき、左クリックで確定。3DViewの左下に適用量の%がでます。

Pose Breakdowner(Shift+E)

前後のキーの中割りです。これも調整可能で左クリックで確定。

Relax Pose(Alt+E)

前後のキー参照にして現在のポーズを丸めます。Pushの逆。

人間種族以外のアニメーション作成


人型の場合

人間種族に近いドラウグルなどの人型の場合です。
Animation Tools N6(Skeleton Extractor)とAnimation Tools N5(Skin Extractor)を使って

スケルトンの情報をテキストに書き出し

  1. Skyrim - Meshes.bsaからスケルトンとメッシュのファイル(meshes\actors\xxx\character assets)を抽出します。(FO3 Archiveとかで)
  2. Skeleton.nifをSkeletonConvertor.exeに同一フォルダにおいて、SkeletonConvertor.exeにドラッグアンドドロップします。
  3. SkeletonExtractorのフォルダに01.txtとファイルが出るので、それをskeleton.txtに名前を変える。
  4. Blenderのフォルダにskeleton.txtを配置、あるいはAnimation Tools N3でパスを書き直して指定します。

メッシュとスケルトンをBlender2.7xにインポート

nif pluginを使うと勝手に命名が変わったり、ボーンが回転してしまってアニメーションには適してないので別の経由で持ってきます。

スケルトンのインポート
  1. Blenderを起動して、Blender内のText Editorを開いて、Newを押して新しいテキストを作ります。
  2. N6内の02. Script\Script = Import Skeleton.txt を開いて、全文コピーし、Blender内の新しく作ったテキストにペーストします。
  3. Run Scriptを押すとSkeleton.txtに基づいたボーンが作成されます。

メッシュのインポート
  1. nifskopeでメッシュを読み込んで、ボディのNiTrishapeのデータの内の Nameの方の 数字を覚えておきます。
  2. nifskopeで何も選択していない状態で.objでExportします。(シーンごとエクスポートしないと原点がズレます)
  3. nifのメッシュファイルをSkinConvertor.exeにドラッグアンドドロップします。
  4. 途中で先ほど覚えた数字を入力して再びEnterを押します。
  5. SkinConvertor.exeのフォルダにVertexGroups.txtが出来ますのでBlenderのフォルダに入れます(zBonekey.txtがある場所)。
  6. objファイルをBlenderに読み込みます。オプションはKeep Vertex Orderにオンに、Y Forward Z upにしてください。
  7. Blender内のText Editorを開いて、Newを押して新しいテキストを作ります。
  8. N5内の Script - ImportSkin.txt を開いて、全文コピーし、Blender内の新しく作ったテキストにペーストします。
  9. オブジェクトモードで読み込んだメッシュを選択した状態で、Run Scriptを押すと頂点グループとウエイト情報がコピーされます。
  10. ModifierからArmatureを選んで、ObjectからArmatureを選ぶと、メッシュとスケルトン紐付けられます。
  11. あとは人間種族と使い方は変わりません。(リギングしてないのでコントローラーやIKのセットアップは自分でやってください)
  12. 出力時に高確率でエラーが出ると思いますが、Window→Toggle System Console、コンソールを呼び出しエラー文と行を確認します。
  13. ボーン名の不一致がほとんどの原因なので、スクリプトの方を書き換えて合わせます。例えばTwistの[LUt2]のようなカッコ文が不要。

人型以外の場合


Animation Tools N3を使わずに、Blender 2.49b使用します。
詳しくは中のテキストを参照にしてください。

FKとIKの違い


IK vs FK
前述のとおり、FKは根本から回転させていくやり方、IKは先端の位置から決定させるやり方です。

FKの性質

人間の関節構造上、支点から回転させるために動きが円弧状になるので(例えばボールを投げる等)、基本的にこちらのが動きが自然です。
逆に言うと、円弧状になりやすくて直線的な動きが苦手です。腕を真っ直ぐ動かしたい時にうねうねしてしまいます。
もうひとつ、身体の部位が何かに固定される場合、代表的な例で言うと足の接地ですね、先端の位置を予測して根本から動かすため、非常に難しいです。

IKの性質

先端の位置から決定されるために、意識しないと直線的な固い動きになりがちです。
連動して動く関節は自動計算する手前、荒ぶりやすく(フリック)、肘や膝のターゲット位置なども重要です。


FK/IKの切り替え

FK/IKの切り替えパネル(Nキー押すと出るプロパティウィンドウの一番下に表示されます。)を使う場合は
スクリプトの自動起動を使ってますので、セキュリティの関係上以下の2つを行ってください。 1.推奨。

1. File→User Preferences→File→Auto Run Pyton Scriptsをチェックを入れて、Save User Settingを押してください。(初回のみ)
2. 起動度に画面右上のReload Trustedを押す。※読み込み時の状態に強制的に巻き戻るので、必ず起動時に押してください!


腕のFK/IKの切り替えはIK Strengthを0にするとFKに1だとIKで動きます。
0と1の中間は指が崩壊するので使いません。
Visibilityで表示非表示の切り替えが出来ます。FK使うときはFKをオンにしてください。
Skeletonはバニラのボーンを表示できますので出力時に便利です。



モーション作成の練習

ANITOON!さんのブログ記事と動画を参考にBlender用のサンプル入りと練習用ファイル用意しました。




ある程度ポーズやモーション作成を楽しんだら、 必ずこれで練習してください 。間違いなくレベルアップします。


レイヤーに上段の左からセットアップ済みの 振り子、バウンスィングボール、バウンスィングボール2、運動連鎖 の4つの課題が入ってます。アニメーションは付けてません。
下段も同じ順番に入ってますが、こちらは完成されたアニメーションデータで、あくまで参考にどうぞ。

練習その1:振り子

まず、振り子でイーズイン・イーズアウトを学びます。振り子は等速で動いてるわけではなくて、徐々に加速していき、真ん中を境に徐々に遅くなります。

緑のボーン を選択してRキーで回転、Iキー→Rotでキー打ってください。
全体の長さを90で設定してるので、一往復30で取ると3往復分作れます。反対側まで15フレーム目、戻ってくるのに30フレーム目のように作ればよいです。
原則的にカーブの山にキーを打つので、打つキーフレームは0,15,30,45,60,75,90フレーム目だけ。

Blenderはデフォルトでイーズイン・アウトしてますがカーブエディタの山のキーを選択して、Sキーで拡大して中間がキツめのカーブにしてみてください。

先端のボーンは使わないダミーボーンですが、Motion Trailを使うと軌跡で追えるのでぜひ試してみてください。

応用例:人間の自然な動作で等速な動作はありません、基本中の基本ですべてに応用が効きます。

練習その2:バウンスィングボール

左から右にゴムボールのように跳ねていくボールを作ります。
まずご自身で必要な条件を考えてみましょう。



  1. ボールが落下後に接地して何回か跳ねるが、回数を重ねるごとに徐々に高さがなくなり、徐々に跳ねる間隔が短くなる。
  2. 跳ねは、ボールが一番高い時が一番遅く、接地時するまでと接地後の跳ねた直前が一番速い。
  3. 物体が落下する時には徐々に加速していき接地するまでは減速しない。
  4. 跳ねなくなってもボールは転がる。

この条件で自分でアニメーション付けてみてください。
行き詰まったら、ANITOON!さんのバウンスィングボールの動画を見てください。

応用例:パンチするときも徐々に加速してパンチがヒットするまで遅くなりません。ハンマー振り下ろす動作も接地するまで減速しません。
足の接地も直前で減速しません。

練習その3:バウンスィングボール2

ここでは慣性の法則を学び、スペースィングで重量の表現を身につけます。
軽いゴムボール、ボウリングの玉のような重いボール、等速で落ちるボールの三つを作ってください。
まずご自身で条件を考えてみましょう。



理科(物理)の授業で 慣性の法則 というのを習ったことがあると思います。
とどまるものはその場にとどまろうとする、動くものは動き続ける、です。
この性質で重要なのは 質量が大きいほど慣性の力が強い ことです。
たとえば、タンカーは止まるのにブレーキを掛けてから完全に止まるまで30分8kmぐらい進んでしまいます。
同じようにボウリングの玉のような重いボールを落とすときには、その場にとどまろうとする力も強いので加速が遅いんです。

  1. 空気抵抗の微妙な差を引けば接地のタイミングは一緒。
  2. 重いボールは加速が遅く、加速しだすと速い。
  3. 軽いボールは思いボールに比べて加速が速く、加速し出してもそこまで速くならない。

こちらも行き詰まったら、ANITOON!さんのスペースィングの意味!をみてください。

応用例:先端の重いハンマー等振り上げて振り下ろす時に先端位置はその場にとどまろうとして他の部分よりすごく遅めに動かす(加速する)ようにし、逆に振ったあとはそのまま振り続ける力が働くので惰性で振り過ぎなぐらい動かすと重さを表現できる。
重い荷物持つ動作などでも、荷物の部分を持つ腕が遅れ、持ち上げた時には安定するポジションを超えて上に持ち上げます。

練習その4 運動連鎖

運動連鎖(Kinetic Chain)の理解のためにヌンチャクを振る動作を作ります。

たとえば野球ボールを投げる時に足の踏み込みの力を足→膝→腰→胴→肩→肘→手首と力が連続して伝搬して投げてます。
これを運動連鎖と言い、足と手は同時には出しません、ズレます。※実際のスポーツだと人は感覚的に運動連鎖を行ってるので伝搬のズレを意識すると逆にダメだったりも
このズレがリアルな動作を再現するには欠かせません。

以下のボーンを腕に見立てて、手にはヌンチャクを持ってるとします。
これを上に振り上げてから振り下ろす動作を作ります。

また条件を考えます。


  1. 上腕に近いほどタイミングが速く、末端にいくほど遅い。
  2. 腕は可動範囲が決まっている。
  3. ヌンチャクは重力の影響を腕より強く受ける。
  4. 末端に行くほど止まらない(慣性の法則)
  5. ズレる間隔はわりと小さく一定になりやすい。※すべてが理想的に動くとも限らないので、アンバランスなほうがそれっぽい場合もある。


応用:人間の動きの殆どに応用が効きます。迫力が無かったり、動きが硬いのは大抵連鎖ができてない場合が多いです。動作がしっかり粘りのある動きになる。


ブラッシュアップ -作業の追い込み

ちょっと修正で劇的に良くなることがあります。
どうやってクオリティを上げるために追い込むかの説明。

グラフのクリーン

グラフをきれいにすることで以下の利点があります。
  • 余計なキーが減って見通しが良くなり、問題を発見しやすくなる。
  • 余計なキーが減ってハンドルの操作やキーの位置ずらし等の修正作業がしやすくなる。
  • カーブのがたつきが減って、なめらかな動きやアークを作りやすくなる。

必ずしもきれいなカーブが良いわけではないんですが、ある程度作ってから整理していくとブラッシュアップしやすくなります。

  1. 基本的に カーブの山の頂点にキーを残します
  2. 右クリックで選択して、Xキー→Delete Keyframesで削除していきます。
  3. カーブの形が変わるので、ハンドルをG(移動),R(回転),S(拡縮)キーで調整していきます。

真ん中の部分はまとめて問題なかったのでアニメーションを確認しながら大幅に整理しました。
右端はキー増やした方がよかったので増やしてます。整理するとこういうのに気づきます。