スマホアプリのBlendartrackでお気楽モーショントラッキング。
外人さんのBlenderを使った簡単自社合成手順を見ていたらスマホアプリで
モーショントラッキングを行って解析結果と動画をBlenderのアドオンで取り込んでいた。
Blenderの中でモーショントラッキングしなくてよいから自分的には気になった。
だって、Blenderの中のモーショントラッキング操作になじめないんだよね。
さっそく、AppStoreでBlendartrackをダウンロードした。
このアプリで顔の表情の動きのトラッキングできるって事を起動して知ってしまった。
操作は簡単。
Blendartrackでの撮影方法は簡単だった。
- 自分の周囲をゆっくり画面に映して解析させる。
- 解析が終わるとダヌルタップでマーカーを配置できるって表示される。
- ダブルタップでマーカー配置する。
- 録画する。
- パソコンに書き出す。
通常は地面が水平面と認識され側面や正面などに壁があれば縦方向の平面が認識される。
水平面だけでも動作するので広い場所で撮影しても使えるっぽい。

BlenderにBlendartrackアドオンをインストールして作業。
そして、BlenderにBlendartrackの解析結果と撮影した動画を読み込むためのアドオンを
インストールして実写合成作業を行う。
アドオンはhttps://cgtinker.gumroad.com/?recommended_by=libraryで入手する。
解析結果を読み込むと設定にもよるけど自分はポイントクラウドも読み込む設定にして
マーカーとポイントクラウドから必要な平面の位置を決めている。

そこにシーンを作れば実写合成ができる。

コンポジットしないと背景の実写動画レンダリングされない。
Blenderって使い慣れていないのでカメラのバックグラウンドの実写動画がプレビューでは
表示されているのにレンダリングすると表示されず悩んでしまった。
レンダープロパティーでフィルム設定はバックグラウンドは透過設定なのになぜ?
って試行錯誤してしまった。
結果、コンポジットでNodeをONして
Alpha overで重ねるのがネットでの情報でわかったんだけどなんかいやだったので
自分はMixを使って重ねる方法で背景の実写動画をレンダリングできるようにした。
もう1つ問題があった。
Blendartrackはスマホアプリの設定で1920×1080サイズの動画設定にしているんだけど
なぜかBlender側では2532×1170というヘンテコサイズなアスペクト比になる。
これを1920×1080に変更するとモーショントラッキング解析結果とズレが出て実写合成しても
位置ズレが発生する。
なので、アウトプットプロパティーの設定は同じアスペクト比で横幅を1920にし
Nodeにアスペクト比を合わせるためのY方向スケールを追加した。

ゆっくりスマホを動かせば簡単に実写合成ができる。
たぶん、Blendartrackはスマホのジャイロやレーザーセンサなどの情報を使って
モーショントラッキング解析をしているんだと思う。
なので動きが速いと振動を拾って解析結果がイマイチなものになる。
なので、自分の周囲を解析するときも撮影するときもゆっくりスムーズにスマホを移動させないと
精度が良いモーショントラッキング解析結果を取得できないっぽい。
でも、ゆっくり動かすことを忘れなければお気楽に実写合成遊びができる。