CGcompo

3D、コンポジット、マッチムーブ、カメラ、撮影について色々書きます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Voodoo で始める!初めてのマッチムーブ

初回はマッチムーブについて!

マッチムーブとは実写のカメラの動きにCGを合成することです。
マッチムーブには2Dと3Dの二つがあります。
今回は3DマッチムーブをVoodooと言うフリーソフトでやってみたいと思います。

最近はコンデジでもFullHDで動画が撮影でき、これとBlenderさえあれば誰でも?
マッチムーブ環境を手に入れることが出来るのです!




と言う事でフリーのマッチムーブソフトVoodoo camera trackerの使い方と、
マッチムーブをする時のポイントについて書こうと思います。

まずは以下からソフトのダウンロードをします。
digi・lab又はviscoda

最新バージョンは1.0.1 beta1.2.0beta。※2013/2/23更新確認
あまり気にせず使っていたら自分は0.9.4 betaのバージョンを使っていました。
1.0.1 betaを確認すると、今までTARGAの連番しか読み込めませんでしたが、
PNG、JPEGも読み込み可能になっていました。
2010/10/1追記:1.10betaからBlender2.53betaへの書き出し対応
2013/2/23追記:1.2.0betaにバージョンアップを確認

Windows、Linux対応でWindows版はインストール版とZIP版があります。

基本的な操作などは有志の方が日本語訳されているWikiを御覧下さい。
って丸投げにしたら意味が無いので必須要素を解説していきます。

手順
素材映像の撮影→連番書き出し→Voodooで読み込み設定→トラッキング→各対応3Dソフトに書き出し
→3Dソフトで位置調整、3Dオブジェクトの配置→レンダリング→合成 という手順になります。

ステップ① 素材撮影
最低限おさえておきたいポイントとして
カメラが物理的移動をしていること。
当たり前ですがカメラが動かないとカメラの動きを抽出できません。

トラッキングポイントがある。
真っ白な廊下や暗闇などポイントが取れないシーンはそのままでは使い物になりません。
邪魔にならない程度にポイントを取れる物を置きましょう。詳細は次記事で。

速い動き、ブラーの強い映像を避ける。
これはトラッキングのポイントが拾えずエラーがでたり、
トラッキングに非常に時間がかかる原因となります。

ズームしない。
ズームをした素材も一応はトラッキングできますが正確なものは出にくいです。
これの詳細については後日の記事で書きたいと思います。

ボカさない。
一眼などでムービーを撮影するとその深度の浅い画が良いわけですが、マッチムーブを考慮すると
ポイントが拾えなくなってしまうので、トラッキングするには向かない素材です。
ただし、手動のトラッキングをすれば可能ですが始めのステップとしておすすめしません。

動くものを写さない。
市販のソフトでは人物などの動く物があった場合それ以外のポイントをトラッキングさせる事が
できますが、Voodooにはそのような機能がありません。そのため動く物があるとエラーの原因に
なり易いので、そのようなシーンは避けた方がいいでしょう。

グリッドの撮影。
最近のコンデジは非常に広角での撮影ができますが、広角で撮影した場合レンズの歪みが出て
真っ直ぐな柱が画面の端で歪んで見えたりします。これを取り除かないと正確かつ低エラーの
マッチムーブはできません。なので以下のように何でもいいので動画を撮影した時と同じ状態
のカメラでグリッドなどを撮影しておくといいです。(必ずしも始めから必要とは言いませんが
広角で撮影する場合やっておきたい操作です。)
Glid.jpgクリックで拡大(Gimp>フィルタ>下塗り>パターン>グリッドで制作)


カメラは良い方がトラッキングもしやすいですが、コンデジやムビー一眼、手始めとしては
Webカメラや、携帯動画でもOKです。(決して推奨ではありません。)
動画の長さは始めは長くて10秒程度におさえておきましょう。



ステップ② 素材の連番化
では撮影した素材を連番で書きだしましょう。After Effectsなどがあれば理想ですが、
みなさんがどのようなカメラでどんな形式で撮影したかわからないので一概には言えません。
レンズの歪みは、まず撮影したグリッドを読み込み、
After Effectsではエフェクト>ディストーション>レンズ補正で反転にチェックを入れ、
視界。の数値を調整してラインが真っ直ぐなるようにします。
あたりとして端の2点間を結ぶパスを引くと作業はしやすく精度が上がります。
PhotoshopCS5にはメーカーの(一般公表されていない)数値を元にしたレンズ補正機能があります。
これを使うとより正確な補正をかける事ができるかもしれません?

ここで出た数値をメインの動画に適応して歪みをとって連番で書きだせば作業終了です。
同じカメラでもズーム操作をすると歪みの値は変わるので注意してください。
Distort1.jpg

もし、After Effectsなんて持って無いと言う方Blenderでも対応出来ます。
一度Blenderで読み込める形式に素材を変換し、Node Editorで以下のようにノードをつなぎます。
手順はAfter Effectsと同じでグリッドを先に読み込んで数値を出して元動画に適応します。
Distort2.jpg

書き出しはTARGA、PNG、JPEGのいずれかの連番で!
マッチムーブを初めてされる方は、フレームレートの設定を間違って合成がずれる方がいます。
連番に動画を書き出す時点で、30や24等の切りの良いフレームレートに統一しておくと、
間違いが起こりにくいと思います。

※Voodooは連番の読み込み時日本語パスが入ると読み込めません。
 フォルダ、ファイル名はローマ字表記にしてください。



ステップ③ トラッキング
上記のようにデスクトップなどを含む日本語パスに注意して読み込みます。
読み込みはFile>Open>Sequence>Browseで連番の始めの素材を選択。
Start、Endでトラッキング範囲の指定。範囲を絞りたい場合変更。
Stepはトラッキングの精度。1ですべての画像を解析、2で1枚飛ばしで解析。基本1でOK!
Interlaceはインターレースがある場合変更。ただし、事前に取り除いていることが理想。
分からない場合はnotの設定。きちんと設定しておくと処理速度が早くなります。
Move Typeはカメラの動きの設定。三脚に乗せパンなどのシーンだとrotationそれ以外、通常は
free moveに設定します。
Sequence.jpg
OKを押すと連番が読み込まれます。
PCのスペックや、動画にもよりますが400フレームより長いとトラッキング時間が長くなったり、
エラーが出たり、結構メモリを消費するので途中で落ちたりするかもしれません。
かと言って短すぎると正確さがなくなりますので。

今回使用した動画



つずいてView>Camera Parameterの設定をしなければなりません。
取りあえずCamera ParameterのTypeで自分のトラッキングしたい動画のアスペクト比に
Aspect Ratioがなるようにします。
Focal Length,Film Backの2つが精度を上げるためには大切な数値です。
これは難しい話で長くなるので後日別の記事にします。
camera parameter


Typeを選んでOKで閉じます。そしてメイン画面の右下のTrackを押します。
これでいよいよトラッキングが始まります。
動画によってはかなり時間がかかってしまう場合があります。数分~
これはある程度はフリーソフトと言う事で我慢して待ちましょう。

voodoo01.jpg
このように緑のポイントでトラッキングできていればOKです。赤はエラー

View>3D Scene Viewerでどのようにポイントが取れているが分かります。
I,O,Pキー+マウスでビューの操作ができます。詳細はWiki参照。
もしこのときカメラの後ろなどにポイントが出来ていたりした場合、うまくトラッキングが出来て
いないことになります。これは先程省略した数値を入力する事で大きく結果にひびくのですが、
次回の記事で詳細を書きます。
voodoo02.jpg


File>Saveからそれぞれ自分の使いたい3Dソフトを選んで書きだします。
Export allだとすべてのポイントが書き出されます。
Limit the number toで書き出すポイントの数を制限できます。
ポイント数が多いいと3D空間で3Dのオブジェクトを構築しやすいです。
しかし、3Dソフトによっては見にくかったり処理が重くなるので適度制御してください。
書き出しの時も日本語パスには気をつけてください。
Export.jpg



ステップ④ 3Dソフトに読み込み、設定
書き出したデータの読み込み。
Blender>Text Editor>Text>Openで書き出した.pyのパイソンファイルを開く。
Text>Run Python Scriptでスクリプトの実行。
このときシーンにあるカメラやライト、オブジェクトは消しておいた方が作業がしやすいです。

3dsMAX>MAX Script>スクリプトを起動。書き出した.msファイルを選ぶ又は直接ドラッグ&ドロップ。

MAYA>ファイル>シーンを開く。書き出した.maファイルを選ぶ又は直接ドラッグ&ドロップ。

今回はBlnderをメインにして書いていきますが、作業としては3dsMAX、MAYAでも基本同じです。
使用したBlenderは2.49bです。
読み込むとカメラ(voodoo_cam)、トラッキングポイント、そしてvoodoo_sceneと言う名前
(MAYAはvoodoo_scene_shape)のポイントがカメラの近くに出来ていると思います。
Blender01.jpg Blender
max01.jpg MAX
maya01.jpg MAYA(8.5PLE)

まずFormat(レンダリングサイズ)の設定。Sizeは元の使用動画(連番)に合わせて。
フレームレート(FPS)は重要な設定項目です。今回は30フレームに統一しようと思います。
Blender03.jpg
 
次に下絵に連番素材を読み込みます。
Blender02.jpg
View>Background Image>Use Background Image>Load>連番の一番目を選択
>Sequence>Framesでフレーム数を入力>Auto Refreshにチェック。
うまく表示されない場合再度読み込んでSequenceに切り替えると大丈夫だと思います。
これで実際のポイントと、トレッキングポイントが一致しているのがわかると思います。
(MAXは、カスタマイズ>基本設定>ビューポート>再生中にバックグラウンドを更新。にチェック!)

次に実際の地面と、3D空間の地面をあわせます。
わかりやすくするため、地面のポイントに合わせて面を張ります。
Blender04.jpg

すると取り込んだカメラがどれだけずれているか、わかると思います。
Blender05.jpg

カメラなどはvoodoo_sceneに親子関係のリンクが設定されているので、voodoo_sceneを
移動回転して地面を3Dのシーンに合わせます。
Blender06.jpg
この操作をする事で、地面に接地したオブジェクトを配置する場合配置しやすくなります。
またライティング等も正確に行えます。
市販マッチムーブソフトでは大抵半自動でしてくれる作業ですがVoodooは手動で合わせます。
今回面を貼ってますが、ポイントを見て判断できれば、必ず貼る必要はありません。

ではオブジェクトを配置してみましょう!
Blender07.jpg
取りあえずこれで簡単なライティングをし合成してみましょう。
レンダリングしてAfter Effects等で合成するのが一般的ですが、ここまでBlenderを使ってきたので
フィニッシュまでBlenderで行きましょう!!

コンポジットノードを使用。
彩度を落として、非常に簡単な色調補正を掛けていますがこれは無くても問題は無いです。
Blender08.jpg
後はレンダリングをして完成です。うまくいけましたでしょうか?
もしうまくトラッキングできなかった場合次の記事が参考になるかもしれません。




非常に長くなりましたがVoodooを使用した本当に基本的な作業手順でした!
次は焦点距離、精度を上げるポイントなどについて書いていきます。
関連記事

コメント

blenderの使い方

どうもこんにちは
自分はマッチムーブに興味があり、
チャレンジしようと模索していたところこちらのサイト様にたどり着いたのですが、
いかんせん3Dソフトなるものはメタセコイアしか使ったことが無く
Blenderの使い方がよく分かりません。
それで詰まっているのが
"ステップ② 素材の連番化"
です(汗

一応自力でnode editorを開くところまでは出来たのですが、
そこからが全く分からなく。
調べてもnode editorでどうすればいいのかが分からないので、
調べようが無く立ち往生状態です(泣


もしよろしければもう少し詳しく教えていただけると嬉しいです。

  • 2012/08/20(月) 16:35:09 |
  • URL |
  • ぴぼっと #eYj5zAx6
  • [ 編集 ]

Re: blenderの使い方

コメントありがとうございます。
記事自体がBlender2.49をベースで書いているため最新の2.63などとは操作性が違うのでわかりにくいかもしてませんね・・・
最新のバージョンではBlender単体でもマッチムーブ、トラッキングも可能にはなっています。

さて、連番化ですがノードのつなぎ方は本文内の画像と基本的に変わりません。
2.63でのやり方です。(英語版での説明になりますが日本語化もできますので調べてみてください。)
Image(input nude)で動画を読み込み、Composite(始めから表示されているはずです)ノードにつなぎます。
※レンズの歪みが大きければレンズの歪み修正をやったほうが良いですがしなくても取り敢えずはトラッキングできます。
あとはレンダー設定(デフォルトだと右側にカメラのアイコンのタブがあるはずです。)をします
Dimensionsで解像度の設定、Outputで書き出し場所、画像形式の設定をします。
あとは一番上のAnimetionでレンダリングすると設定した場所に書きだされます。

近々Blender内のトラッカーを使ったマッチムーブの記事を書くかもしれません?
また、こちらのブログ内で記事で言うと以下の記事がBlenderの基本的な説明になると思います。
http://cgcompo.blog134.fc2.com/blog-entry-24.html
http://cgcompo.blog134.fc2.com/blog-entry-31.html

もっと色々なチュートリアルはあるので是非探してみてください。

※さて、2.63でのやり方を書きましたが、Voodooのカメラデータの読み込みは2.49でないとできませんのでご注意ください・・・
2.49でデータを読み込んで保存後は2.63でも開けます。
2.49ダウンロード先
http://download.blender.org/release/Blender2.49b/

また何か不明点あればコメントいただければと思います。

  • 2012/08/21(火) 00:48:30 |
  • URL |
  • kurono73 #-
  • [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://cgcompo.blog134.fc2.com/tb.php/2-a372887d
この記事にトラックバックする(FC2ブログユーザー)
; //

FC2Ad

//

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。