CameraMatchCam2

CINEMA 4DおよびBodyPaint 3Dに関する一般的な議論や情報交換をするフォーラムです。

CameraMatchCam2

投稿記事by tofuji » 火 11 29, 2011 10:08 pm

 こんにちは冨士です。

 写真に3Dシーンを合わせるためのカメラ「CameraMatchCam2」をR12用にアップデートしました。

http://www2.11moon.com/sample_files/201 ... Cam130.zip


---

CameraMatchCam2について


2004.4.23/11th moon/Toshio Fuji<gtofuji@gmail.com>
2004.4.23: ver. 1.01 release.
2004.5.7: ver. 1.10 「Auto..」ボタンを追加。「Reset」ボタンを追加。自動調整
 アルゴリズムを改良
2011.11.29 ver.1.30
CameraMatchCam2、R12に最適化、焦点距離は手動に固定、



1. 機能

 CameraMatchCam2は、「背景画像」に対して「3Dシーン」が一致するように、カ
メラの位置と角度を自動的に変更します。焦点距離やフィルムオフセットはエディタを見
ながら手動で変えて下さい。

 CameraMatchCam2は、背景画像とシーンの誤差を「Total_error」に表示します。



2. 動作原理

a. まず、CameraMatchCam2を働かせる前に、8個の2Dマーカーと3Dマーカーを配
置する必要があります。2Dマーカーは、「背景画像」の中のアンカーポイント(基準
点。建物の角等)に合わせます。3Dマーカーは、「3Dシーン」の中のアンカーポイント
に合わせます。

b. 次に、CameraMatchCam2は、1フレームごとにカメラに小さな移動と回転を与え
ます。

c. 次に、CameraMatchCam2は、2Dマーカーと3Dマーカーの角度誤差を調べます。
そして、誤差が小さくなっている場合は、次のフレームでの移動や回転の値を大きくしま
す。また、誤差が大きくなっている場合は、移動や角度の値を小さくし、値を反転しま
す。



3. 使い方

a. まず「CameraMatchCam2」オブジェクトを作業中のシーンにコピーしてくださ
い。CameraMatchCam2は、「CM_cam」オブジェクトに付いているXPressoタグの
ユーザーデータを使ってコントロールします。

 マーカーを配置している間は、「Use」のチェックを外し、XPressoの働きを止めてお
いて下さい。


b. 次に、「背景画像」を「BK」マテリアルに読み込んでください。そして、「レンダ
リング設定 -> 出力 -> 解像度」の値を、背景画像にと同じ「縦横比」に変更してくださ
い。

 背景画像が歪んでいると正しい結果は得られません。もしズームレンズ等歪みの大きい
レンズを使って撮影した場合は、作業を始める前に歪みを取って下さい。


c. 次に、「背景画像」に対応する「3Dシーン」を作成してください。3Dシーンは、
3Dターゲットを指定するために使うので、簡単な形状で構いません。ただし正確に作る
必要があります。

 アンカーポイントとしては、例えば「敷地境界線の角」、「位置が正確に判っている建
物の角」などが適しています。もし、適切なアンカーポイントがない場合は、現地でマー
カーを追加し、その位置を正確に測定しておいて下さい。もちろん背景画像にはこのマー
カーを写っている必要があります。

 アンカーポイントの位置は、画面いっぱいに広がった立方体の頂点とすることが理想で
す。なるべくこれに近くなるように、8個のマーカーを配置して下さい。


d. 次に、「CM_cam」の位置と角度を、背景画像におおまかに合わせて下さい。そし
て、スナップ設定で3Dスナップ機能を働かせ、「ポイント」オプションを有効にしま
す。そして、「3D_targets」オブジェクトの下に入っている8個のヌルオブジェクト
を、c.で作成した「3Dシーン」のアンカーポイントにスナップさせて下さい。


e. 次に、スナップ機能をオフにします。そして、「2D_targets」オブジェクトの下に
入っている8個のヌルオブジェクトを、b.で読み込んだ「背景画像」の中のアンカーポイ
ントに合わせて下さい。

 この時、2Dターゲットと3Dターゲットの色が合うように注意して下さい。
 

f. これで作業は終了です。「Use」をチェックし、アニメーションプレビューをスター
トさせると、CameraMatchCam2が働き、自動的に背景画像とシーンが一致するはずで
す。



4. 誤差の判定と手動による調整

a. CameraMatchCam2の動作中、属性マネージャの「Total_error」に誤差の大きさ
が表示されます。この値が完全に0になることはありませんが、「1」を切れば実用上十
分な精度で「背景画像」と「3Dシーン」が一致したと言えます。


b. もし、誤差の値が1以下にならない場合は、「Focal_Length」の値を変えてみて下
さい。


c. もし、「Focal_Length」の値を変えても誤差が1以下にならない場合は、「背景画
像にあおりがかかっている(トリミングされている)」可能性があります。この場合は、
「Film_Offset_X, Y」の値を手動で調整して下さい。


d. もし、フィルムオフセットを変えても誤差の値が1以下にならない場合は、「3Dシー
ン」が狂っている可能性があります。もし図面から3Dシーンを起こしている場合は、現
地に行って実測して下さい。図面は信用できません。


e. もし、正しい3Dシーンを使っても誤差の値が1以下にならない場合は、「背景画像」
が大きく歪んでいる可能性があります。この場合は、デジタル一眼レフカメラに単焦点の
レンズを付けて写真を撮り直すことをお勧めします。
---

Toshio Fuji<gtofuji@gmail.com>

掲示板に書いたサンプルのまとめサイト
http://www2.11moon.com/index_as.html
tofuji
 
記事: 803
登録日時: 木 3 10, 2011 10:41 am
お住まい: 東京都渋谷区

Return to ユーザフォーラム

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[2人]