🔑動く! フックにかかる鍵を作った #b3d

動機

前回のBlender練習から時間が経ちすぎていて色々思い出す必要があったので、前回やったCurveを復習していたところ、ずっと思っていた「重力で落ちてひっかかるものを作ってみたい」という気持ちが刺激されたのでやりました。
どうせなら好きなモチーフで作ろうと、鍵もくっつけてみた!

できたもの

f:id:EnnuimaZ:20180426052704g:plain
素敵やん。
以下ハマりどころです。

ハマったところ

Curveに剛体を設定できない

Soft Body は選べたので適用してみたらなんだかそよそよしていた

解決方法

Curveはメッシュ化しないと剛体が適用できない。下部メニューから
Object > Convert to > Mesh from Curve/Meta/Surf/Text

輪っかの内側をものが通らない


解決方法

剛体適用後のRigid Body Collisionsタブにて、ShapeをMeshにする。
Convex Hull のままだと頂点間を簡単に結んだだけの当たり判定になるので、凸部分が無視される。

はるか遠方にすっとんでいく


原因と解決方法
  1. 練習に使っていた隣のレイヤーのものと衝突していた
    • 隣のレイヤーのものを全部消した
  2. Rigid Body Collisions の Margin 4cm を含めた範囲で、フックと鍵が衝突していた
    • Marginそのままで衝突しなくてすむ&違和感がないくらいにオブジェクトを大きくする
      • 🙅そもそも物体が小さく(5cm*15cm*5mm とか)、これだとBlender的にはちっちゃすぎてうまくシミュレーションできないらしい
      • 🙅Marginを0にするとフックの角の衝突判定がうまくいかずすり抜けるのでダメ
    • オブジェクトを大きくしたあと、オブジェクトモードでScaleを適用する( Ctrl+[A] > Scale )

タラタラ動いていていまいち重量感が出ない

解決方法
  1. オブジェクトに質量を設定する
    • 鍵を選択して、左のツールシェルフから Physics > Calculate Mass
      • 素材がたくさんでてくる!すごい! 今回は🔑ということで、真鍮(Brass)を選択
        • プロパティシェルフ Physics の Rigid Body > Mass が設定される!
      • キーリングにも同じく設定する
  2. シミュレーション精度を上げる
    • プロパティシェルフ Scene > Rigid Body World > Steps Per Second を 60 から 600 に変更する
Steps Per Second について

Steps Per Second
Number of simulation steps made per second (higher values are more accurate but slower). This only influences the accuracy and not the speed of the simulation.

Rigid Body World — Blender Manual

速度ではなく精度にのみ影響する。適当に600とかにしたけど上限ってあるのかな...?

WindowsでアニメGIFどうやって作るの?

  1. 静止画で書き出す
  2. ImageMagick 使う
    1. static版をダウンロード Download @ ImageMagick
    2. コマンドプロンプトを開く
      • 画像をアニメGIFにする
cd C:¥Program Files¥ImageMagick-7.0.7-Q16
magick.exe convert -layers optimize -delay 3 C:¥tmp¥????.png C:¥tmp¥key_animation.gif

一行目でインストールしたディレクトリへ移動、二行目でtmp配下の0000.png~0120.pngをアニメGIFに変換しているよ

おしまい

いままでキーフレーム打って動かすアニメーションしかしていなかったけれど、物理演算のみのアニメーションだけでもかなり楽しめることがわかった。どちらかというとこっちのほうが好きかもしれない。
鍵をかける手をつけたりして組み合わせたりできると、また一層楽しくなりそうだなあ。
初動だけ力をかける方法とかも知りたいなー。