日々適当

hibitekitou

トラッキング情報をSIに持って行ってみる

xsi |2012-05-17
junkiさんによる素敵ツール、アエとXSIを使います。

AE用のスクリプト(アエと何か:作者はまた別の方だそうです)とSIのaddon(アエとXSI)のセットですな。

とりあえず、書き出すための下準備をします。カメラのズーム値と回転情報をカメラとは別のレイヤーの適当なチャンネルに設定します。
まずは回転。ヌルを作り、そいつの回転にカメラの方向と関連付けたエクスプレッション設定します。



でもって、そのエクスプレッションをキーフレームに変換するコマンドを実行します。回転の各軸ごとに選択してコマンド実行っすね。



そうすると、全フレームにキーフレームが打たれます。下図ではエクスプレッションが残っていますが、これは削除しちゃいましょう。



カメラのズームの値は、別レイヤーのヌルの位置のxにでもコピペしてやります(画角が固定の場合、これを記録しておく必要はないでしょう)。



以上で書き出す準備は完了です。書き出すレイヤーを全部選択し、スクリプトを実行します。



書き出されるテキストファイルは、Mac版AEで出力すると改行コードがCRになっちゃうんで、CR+LFに変換してやります。
その上で、SI側でアエとXSIを実行し、そのテキストファイルを読み込みます。



読み込まれた結果、AEのレイヤーはNullに置き換えられ、階層は下図のようになります。



AEのカメラの回転情報を収めたNullを、AEのカメラレイヤー由来のNullの子供にしてやり、その下にSIのカメラを置いてやります。



この時、カメラのローカルのSRT値のRとTが全部0になっているようにしませう(親のNullと同じ位置、回転になるように。)
その上で、回転値が入っているNullのローテーションオーダーをSIデフォルトのXYZからZXYに変更します。



これでカメラの位置と回転情報は渡ってきました。続いて画角です。AEのズーム値ですけど、今回はiPhoneで撮影したムービーなので画角は固定ってことで、AEから持ってきたものは使わずにAE上で表示されていた値、1933.0pixel(21.1°H)の21.1って値を水平画角に入れてやります。

ちなみにAEにてヌルにコピペしたAEのズーム値ですが、この値と画角の関係はリニアになっているはずなので、SIでのエクスプレッションで対応可能だと思いますが、その関係は分かっておりません。ただ、値を取り出す事は出来るはずってことで、ズーム値のコピペという手順を踏んでみました。

以上です。

とりあえず、このムービーについてはこれでカメラを持ってこれましたですよ。




もっとも、例えばこのムービーで正座している人は、ワールドの空間内の水平な面に座っている事にしたいわけですが、AEから渡ってきたカメラですと、その面は手前におおきく傾いています。また、座っている位置はYが0であると楽ですね(でも、そう設定は出来ない、みたい)。あるいは、トラックする映像のここからここはこれだけの大きさを持っているといった設定も出来ないように見えます(空間の大きさを任意に決定することが出来ない)。外にカメラデータを持ちだすには、ちょっと嫌な感じかもしれませんね。
まぁしかし、それでもAE内で完結するならあんまり問題にならないかもですし、外に持ち出すにしても、相当お手軽なので、これは良い機能追加なんじゃないかって思いました。
コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。