読者です 読者をやめる 読者になる 読者になる

🎄🎅 動く! 箱サンタビネコアニメーションを作った #b3d

Blender Advent Calendar 2016

www.adventar.org

遅刻したらもう翌日の記事が出てる!! すみません!!
前日: 基本的なところを考えてて - blugjpまとめサイト
翌日: Blender_Sketch番外編 拝啓Freestyle様Ver.20161221|村川和宏|note


夏に始めたBlenderでクリスマスのなんか作ってみました。

ボーンにチャレンジ

Blenderをはじめて最初にやりたいと思ったのが、タビネコの手足を自在に動かすことだった。
いままで編集モードでオブジェクトの中心点をずらして移動してたけど、オブジェクト選択しないとどこに中心があるかわからないし細々やらなきゃいけなくてめんどくさい!最近よく見るボーンっていうの楽しそうだからおぼえたい! ということでボーンやります。

参考:
Doc:JA/2.6/Manual/Rigging/Armatures/Editing/Bones - BlenderWiki


前につくった箱タビネコにボーンをつけていくよ
(→箱タビネコをつくった #b3d - ennui's blog)

ボーンする準備

タビネコループカット

前回作った箱タビネコは全部プリミティブオブジェクトで作られています。
このままだと尻尾曲げたときとかに直線でしかうごかない!しなやかに曲げたい!
ということで曲げたいとこを細かくしていきます。
ループカットはコップの回で勉強しました!
(→うしほん CHAPTER 02 01 コップづくり #BlenderPractice - ennui's blog)

  1. オブジェクト選択
  2. 編集モードで [Ctrl]+[R]
  3. ドラッグで分割数を指定

尻尾、胴体、脚をそれぞれ分割しました。

ミラーになっているところを実体化する

それぞれの脚に骨を組み込むため、虚像の脚を実体化します。

  1. オブジェクトモードで脚を選択
  2. 右のスパナのミラーモディファイアから[Apply]

ボーンで一体化して動かす部分を結合しておく

頭パーツはまるっと動かしたいので結合してしまいます。

  1. 耳、目、ω、頭を [Shift]+右クリック で追加選択していく
    • 頭はメインパーツなので最後に選択する
  2. [Ctrl]+[J] で結合!
    • 耳と目消えた!!!
      • 耳と目のパーツもミラーリングしてた、ApplyしてからJoinしましょう…

ボーンづくり

Root bone 置く

1本目のボーンを root bone といって、これを動かすと繋がってるボーンが全部一緒にうごきます! 曲げるのには使わないボーンですね。なるほど。

  1. [Shift]+[S] -> Cursor to Center
  2. [3] 視点を真横にする
  3. [Shift]+[A] -> Armature -> Single Bone
    • ボーンきた!タビネコの腰のあたりにおいとく

ボーンがオブジェクトで隠れて見えないので常に見えるようにする

右側の人型タブを選び、Displayの中にあるX-Rayにチェックをいれておきます。

まずでっかい骨をつくる

  1. 編集モードでボーンの先端を選ぶ
  2. [E]で押し出し
    • 先端からボーンが新しく伸びる!

これで胴体、尻尾、頭までボーンを追加します。
胴体、首、頭、尻尾にそれぞれ1本ずつ追加しました。

しなやかに動かしたい部分の骨を細かくする

最初にタビネコループカットした胴体と尻尾の骨をこまかくします。

  1. 編集モードでボーンを選択
  2. [w] -> Subdivide
    • 分割!
  3. 画面左下で数を設定する

左右対象に肩〜脚の骨をつくる

肩〜脚の骨は正面から見て左右対称なので、同時につくっていきます。

  1. 画面左 Optionsタブ -> X-Axis Mirror にチェックをいれる
  2. [1] で視点を正面にする
  3. 背骨のボーンの先端を選ぶ
  4. [Shift]+[E] で左右対象に押し出し!ミラー!

背骨から脚の根本に骨を伸ばし、そこから前脚と後ろ脚をつくりました。
脚ボーンは尻尾/胴体と同様にSubdivideします。
箱脚はざっくり2分割くらいがかわいい。

動かさないボーンを消す

追加していった骨の中でうごかさないものを消します。
箱ネコは箱だから(?)カドを動かすことはないので、以下が不要な骨になります。

  • お尻と尻尾の間の骨
  • 背骨から脚の付け根につながる骨
  1. 編集モードでボーンを選択
  2. [x] -> Delete Bones
  • ボーンは消しても点線でつながっている
    • 親子関係があるので親ボーンを動かすとちゃんとついてくるよ!

これでボーンづくりは終了です!

ボーンの回転で箱タビネコが動くようにする

ポーズモード切り替え

  1. ボーンを選択
  2. 編集モードになっているところをポーズモードにする
    • Pose Mode ポーズつけるモード!

今の状態でボーンを回転させても、オブジェクトと紐付いていないためボーンしか回転されません。

オブジェクトと紐付ける

  1. オブジェクトモードでオブジェクト(胴体)選択
  2. ボーンを追加選択(Shift+右クリック)
    • 正確にはArmature(ボーンのいれもの?)を選択しているらしい
  3. [Ctrl]+[P] -> With Automatic Weights
    • ボーンとオブジェクトが紐付けられる
お試し!
  1. ボーン選んで Pose Mode にする
  2. 適当なボーンを選んでRで回転してみよう!
    • タビネコ胴体が馬のように!!!
    • f:id:EnnuimaZ:20161221005358p:plain:w300

うまく動いたので脚と尻尾も同じようにタビネコに紐付けていきます。

事件は頭の紐付けをしたときにおこりました……

  1. オブジェクトモードで頭を選択
  2. [Shift]+右クリックでボーンを追加選択
  3. [Ctrl]+[P] -> With Automatic Weights
  4. Pose Mode で頭ボーンを回す
    • タビネコォォォォォ!!
    • f:id:EnnuimaZ:20161221005835p:plain:w300

オブジェクトとボーンの動きを調整する (Weight Paint)

どうやら頭の骨を動かした時に頭の動きが鈍いようです…
頭の骨をうごかしたときに頭全体が一緒に動くように調整していきます。

  1. Object Mode で頭を選択
  2. Object Mode から Weight Paint に切り替える
  3. ボーンを選択して Pose Mode にする
    • なんとオブジェクトとボーンはそれぞれモードをもっているのだ!
    • ボーンは Pose Mode、オブジェクトは Weight Paint にしておかないとうまいこと操作できないぞ!
  4. 頭のボーンを選択する
    • オブジェクトに色がついてみえるよ

f:id:EnnuimaZ:20161221010437p:plain:left:w200 f:id:EnnuimaZ:20161221010445p:plain:w200

左は頭ボーン、右は首ボーンを選択している。
ボーンひとつひとつがオブジェクト頂点への影響力(Weight)をもっている。
青<緑<赤 でWeightのつよさがあらわされている。
左の画像をみると、頭ボーンから顔への影響力がめっちゃ強いことがわかる。

なんと影響力をペイントします!!

なるほどWeight Paint...ほんとにペイントするんだ…

  1. 画面左のToolsタブを選択
  2. Auto Normalize にチェックを入れる
    • ウェイトの合計値が必ず1におさまるようになる

※ Auto Normalize について
頂点への影響力の総合計が1を超えてしまうと、他の部位のウェイトの影響をうけて思ったとおりに動かなくなってしまう。必ずチェックをいれておくと良いっぽい!

  1. BrushのWeightの値を1にする(0:青〜1:赤)
    • Radius(半径)/Strength(濃さ) でブラシの設定もできる
  2. タビネコの頭を塗ります!真っ赤に!

f:id:EnnuimaZ:20161221012209p:plain:left:w200 f:id:EnnuimaZ:20161221012216p:plain:w200

よしこれでボーンを動かした時に頭が全部ついてくるぞ!
グイーン!

f:id:EnnuimaZ:20161221032815p:plain:w300

オゥ…裏もちゃんと塗らないといけません…
すごく回した状態で飛び出てる部分を全部塗ろう!

f:id:EnnuimaZ:20161221032851p:plain:w300

飛び出ている部分を均一にペイントすると元の形におさまってくれる。すごい!
頭をぐるぐる回してみて塗り残しがないかチェックします。

f:id:EnnuimaZ:20161221033014p:plain:w300

怖っ…
どうやら塗り残しはないようだ…

確認したら [Alt]+[R] で回転をリセットします。

他のところもWeight Paintでなおしていく

f:id:EnnuimaZ:20161221033339p:plain:w300

今度はこれを直したい!
胴体を選択してWeight Paintへ
尻尾の付け根のボーンを選ぶと胴体にウェイトがかかっているのがわかる

f:id:EnnuimaZ:20161221033414p:plain:w300

今回はボーンを動かしても動かないようにしたいので、Weightを0に設定して青く塗ります。
塗り終えたらお尻が曲がらなくなりました!

f:id:EnnuimaZ:20161221033528p:plain:w300

脚の影響もチェックしていきます。

f:id:EnnuimaZ:20161221033626p:plain

うーん 多少影響あっても可愛い気がする…でも箱動物だし不自然さの方がおおきいかなあ。波打たないようにしよう。
胴体が波打っている状態のままウェイトペイントして、脚ボーンから胴体にかかるウェイトをゼロにしました。

箱タビネコうごかすぞ!

適当にやったらできたアニメーション!

頭ボーンを動かして、下のTimelineのビューに記録していきます。

f:id:EnnuimaZ:20161221034037p:plain

  1. 右側の録画ボタンみたいな赤丸をクリック
  2. Timeline上の適当な位置でクリック、緑の棒が出る
    1. タビネコをあっちむける
      • 記録した部分に黄色い棒がつく
  3. Timeline上の適当な位置でクリック、緑の棒が出る
    1. タビネコをこっちむける
      • 記録した部分に黄色い棒がつく
  4. ↑この繰り返しでコマ撮りみたいなのしていく
  5. Endの数値を適当に設定
  6. 再生ボタンみたいなの押す
    • うごくぞ!!
  7. 録画ボタンを止める ※大事!!

便利で安全なショートカットでのキーフレーム登録

あとから知ったやつ。録画ボタン押すよりショートカットキーでやるほうが楽で安全な感じがします。

  1. タイムラインでフレーム選択
  2. タビネコにポーズをつける
  3. [i] -> LocRotScale
    • Location(場所) Rotation(回転) Scale(大きさ) がフレームに記録される

右下の鍵のマークからLocRotScaleを選んでおくと、[i]押すだけで記録できて便利!

f:id:EnnuimaZ:20161221034922p:plain

こまった

ライトをつけてアニメーションさせたら変な影ができる

録画ボタンをつけっぱなしにしていたせいで、ライトやカメラまでフレームに残ってしまっていた。
余計に記録されてしまったフレームを消すのにDope Sheetっていうのを使いました。

  1. 画面右上の\を左にドラッグして画面出す
  2. Dope Sheet を表示して◇を選んで[x]からDeleteする

f:id:EnnuimaZ:20161221034514p:plain
ここから色々編集したりしました。あんまりおぼえてないので省略。

レンダリングする

まず静止画で出力

静止画カメラの要領でカメラをいい感じに設定する

  1. Sceneからカメラを選択
  2. 画面右のビデオっぽいタブを選択
  3. 解像度設定 Resolution で適当な大きさを指定
    • 今回は 320*200 にした
  4. Output > 出力フォルダを設定しておく
  5. Render > [Animation] をクリックする
    • 連番の静止画でレンダリングされる!

動画にする

参考: BlenderでアニメーションGIFを作る - blugjpまとめサイト
手元のGIMPが起動しないのでImageMagickで…
まさかこんな形でImageMagickを使うことになるとは!! 便利!

文中記載のコマンドだとdelayの設定が効かず、`-loop 0` をはずしたらうまくいきました。ImageMagickのバージョン違いとかかな…?

$ convert -layers optimize -delay 6 ????.png tabineko_animation.gif

完成したタビネコアニメーション

f:id:EnnuimaZ:20161221035921g:plain

かわいい!!

全身にボーンいれたけど頭しかつかってない。かわいいので許します。

クリスマスのなんか

夏に始めたBlenderでクリスマスのなんか作ってみる!

クリスマスのなんかね。やりました。

f:id:EnnuimaZ:20161221040019g:plain

かわいい!!!天才か!!

おわり

ボーンでちょっと操作するつもりがアニメーションまで作ってしまって最高だった。
Blenderの使いやすさがすごい。Blenderだいぶ楽しくなってきました。
今度はなにしようかな〜