N3+を使って、人間用のポーズまたはモーションを作成します。ポーズ作成はBlenderに慣れてなくても気軽に試せて、ゲームに持って行くまでの手順も少ないので、3DCG初心者にもオススメ。N3+はポーズモーションの作成に必要なリギング(アニメーションを簡単に制御するための設定みたいなもの)やコンバートツール一式が揃ってます。2.79bが対応しています。N3+Blenderの対応バージョンによってダウンロードするファイルが違います。N3+は展開しておいてください。N3フォルダを開きます。ポーズは基本的に共有なのでどちらでもいいですが、男性用ならExample_Male_Vanilla.blend、女性用ならExample_Female_UNP.blendを開きます。Blenderの操作ポーズでの操作の基本は移動と回転させるだけ!モデリングと比べて覚えることがすごく少ないです。※操作をより詳しく知りたい場合はBlender入門の基本の操作体系を読んでください。RキーR+Rキーでトラックボール回転もよく使います。Alt+Rキーポーズ全部のリセットをしたい場合はAキーで全選択したあと、Alt+G、Alt+Rです。回転や移動のあとXキー:X軸限定で作用させる。Yキー:Y軸限定で作用させる。Zキー:Z軸限定で作用させる。G→XでX軸だけ移動できる。これがGキー+YキーならY軸、Gキー+ZキーならZ軸に沿います。同様にRキー+○軸キーで回転する方向軸を制限できます。中クリック(マウスホイールを押す)しながら、マウス移動。Shift+中クリック視点はテンキーで操作すると便利です。スカイリム(nif)の座標軸は+X-Y+ZでY(前後)が逆で、Blender上の正面がスカイリムでの背面(Ctrl+1が正面)になります。ポーズを作る基本的にはコントローラーと呼ばれる部分を動かします。Customはそれぞれのコントローラーの役割を色分けしています。赤:IKコントローラー。これを移動させて腕や足の位置を決めます。緑:回転コントローラー。GキーまたはRキーで回転させます。肘や膝がこのターゲットの位置に向きます。腕を動かしてみましょう。手についてる赤い球体のIK_Forearm_Rを右クリックで選択します。Gキーを押して移動します。この時にX,Y,Zキー}を押すとその軸だけの移動に制限することができます。動かしたい位置に持って行き、左クリックで位置の確定、右クリックでキャンセルです。カメラの移動はマウス中ボタンをドラッグまたは(Ctrl+)テンキーで出来ます。手首が下がってるので角度を変更します。カメラをテンキー3を押して横にします。緑のIK_Hand_Rを右クリックで選択します。RキーもしくはGキーで回転できます。左クリックで回転を確定します。基本的な操作方法は以上です。コントローラーを移動か回転するだけですので簡単ですね。0,1,2)をまず決めてから、IK_Forearmで腕の位置を決めます。IK_Handで手首の角度を直して、Controller_Elbowで肘の位置を決めます。次に足のController_Footで足のポジションを決めてから他の足の部分も調整します。Script)を押して出力をします。出力にはMale.blendとFemale.blendと同一フォルダにtoolフォルダとその中身とconvertフォルダが必要です。成功するとDefaultPose.hkxがconvertフォルダに出力されます。これがポーズのファイルです。あとはこれをリネームして既存のポーズmodのファイルと置き換えしましょう。モーション用のフォルダです。※CKのActorを右クリックしてPreviewすることでanimationsフォルダ直下のファイルのみプレビュー可能です。ここで確認することでわざわざゲーム内で確認しなくてもすみます。hkxファイルを入れ替えて、Resetボタンを押しても更新内容が反映されません。リネームしたファイルだと反映されます。ポーズの作成方法の基本はこれでおしまいです。置き換えでなくちゃんと登録したい場合は、こちらのブログのFNISの新規登録記事を参考にしてください。カゴやコップなどのオブジェクト(小道具)をつけたポーズを作ることができます。以下のブログに詳しく丁寧に書かれているので参照にしてみてください。Kuromimi現在(2019年12月時点)ではオブジェクトをインポートできるnifプラグインがないので、Blenderのバージョン2.7xのみできます。色々な回転方法がありますが、まず理解しやすいようグローバル軸とローカル軸を覚えておきましょう。グローバル軸とはシーン全体のXYZ軸でオブジェクトがどれだけ回転しようがこの軸は一定です。ローカル軸とはボーンの持っているXYZ軸で、軸はボーンの向きに依存します。Rキー+○軸キーで行う回転はグローバル軸に沿って動きます。ローカル軸に動かす場合はRキー+○軸キー2回押しです。R+Z+ZでローカルZ軸に沿って回転します。ひとつローカル軸に動かす方法は、マニピュレータを使います。赤緑青の円で構成された球体状のものがマニピュレータです。動かしたい軸をドラッグするとその軸に沿って動きます。青ならローカルZ軸に沿って回転します。最後に、グリグリ動かせるトラックボール回転です。ゲームパッドのアナログスティックのような回転といえばわかりやすいでしょうか。Rキー+Rキーで使えます。肩(鎖骨)や指の付け根などの球状に動かせる部分に最適です。必須な作業ではありませんが登録しておけばいつでも呼び出せるので複数ポーズ作るときには大変便利です。Aキーですべてのボーンを選択します。(水色になる)右側のプロパティウィンドウから人のマークを選びます。Newで現在のポーズを登録します。虫眼鏡マークで登録したポーズを適用させることが出来ます。選択したボーンにしか適用しないので、例えば、腕のポーズだけコピーということもできます。隠しボーン普段は気にしなくていいボーンは操作しにくくなるので非表示になってます。スカートや武器位置のボーンなど。これらも操作することができます。右側プロパティのArmatureのレイヤーで非表示になっているバニラのボーンを表示させます。あとはコントローラーと同じように操作します。基本的なモーション作成方法は最初と最後のポーズの2つのポーズを作ることです。Blenderがその間の動きを自動で補完してくれます。ポーズさえ作れれば、モーションは簡単に作ることができます(自然に作れるかは別問題ですが)。サンプルgifアニメ最初の座ってるポーズと立って腕を上げたポーズだけ作って再生しただけです。ポーズと手順は似てますが、キーフレームを打つという作業が必要です。フレームにボーンの回転量や移動量の情報を記憶させます。ポーズと違ってモーションはコマ(フレーム)の連続で、打ったキーフレームとキーフレームの間は自動で補完します。Modeでの状態をAキーでボーンを全選択します。Menuを出し、LocRot(位置と回転情報の記録)を選びます。これでキーフレームを打つことができます。※キーは腕なら腕などで個別に打てます。実践ではむしろ個別に打ってください。Sheetとはどのボーンにどのフレームにキーが打たれているかの一覧表です。キーフレームの位置はいつでもここから変更可能です。Editorに変えます。以下の部分の+ボタンでモーションの追加ができます。Gキー+左クリックで移動の確定。Shift+Dひし型がキーフレームです。0の位置にキーフレームがない場合は、Aキーで全選択して(菱型が黄色くなる)Gキーで移動させます。0ではないフレームに左クリックで持って行き(例では10)モーションの終わりのポーズを作ります。ポーズができたらAキーでボーンを全選択し、Iキー押してLocRotでキーフレームを打ちます。メニューでTimeLineを出し再生してみます。画像のEndの部分で再生の終了位置を決めます。これは最後にキーフレームを打った位置にします。あとは再生ボタンを押して再生してみます。sheetの方でAlt+左クリックで一番後ろのキーフレームを選択し、Gキーで移動します。TimeLineでEndの位置を変えて再生して確認します。補完の仕方が気になる場合は、途中でキーフレーム打ってボーンを回転を修正して見たりしてください。Blenderでのモーション製作は以上です。出力方法はポーズと全く同じですのでそちらを参照してください。StartとEndの長さ分のモーションになることだけ注意。(抜刀のモーションなどはキーフレームの長さが決まってます。Editorとは補完の仕方をグラフを使って編集できます。ポーズはこの項目は関係無いですが、自然なモーションを作る上で肝といってもいいです。モーション作業の大半はグラフエディタとにらめっこすることです。利点どのように補完されているのか遷移していくのかが視覚的にわかりやすいです。補完の仕方を変えて、後述の自然なモーションを作るコツであるタメツメやタイミングのずらし、曲線的な軌道等ができます。余計なキーを減らせます。キー数が少ないほど問題が起きにくく、メンテナンス性がよく、あとから修正がしやすいです。編集度にIキーでキーフレームを打たなくてもいいため作業が速くなります。腕を高くあげたい、右足を前に出したい等が素早くできます。2つのポーズ間のデフォルトでは曲線(Fカーブ)で補完され、動作はじめと動作終わりで減速します。Editor)を使ってグラフを編集します。基本的に3DビューやDopeSheetと変わりません。右クリックで選択、Gで移動、Rで回転、Sで拡縮。Shift+D回転のカーブは数値が小さくて編集しにくいがしにくいので選択してから.キーで画面を拡大します。移動カーブを編集したいときはHomeキーで戻します。例では計算がわかりやすいように足のIKを100フレーム目でX軸に10動かしてIキーでLocをうちます。補完が等速なら50フレーム目ではXの移動量は5ですよね。これを開始は速くてあとはゆったりした動きにさせます。GraphEditorを開くと以下のように表示されます。Locationが示す通り、Controller_Foot_RのX軸上の位置の遷移です。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の原則は学ぶことは多いです。OBAKE↑この概念を振り子のアニメを使って説明されてます。イーズイン・イーズアウトやアニメ業界だとタメツメとか呼ばれます。スローイン(イーズイン)=だんだん遅くなるスローアウト(イーズアウト)=だんだん早くなるスローに入って(In)行くと遅くなります、スローから抜ける(Out)と速くなります。基本的な物理の性質で、車の加速と減速がイメージしやすいでしょうか。止まった状態から動くときは徐々に速くなり、止まるときは徐々に遅くなって止まります。人間の動きも同じです。これが均等な速度だと機械的で不自然になるんですね。メリハリを付けることで、自然でダイナミックな動きができます。グラフエディターを使うことで確認と修正がしやすいです。確認しやすいので後述のモーションパスも使ってみてください。予備動作と後の動き立ち上がるポーズを例にすると立った瞬間にピタッと全身止まるのではないです。腕が少しブレたり、足と手が止まるタイミングをずらしたり、動作の後の動きに変化を付けると自然になります。逆にキーポーズはじめに予備動作を足すこともいいことです。力の移動を理解するといいと思います。全てが同時で等速で動くわけではないので予備の動作は腕足胴のタイミングをずらしたりします。以下の作例をコマ送りにして再生してみましょう。繰り出しまで全てタイミングがずらします。全ポーズコピーしてため作るのは不自然に見えるのでおすすめしません。-ANITOON!人間は直線的な動きはほとんどしません。できるだけ軌道が弧を描くような曲線的な動きにしましょう。首を左右に動かすときは途中で顎が若干引くので、曲線的な動きなんですね。キーを増やすか、グラフエディタで補完を変えます。Y0,Z0でY50,Z50で中間はY25,Z25で斜めにまっすぐ動くんですがY0のカーブを右に伸ばすと初動にためができるので軌道が弧を描きます。グラフエディタ上ではきれいなカーブでも根元の腰回りの動きを含めるとガタガタな場合もあり、これも後述のモーションパスで確認しやすいです。動きが自然になるだけでなく視認性がよく視覚的にもわかりやすくなります。モーションパスのススメモーションパスはボーンの軌道を視覚化します。軌道が見えると一発で曲線的な動きをしているかわかるのでオススメです。PathsをCalculateを押しOK押すことで選択中のボーンの軌道が確認できます。Trailは加速度や速度を色で表示できたり、表示の設定の変更や、モーションパスを編集して軌道の修正やキーの追加等ができます。作者のサイトだとリンクが切れてるのでGithub版を開いてRAWボタンを右クリックして名前をつけてリンク先を保存します。trailでモーションパスの表示を有効にできます。誇張表現Blender上ではなかなか良い感じでも、実際に画面に出すと意外と地味...というのはよくあります。ゲームでは画面に表示される領域は小さく、カメラも固定ではなくて、他の情報量も多いので埋もれてしまいがちです。舞台で大げさな化粧や身振り手振りするようなもので、やや誇張気味に表現してしっくり来る場合があります。In-Betweens前後のキーを参照にして現在のキーを調整ができる機能です。3DViewのポーズモードのみ使用可能。ものすごく便利なので覚えましょう。Pose(Ctrl+E)現在のポーズを強調します。マウスを左右に動かして調整でき、左クリックで確定。3DViewの左下に適用量の%がでます。Breakdowner(Shift+E)前後のキーの中割りです。これも調整可能で左クリックで確定。Pose(Alt+E)前後のキー参照にして現在のポーズを丸めます。用語ボーン:モーションを作るのにメッシュの頂点を一々移動していたら途方も無いので、ボーンと呼ばれるその名の通り骨状のものをモデルに入れます。ボーンの動きにどれだけメッシュの頂点も追従するかを塗って設定するのがウェイトと言います。スケルトン:ボーンの集合体をスケルトンといいます。アーマチュア:=スケルトン。Blenderでのスケルトンのことをアーマチュアと言います。FKとIKの違いFK(フォワードキネマティクス):ボーンの根本から軸回転で作ります。手を挙げるポーズを作るときにFKの場合は肩→上腕→前腕と関節を根本から1つずつ回転させて作ります。IK(インバースキネマティクス):IKは逆(インバース)なので、先端の位置で作ります。手を挙げるポーズは先端の腕にIK制御用のコントローラーを追加し、それを上に上げるだけで肩や腕の回転は自動計算されます。最初はとっつきにくいかもしれませんが、モーションを作成する時に極めて効率が良くなります。N3は腕や足の操作はIKです。FK前述のとおり、FKは根本から回転させていくやり方、IKは先端の位置から決定させるやり方です。人間の関節構造上、支点から回転させるために動きが円弧状になるので(例えばボールを投げる等)、基本的にこちらのが動きが自然です。逆に言うと、円弧状になりやすくて直線的な動きが苦手です。腕を真っ直ぐ動かしたい時にうねうねしてしまいます。ひとつ、身体の部位が何かに固定される場合、代表的な例で言うと足の接地ですね、先端の位置を予測して根本から動かすため、非常に難しいです。先端の位置から決定されるために、意識しないと直線的な固い動きになりがちです。連動して動く関節は自動計算する手前、荒ぶりやすく(フリック)、肘や膝のターゲット位置なども重要です。FK/IKの切り替えFK/IKの切り替えパネル(Nキー押すと出るプロパティウィンドウの一番下に表示されます。)を使う場合はスクリプトの自動起動を使ってますので、セキュリティの関係上以下の2つを行ってください。Settingを押してください。Trustedを押す。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キーで拡大して中間がキツめのカーブにしてみてください。Trailを使うと軌跡で追えるのでぜひ試してみてください。応用例:人間の自然な動作で等速な動作はありません、基本中の基本ですべてに応用が効きます。練習その2:バウンスィングボール左から右にゴムボールのように跳ねていくボールを作ります。ご自身で必要な条件を考えてみましょう。ボールが落下後に接地して何回か跳ねるが、回数を重ねるごとに徐々に高さがなくなり、徐々に跳ねる間隔が短くなる。跳ねは、ボールが一番高い時が一番遅く、接地時するまでと接地後の跳ねた直前が一番速い。物体が落下する時には徐々に加速していき接地するまでは減速しない。跳ねなくなってもボールは転がる。この条件で自分でアニメーション付けてみてください。行き詰まったら、ANITOON!さんのバウンスィングボールの動画を見てください。応用例:パンチするときも徐々に加速してパンチがヒットするまで遅くなりません。ハンマー振り下ろす動作も接地するまで減速しません。足の接地も直前で減速しません。練習その3:バウンスィングボール2ここでは慣性の法則を学び、スペースィングで重量の表現を身につけます。軽いゴムボール、ボウリングの玉のような重いボール、等速で落ちるボールの三つを作ってください。ご自身で条件を考えてみましょう。理科(物理)の授業で慣性の法則というのを習ったことがあると思います。とどまるものはその場にとどまろうとする、動くものは動き続ける、です。この性質で重要なのは質量が大きいほど慣性の力が強いことです。タンカーは止まるのにブレーキを掛けてから完全に止まるまで30分8kmぐらい進んでしまいます。同じようにボウリングの玉のような重いボールを落とすときには、その場にとどまろうとする力も強いので加速が遅いんです。空気抵抗の微妙な差を引けば接地のタイミングは一緒。重いボールは加速が遅く、加速しだすと速い。軽いボールは思いボールに比べて加速が速く、加速し出してもそこまで速くならない。こちらも行き詰まったら、ANITOON!さんのスペースィングの意味!をみてください。応用例:先端の重いハンマー等振り上げて振り下ろす時に先端位置はその場にとどまろうとして他の部分よりすごく遅めに動かす(加速する)ようにし、逆に振ったあとはそのまま振り続ける力が働くので惰性で振り過ぎなぐらい動かすと重さを表現できる。重い荷物持つ動作などでも、荷物の部分を持つ腕が遅れ、持ち上げた時には安定するポジションを超えて上に持ち上げます。Chain)の理解のためにヌンチャクを振る動作を作ります。力が連続して伝搬して投げてます。これを運動連鎖と言い、足と手は同時には出しません、ズレます。※実際のスポーツだと人は感覚的に運動連鎖を行ってるので伝搬のズレを意識すると逆にダメだったりもこのズレがリアルな動作を再現するには欠かせません。以下のボーンを腕に見立てて、手にはヌンチャクを持ってるとします。これを上に振り上げてから振り下ろす動作を作ります。上腕に近いほどタイミングが速く、末端にいくほど遅い。腕は可動範囲が決まっている。ヌンチャクは重力の影響を腕より強く受ける。末端に行くほど止まらない(慣性の法則)ズレる間隔はわりと小さく一定になりやすい。※すべてが理想的に動くとも限らないので、アンバランスなほうがそれっぽい場合もある。応用:人間の動きのほとんどに応用が効きます。迫力が無かったり、動きが硬いのはたいてい連鎖ができてない場合が多いです。動作がしっかり粘りのある動きになります。垂直跳び当wiki向けに動画を作りました!垂直跳びのモーションを作成します。筆者(tktk)がTwitchにて配信した内容を編集と追補したものです。モーションの作成フローやカーブエディタやドープシートの実際の使用などが学べます。実際に作成したモーションデータのblenderのファイルも配布します。モーションデータはご自由にお使いいただけます。詳しくは同梱のreadmeを読んでください。-作業の追い込みちょっと修正で劇的に良くなることがあります。やってクオリティを上げるために追い込むかの説明。グラフのクリーングラフをきれいにすることで以下の利点があります。余計なキーが減って見通しが良くなり、問題を発見しやすくなる。余計なキーが減ってハンドルの操作やキーの位置ずらし等の修正作業がしやすくなる。カーブのがたつきが減って、なめらかな動きやアークを作りやすくなる。きれいなカーブが良いわけではないんですが、ある程度作ってから整理していくとブラッシュアップしやすくなります。基本的にカーブの山の頂点にキーを残します。Keyframesで削除していきます。カーブの形が変わるので、ハンドルをG(移動),R(回転),S(拡縮)キーで調整していきます。真ん中の部分はまとめて問題なかったのでアニメーションを確認しながら大幅に整理しました。右端はキー増やした方がよかったので増やしてます。整理するとこういうのに気づきます。硬さをとるブラッシュアップする前にとにかく多いのが動きが硬いことです。例はハンマーを振る動きを38フレーム目で折り返してます。カーブを見てみると急激にグラフが折り返すので、鋭角なカーブになってます。37,39フレームは38フレームと近くあまり動いてるように見えません。これが硬さの原因になってます。いう時は、一部のキーフレームをずらします。38フレームのY,Zのグラフのキーだけ36フレームに移動してみます。結果折り返しもアークっぽくなりました。動画左が修正前、右が修正後です。修正前は38フレーム目で動きが止まってるように見えて硬く見えます。38から41フレームまでの急速な加速(モーションの軌跡が赤い線の部分)が解消されて自然に見えます。モーション関連リンクゲーム向けに特化しているので大変分かりやすいです。