Blenderを使った二重振り子のMotion Tracking
はじめに
Blenderは全くの初心者なので、下記は完全な自分用の備忘録。
使用しているBlenderのバージョンは3.1.2(2022年4月18日時点)
Twitterで偶然、BlenderでのMotion TracingとそこからPythonを使ってcsvを書き出すという記事を見かけ、やってみようとスタート。
目的
二重振り子の軸にマーカー用のシールを貼り、動画を撮影。そのマーカーの動きをBlenderのMotion Trackingでデータ化し、時系列データとして書き出したい(Mathematica等、他のソフトで解析できるようにしたい)。
二重振り子のサイズ、軸の長さなどの設計はこれまでずっと、機構的な制約で各部の寸法を決めていた。そのため、製作当初から、もう一歩踏み込んだ設計方針を得ることができないか、というのが最終ゴール。
新規ファイル作成
ファイル → 新規 → VFX
とする。動画作業なのでVideo Editingにしたくなるが、そうするとモーション・トラッキングの作業がやりにくい。
Scene
フレームレートと開始フレーム、終了を読み込んだ動画に合わせて設定する。
https://scrapbox.io/files/625cd39fa92f4e001f9dfc22.png
トラッキング設定
現状のトラッキング設定の各パラメータはスクショのような感じ(プリセットのFast Motion)
https://scrapbox.io/files/625cf505a691bc00207baa33.png https://scrapbox.io/files/625cf51ff83bd1001d9adc43.png
撮影機材
手頃な価格で、4K 120fpsが撮れるDJI Action2を使用。
マーカー
マーカーは振り子の各軸の先端付近2箇所に写真のようにシールを貼っている。
https://scrapbox.io/files/625cf739dbc392002357ccce.png
https://scrapbox.io/files/625cf757a460a6001ef1583e.png
動画フォーマット
FulllHD 240fpsと4K 120fpsの2フォーマットで撮影し、どちらがよりマーカーの追跡しやすいか検討中。
今のところ、FullHD 240fpsの方がトラッキングの飛びが少ない。
120fpsだと、振り子の振れる速度が速いときのモーションブラーが激しすぎて、マーカーを見失いやすい。
参考
超強力なオープンソース3DCGソフト「Blender」のモーショントラッキングデータを書き出したい話―マーカー座標をビルトインPythonでCSV書き出し